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> ... ]
Copy

Onde:

accountProperties ::=
    LOGIN_IDP_REDIRECT = ( <interface> = <security_integration> [ , ... ] )
    OBJECT_VISIBILITY = { <object_visibility_spec> | PRIVILEGED }
Copy
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' }
Copy
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>
Copy
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>
Copy

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
Copy

Account properties

You can set the following properties for the current account.

SET property

Specifies 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_integration

Specifies 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
    $$
    
    Copy

    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>
    $$
    
    Copy

    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 que account é 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 property

Reverts 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_name

Parâ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 USERS aplica a política a usuários com a propriedade TYPE definida como NULL ou PERSON.

A cláusula FOR ALL SERVICE USERS aplica a política a usuários com a propriedade TYPE definida como SERVICE ou LEGACY_SERVICE.

Se você não especificar FOR ALL SERVICE USERS ou FOR 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 USERS ou FOR 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 APPLICATIONS

Desativa 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 USERS ou FOR ALL PERSON USERS restringe 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 } POLICY

Desativa 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.

name

Especifica o nome da conta que está sendo modificada.

SET

Especifica 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 FALSE na 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_name

Muda 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 TO que 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 como FALSE, você deve usar a nova URL para acessar a conta.

Padrão:

TRUE

DROP OLD URL

Remove 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 URL

Remove 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;
Copy

Desativar as concessões de privilégios de usuário:

ALTER ACCOUNT SET DISABLE_USER_PRIVILEGE_GRANTS = TRUE;
Copy

Remover a associação da política de redes de sua conta:

ALTER ACCOUNT UNSET NETWORK_POLICY;
Copy

Defina a política de pacotes no nível da conta.

ALTER ACCOUNT SET PACKAGES POLICY packages_policy_prod_1 FORCE;
Copy

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;
Copy