ALTER ACCOUNT¶
Modifica uma conta. O comando ALTER ACCOUNT tem dois propósitos:
Permite que administradores de conta (ou seja, usuários com a função ACCOUNTADMIN) para modificar parâmetros e outras configurações no nível da conta. Por exemplo, o administrador da conta pode definir o monitor de recursos ou habilitar um recurso de segurança para uma conta. Para essas ações, o administrador da conta executa ALTER ACCOUNT da conta que está sendo modificada.
Permite que os administradores da organização modifiquem as principais características de uma conta. Por exemplo, o administrador da organização pode renomear uma conta. Para essas ações, o administrador da organização executa ALTER ACCOUNT de uma conta diferente daquela que está sendo modificada.
Nota
Enquanto ALTER ACCOUNT é executado principalmente por administradores de contas e administradores de organizações, usuários com a função SECURITYADMIN podem usá-lo para definir a política de redes para a conta.
Sintaxe¶
A sintaxe para ALTER ACCOUNT varia dependendo se você está modificando a conta atual ou uma conta diferente.
Alteração da conta atual¶
ALTER ACCOUNT SET { [ accountProperties ] | [ accountParams ] | [ objectParams ] | [ sessionParams ] }
ALTER ACCOUNT UNSET <param_name> [ , ... ]
ALTER ACCOUNT SET RESOURCE_MONITOR = <monitor_name>
ALTER ACCOUNT ADD ORGANIZATION USER GROUP <group_name>
ALTER ACCOUNT REMOVE ORGANIZATION USER GROUP <group_name>
ALTER ACCOUNT SET { AUTHENTICATION | SESSION } POLICY <policy_name> [ { FOR ALL PERSON USERS | FOR ALL SERVICE USERS } ] [ FORCE ]
ALTER ACCOUNT UNSET { AUTHENTICATION | SESSION } POLICY [ { FOR ALL PERSON USERS | FOR ALL SERVICE USERS } ]
ALTER ACCOUNT SET FEATURE POLICY <policy_name> FOR ALL APPLICATIONS [ FORCE ]
ALTER ACCOUNT UNSET FEATURE POLICY FOR ALL APPLICATIONS
ALTER ACCOUNT SET { PACKAGES | PASSWORD } POLICY <policy_name> [ FORCE ]
ALTER ACCOUNT UNSET { PACKAGES | PASSWORD } POLICY
ALTER ACCOUNT SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER ACCOUNT UNSET TAG <tag_name> [ , <tag_name> ... ]
Onde:
accountProperties ::=
LOGIN_IDP_REDIRECT = ( <interface> = <security_integration> [ , ... ] )
OBJECT_VISIBILITY = { <object_visibility_spec> | PRIVILEGED }
accountParams ::=
ALLOW_ID_TOKEN = TRUE | FALSE
CLIENT_ENCRYPTION_KEY_SIZE = <integer>
CORTEX_ENABLED_CROSS_REGION = { 'DISABLED' | 'ANY_REGION' | '<list_of_regions>' }
DISABLE_USER_PRIVILEGE_GRANTS = TRUE | FALSE
ENABLE_EGRESS_COST_OPTIMIZER = TRUE | FALSE
ENABLE_INTERNAL_STAGES_PRIVATELINK = TRUE | FALSE
ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES = TRUE | FALSE
ENABLE_NOTEBOOK_CREATION_IN_PERSONAL_DB = TRUE | FALSE
ENABLE_SPCS_BLOCK_STORAGE_SNOWFLAKE_FULL_ENCRYPTION_ENFORCEMENT = TRUE | FALSE
EXTERNAL_OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = TRUE | FALSE
INITIAL_REPLICATION_SIZE_LIMIT_IN_TB = <num>
LISTING_AUTO_FULFILLMENT_REPLICATION_REFRESH_SCHEDULE = <schedule>
LLM_INFERENCE_PARSE_DOCUMENT_PRESIGNED_URL_EXPIRY_SECONDS = <integer>
NETWORK_POLICY = <string>
OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = TRUE | FALSE
PERIODIC_DATA_REKEYING = TRUE | FALSE
READ_CONSISTENCY_MODE = 'SESSION' | 'GLOBAL'
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION = TRUE | FALSE
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION = TRUE | FALSE
SAML_IDENTITY_PROVIDER = <json_object>
SQL_TRACE_QUERY_TEXT = ON | OFF
SSO_LOGIN_PAGE = TRUE | FALSE
USE_WORKSPACES_FOR_SQL = { 'always' | 'never' }
objectParams ::=
BASE_LOCATION_PREFIX = '<string>'
CATALOG = <catalog_integration_name>
CATALOG_SYNC = '<snowflake_open_catalog_integration_name>'
CORTEX_MODELS_ALLOWLIST = {'<list_of_models>' | 'ALL' | 'NONE'}
DATA_RETENTION_TIME_IN_DAYS = <integer>
DEFAULT_DDL_COLLATION = '<collation_specification>'
DEFAULT_NOTEBOOK_COMPUTE_POOL_CPU = <compute_pool_name>
DEFAULT_NOTEBOOK_COMPUTE_POOL_GPU = <compute_pool_name>
DEFAULT_STREAMLIT_NOTEBOOK_WAREHOUSE = <warehouse_name>
ENABLE_DATA_COMPACTION = { TRUE | FALSE }
ENABLE_TAG_PROPAGATION_EVENT_LOGGING = TRUE | FALSE
ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR = TRUE | FALSE
ENABLE_UNREDACTED_SECURE_OBJECT_ERROR = TRUE | FALSE
EVENT_TABLE = <string>
EXTERNAL_VOLUME = <external_volume_name>
LOG_LEVEL = <string>
MAX_CONCURRENCY_LEVEL = <num>
MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer>
METRIC_LEVEL = <string>
NETWORK_POLICY = <string>
PIPE_EXECUTION_PAUSED = TRUE | FALSE
PREVENT_UNLOAD_TO_INLINE_URL = TRUE | FALSE
PREVENT_UNLOAD_TO_INTERNAL_STAGES = TRUE | FALSE
REPLACE_INVALID_CHARACTERS = TRUE | FALSE
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
STATEMENT_TIMEOUT_IN_SECONDS = <num>
STORAGE_SERIALIZATION_POLICY = COMPATIBLE | OPTIMIZED
TRACE_LEVEL = <string>
sessionParams ::=
ABORT_DETACHED_QUERY = TRUE | FALSE
AUTOCOMMIT = TRUE | FALSE
BINARY_INPUT_FORMAT = <string>
BINARY_OUTPUT_FORMAT = <string>
DATE_INPUT_FORMAT = <string>
DATE_OUTPUT_FORMAT = <string>
DEFAULT_NULL_ORDERING = <string>
ENABLE_GET_DDL_USE_DATA_TYPE_ALIAS = TRUE | FALSE
ERROR_ON_NONDETERMINISTIC_MERGE = TRUE | FALSE
ERROR_ON_NONDETERMINISTIC_UPDATE = TRUE | FALSE
JSON_INDENT = <num>
LOCK_TIMEOUT = <num>
QUERY_TAG = <string>
ROWS_PER_RESULTSET = <num>
S3_STAGE_VPCE_DNS_NAME = <string>
SEARCH_PATH = <string>
SIMULATED_DATA_SHARING_CONSUMER = <string>
STATEMENT_TIMEOUT_IN_SECONDS = <num>
STRICT_JSON_OUTPUT = TRUE | FALSE
TIMESTAMP_DAY_IS_ALWAYS_24H = TRUE | FALSE
TIMESTAMP_INPUT_FORMAT = <string>
TIMESTAMP_LTZ_OUTPUT_FORMAT = <string>
TIMESTAMP_NTZ_OUTPUT_FORMAT = <string>
TIMESTAMP_OUTPUT_FORMAT = <string>
TIMESTAMP_TYPE_MAPPING = <string>
TIMESTAMP_TZ_OUTPUT_FORMAT = <string>
TIMEZONE = <string>
TIME_INPUT_FORMAT = <string>
TIME_OUTPUT_FORMAT = <string>
TRANSACTION_DEFAULT_ISOLATION_LEVEL = <string>
TWO_DIGIT_CENTURY_START = <num>
UNSUPPORTED_DDL_ACTION = <string>
USE_CACHED_RESULT = TRUE | FALSE
WEEK_OF_YEAR_POLICY = <num>
WEEK_START = <num>
Nota
Para fins de legibilidade, a lista completa de parâmetros de sessão que podem ser definidos para uma conta não está incluída aqui. Para uma lista completa de todos os parâmetros de sessão com suas descrições, bem como parâmetros de conta e objeto, consulte Parâmetros.
Alteração de uma conta diferente¶
ALTER ACCOUNT <name> SET IS_ORG_ADMIN = { TRUE | FALSE }
ALTER ACCOUNT <name> RENAME TO <new_name> [ SAVE_OLD_URL = { TRUE | FALSE } ]
ALTER ACCOUNT <name> DROP OLD URL
ALTER ACCOUNT <name> DROP OLD ORGANIZATION URL
Account properties¶
You can set the following properties for the current account.
SET propertySpecifies a property to set for your account:
LOGIN_IDP_REDIRECT = ( interface = security_integration [ , ... ] )Specifies a mapping between Snowflake interfaces and SAML security integrations. SAML security integrations are used to implement single sign-on (SSO) authentication. If an interface is mapped to a SAML security integration, then users who access the interface are redirected to the third-party identity provider (IdP) to authenticate; they never see the Snowflake login screen.
If you don’t want interface users automatically redirected to an IdP, specify
interface = NULL. Possible interfaces are:
DEFAULT = security_integrationSpecifies the default security integration. Unless overridden by another interface-to-integration mapping, users are automatically directed to the integration’s IdP when they access any Snowflake interface. Use this mapping to define the security integration for Snowsight.
Default: Empty list
( )OBJECT_VISIBILITY = {object_visibility_spec | PRIVILEGED }Especifica a visibilidade dos objetos na conta, que controla a detectabilidade dos objetos e permite que usuários sem privilégios de acesso explícitos encontrem objetos e solicitem acesso.
Uma especificação YAML do descrevendo a visibilidade em um dos seguintes formatos:
$$ organization_targets: - all_accounts_including_external $$Ou
$$ organization_targets: - account: <account_name_1> - account: <account_name_2> - ... - organization_user_group: <org_user_group_1> - organization_user_group: <org_user_group_2> $$Na sintaxe acima:
all_accounts_including_external: Especifica que todos os usuários em todas as contas da organização podem ver o objeto. Isto inclui todas as contas dentro da organização, mesmo aquelas às quais partes externas possam ter recebido acesso, tais como contas de leitor.
account: account_name: Especifica que todos os usuários da conta especificada podem ver o objeto. Você pode especificar várias contas. Observe queaccounté o nome da conta, não o localizador da conta. Você deve especificar apenas o nome da conta, excluindo o nome da organização.09-22
organization_user_group: org_user_group: Especifica que o especificado grupo de usuários da organização pode ver o objeto em todas as contas da organização onde o o grupo de usuários da organização foi importado.
PRIVILEGED: Especifica que somente as funções dentro da conta atual que recebem um privilégio explícito no objeto podem ver o objeto. Este é o comportamento padrão no Snowflake.Para exemplos, consulte Tornar objetos de banco de dados detectáveis no Universal Search.
Padrão:
'PRIVILEGED'
UNSET propertyReverts the specified account property to its default.
Parâmetros para alterar a conta atual¶
Use os seguintes parâmetros ao modificar a conta atual.
Para obter mais informações sobre a definição de parâmetros no nível da conta, consulte Gerenciamento de parâmetros. Para obter detalhes sobre um parâmetro específico, consulte Parâmetros.
SET ...Especifica uma (ou mais) conta, sessão, parâmetros de objeto e propriedades de objeto a serem definidos para sua conta (separados por espaços em branco, vírgulas ou novas linhas):
Os parâmetros da conta não podem ser alterados por nenhum outro usuário.
Os parâmetros de sessão e objeto definidos no nível de conta servem apenas como padrão e podem ser alterados por outros usuários.
Para descrições dos parâmetros que você pode definir para sua conta, consulte Parâmetros.
UNSET ...Especifica um (ou mais) parâmetro de conta, sessão e objeto a ser removido de sua conta, o que os restaura aos padrões do sistema.
Você pode redefinir várias propriedades com uma única instrução ALTER; no entanto, cada propriedade deve ser separada por uma vírgula. Ao redefinir uma propriedade/parâmetro, especificar somente o nome; especificar um valor para a propriedade retornará um erro.
SET RESOURCE_MONITOR resource_monitor_nameParâmetro especial que especifica o nome do monitor de recursos utilizado para controlar todos os warehouses virtuais criados na conta.
Importante
A definição de um monitor de recursos no nível de conta não afeta nenhum dos warehouses fornecidos pelo Snowflake que o Snowflake utiliza para Snowpipe, reclustering automático ou exibições materializadas. Os créditos consumidos por esses warehouses não contam para a cota de crédito de um monitor de recursos em nível de conta.
Para obter mais detalhes, consulte Como trabalhar com monitores de recursos.
ADD ORGANIZATION USER GROUP group_name-
Importa um grupo de usuários da organização para a conta. Os usuários da organização no grupo são adicionados à conta como objetos de usuário.
REMOVE ORGANIZATION USER GROUP group_name-
Remove um grupo de usuários da organização da conta.
SET { AUTHENTICATION | SESSION } POLICY policy_name [ { FOR ALL PERSON USERS | FOR ALL SERVICE USERS } ] [ FORCE ]Especifica a política de autenticação ou a política de sessão para a conta.
A cláusula
FOR ALL PERSON USERSaplica a política a usuários com a propriedade TYPE definida como NULL ou PERSON.A cláusula
FOR ALL SERVICE USERSaplica a política a usuários com a propriedade TYPE definida como SERVICE ou LEGACY_SERVICE.Se você não especificar
FOR ALL SERVICE USERSouFOR ALL PERSON USERS, a política será aplicada a todos os usuários da conta.Se você definir explicitamente uma política para um usuário ou tipo de usuário específico, ela terá precedência sobre uma política aplicada a
FOR ALL SERVICE USERSouFOR ALL PERSON USERS.Se você especificar FORCE, as políticas definidas para usuários ou tipos de usuários específicos serão substituídas. Use isso se não quiser remover a definição de políticas.
Se uma política já estiver definida na conta atual, você poderá usar FORCE para defini-la sem precisar remover a definição da política existente primeiro.
SET FEATURE POLICY policy_name FOR ALL APPLICATIONS [ FORCE ]Especifica a política de recursos a ser definida para a conta. Se uma política de recursos já estiver definida na conta atual, você pode usar o FORCE para definir a política de recursos sem precisar desmarcá-la primeiro.
UNSET FEATURE POLICY FOR ALL APPLICATIONSDesativa a política de recursos da conta.
Se você já tiver definido uma política na conta atual, poderá especificar FORCE para defini-la sem precisar remover a definição de uma política existente primeiro.
UNSET { AUTHENTICATION | SESSION } POLICY [ FOR ALL PERSON USERS | FOR ALL SERVICE USERS ]Desativa a política de autenticação ou da política de sessão para a conta.
Especificar
FOR ALL SERVICE USERSouFOR ALL PERSON USERSrestringe o escopo do comando; a política é removida apenas do tipo de usuário especificado, em vez de todos os usuários da conta.SET PACKAGES | PASSWORD POLICY policy_name [ FORCE ]Especifica a política de pacotes ou a política de senhas para a conta.
Se você já tiver definido uma política na conta atual, poderá especificar FORCE para defini-la sem precisar remover a definição de uma política existente primeiro.
UNSET { PACKAGES | PASSWORD } POLICYDesativa a política de pacotes ou a política de senhas para a conta.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter informações sobre como especificar tags em uma instrução, consulte Cotas de tags.
Parâmetros para alterar uma conta diferente¶
Use os parâmetros a seguir ao usar a conta atual para modificar uma conta diferente. Somente os administradores da organização podem usar esses parâmetros.
nameEspecifica o nome da conta que está sendo modificada.
SETEspecifica uma propriedade de conta a ser definida para a conta.
IS_ORG_ADMIN = { TRUE | FALSE }Define uma propriedade de conta que determina se a função ORGADMIN está habilitada na conta.
Nota
O uso da função ORGADMIN em uma conta normal está sendo eliminado gradualmente. Os administradores da organização devem usar a conta da organização para concluir as tarefas em nível de organização.
Para ativar a função ORGADMIN para uma conta, especifique
SET IS_ORG_ADMIN = TRUE.Você não pode definir a propriedade como
FALSEna conta atual. Como solução alternativa, ative a função em uma conta diferente e alterne para essa conta antes de executar o comando ALTER ACCOUNT.Por padrão, a função ORGADMIN pode ser habilitada em, no máximo, 8 contas. Se sua organização precisar de mais contas com a função ORGADMIN, entre em contato com o suporte Snowflake.
RENAME TO new_nameMuda o nome de uma conta para o nome especificado.
Os administradores da organização não podem renomear uma conta enquanto estiverem logados nela, portanto devem logar em uma conta diferente antes de executar o comando ALTER ACCOUNT. Se sua organização consiste em uma única conta que precisa ser renomeada, entre em contato com o suporte Snowflake.
SAVE_OLD_URL = { TRUE | FALSE }Parâmetro opcional utilizado em conjunto com
RENAME TOque preserva a URL da conta usada para acessar o Snowflake antes da renomeação. Por padrão, o Snowflake salva a URL original, o que significa que você pode acessar a conta com a URL antiga ou a URL que contém o novo nome da conta. Quando definido comoFALSE, você deve usar a nova URL para acessar a conta.- Padrão:
TRUE
DROP OLD URLRemove o URL da conta original de uma conta que foi renomeada. Depois que a URL antiga é removida, você deve acessar a conta com a URL que contém o novo nome da conta.
Se uma conta tiver um URL de conta antigo porque foi movida para outra organização, tiver sua organização renomeada ou fizer parte de uma organização que foi fundida, use ALTER ACCOUNT… DROP OLD ORGANIZATION URL em vez disso.
DROP OLD ORGANIZATION URLRemove o URL da conta original de uma conta após ocorrer uma das seguintes opções:
Conta movida para outra organização
A conta teve sua organização renomeada.
A conta fazia parte de uma organização que foi fundida com outra organização.
Se uma conta tiver um URL de conta antiga porque a conta, e não a organização, foi renomeada, use o comando ALTER ACCOUNT … DROP OLD URL.
Notas de uso¶
Os parâmetros da conta podem ser definidos apenas no nível da conta.
Os parâmetros de sessão e objeto que são definidos usando este comando servem apenas como padrão:
Os parâmetros do usuário podem ser anulados no nível de usuário individual.
Os parâmetros da sessão podem ser anulados em nível de usuário individual e de sessão.
Os parâmetros do objeto podem ser anulados no nível do objeto individual.
A definição de um monitor de recursos no nível de conta controla o uso de crédito para todos os warehouses virtuais criados na conta, mas não afeta o uso do crédito para nenhum dos warehouses fornecidos pelo Snowflake. Para obter mais detalhes, consulte Como trabalhar com monitores de recursos.
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
Associar uma política de redes chamada mypolicy à sua conta:
ALTER ACCOUNT SET NETWORK_POLICY = mypolicy;
Desativar as concessões de privilégios de usuário:
ALTER ACCOUNT SET DISABLE_USER_PRIVILEGE_GRANTS = TRUE;
Remover a associação da política de redes de sua conta:
ALTER ACCOUNT UNSET NETWORK_POLICY;
Defina a política de pacotes no nível da conta.
ALTER ACCOUNT SET PACKAGES POLICY packages_policy_prod_1 FORCE;Nota
Se uma política de pacotes já estiver definida na conta atual, você poderá usar FORCE para definir a política de pacotes sem precisar cancelar a definição da política de pacotes primeiro.
Desative a política de pacotes.
ALTER ACCOUNT UNSET PACKAGES POLICY;
