ALTER ACCOUNT

Modifie un compte. La commande ALTER ACCOUNT a deux objectifs :

  • Permet aux administrateurs de comptes (c’est-à-dire, aux utilisateurs ayant le rôle ACCOUNTADMIN) de modifier les paramètres et d’autres paramètres au niveau du compte. Par exemple, l’administrateur de comptes peut définir le moniteur de ressources ou activer une fonction de sécurité pour un compte. Pour ces actions, l’administrateur de comptes exécute ALTER ACCOUNT à partir du compte en cours de modification.

  • Permet aux administrateurs de l’organisation de modifier les caractéristiques principales d’un compte. Par exemple, l’administrateur de l’organisation peut renommer un compte. Pour ces actions, l’administrateur de l’organisation exécute ALTER ACCOUNT à partir d’un compte différent de celui en cours de modification.

Note

Bien que ALTER ACCOUNT soit principalement exécuté par les administrateurs de comptes et les administrateurs d’organisations, les utilisateurs ayant le rôle SECURITYADMIN peuvent l’utiliser pour définir la politique réseau du compte.

Syntaxe

La syntaxe de ALTER ACCOUNT varie selon que vous modifiez le compte actuel ou un autre compte.

Modification du compte actuel

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

Où :

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

Note

Pour plus de lisibilité, la liste complète des paramètres de session pouvant être définis pour un compte n’est pas incluse ici. Pour une liste complète de tous les paramètres de session, avec leurs descriptions, ainsi que les paramètres de compte et d’objet, voir Paramètres.

Modification d’un autre compte

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 }

Spécifie la visibilité des objets dans le compte, qui contrôle la possibilité de découvrir les objets et permet aux utilisateurs sans privilèges d’accès explicites de trouver des objets et de demander un accès.

  • Une spécification YAML décrivant la visibilité dans l’un des formats suivants :

    $$
    organization_targets:
      - all_accounts_including_external
    $$
    
    Copy

    Or

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

    Dans la syntaxe ci-dessus :

    • all_accounts_including_external : Spécifie que tous les utilisateurs de tous les comptes de l’organisation peuvent voir l’objet. Ceci inclut tous les comptes au sein de l’organisation, même ceux auxquels des parties externes ont pu avoir accès, tels que les comptes de lecteurs.

    • account: account_name : Spécifie que tous les utilisateurs du compte spécifié peuvent voir l’objet. Vous pouvez spécifier plusieurs comptes. Remarque : account correspond au nom du compte, et non à son emplacement. Vous devez indiquer uniquement le nom du compte, sans mentionner le nom de l’organisation.09-22

    • organization_user_group: org_user_group : Spécifie que le groupe d’utilisateurs de l’organisation spécifié peut voir l’objet dans tous les comptes de l’organisation où le groupe d’utilisateurs de l’organisation a été importé.

  • PRIVILEGED : Spécifie que seuls les rôles du compte actuel auxquels un privilège explicite sur l’objet a été accordé peuvent voir l’objet. Il s’agit du comportement par défaut de Snowflake.

Pour obtenir des exemples, voir Rendre les objets de la base de données détectables dans la Recherche universelle.

Par défaut : 'PRIVILEGED'

UNSET property

Reverts the specified account property to its default.

Paramètres de modification du compte actuel

Utilisez les paramètres suivants lors de la modification du compte actuel.

Pour plus d’informations sur le paramétrage au niveau du compte, voir Gestion des paramètres. Pour des détails sur un paramètre particulier, voir Paramètres.

SET ...

Spécifie un (ou plusieurs) paramètre(s) de compte, de session et d’objet et une (ou plusieurs) propriété(s) d’objet à définir pour votre compte (séparés par des espaces, des virgules ou des nouvelles lignes) :

  • Les paramètres du compte ne peuvent être modifiés par aucun autre utilisateur.

  • Les paramètres de session et d’objet définis au niveau du compte ne servent que de valeurs par défaut et peuvent être modifiés par d’autres utilisateurs.

Pour une description des paramètres que vous pouvez définir pour votre compte, voir Paramètres.

UNSET ...

Spécifie un (ou plusieurs) paramètre(s) de compte, de session et d’objet à annuler pour votre compte, ce qui les réinitialise aux valeurs par défaut du système.

Vous pouvez réinitialiser plusieurs propriétés avec une seule instruction ALTER ; cependant, chaque propriété doit être séparée par une virgule. Lors de la réinitialisation d’une propriété, spécifiez seulement le nom ; si vous spécifiez une valeur pour la propriété, vous obtiendrez une erreur.

SET RESOURCE_MONITOR resource_monitor_name

Paramètre spécial qui spécifie le nom du moniteur de ressources utilisé pour contrôler tous les entrepôts virtuels créés dans le compte.

Important

La définition d’un moniteur de ressources au niveau du compte n’a aucun impact sur les entrepôts fournis par Snowflake utilisés par Snowflake pour Snowpipe, le reclustering automatique ou les vues matérialisées. Les crédits consommés par ces entrepôts ne sont pas comptabilisés dans le quota de crédit d’un moniteur de ressources au niveau du compte.

Pour plus de détails, voir Utilisation de moniteurs de ressources.

ADD ORGANIZATION USER GROUP group_name

Importe un groupe d’utilisateurs de l’organisation <label-org_users_groups> dans le compte. Les utilisateurs de l’organisation faisant partie du groupe sont ajoutés au compte en tant qu’objets utilisateurs.

REMOVE ORGANIZATION USER GROUP group_name

Supprime du compte un groupe d’utilisateurs de l’organisation.

SET { AUTHENTICATION | SESSION } POLICY policy_name [ { FOR ALL PERSON USERS | FOR ALL SERVICE USERS } ] [ FORCE ]

Spécifie la politique d’authentification ou la politique de session pour le compte.

La clause FOR ALL PERSON USERS applique la politique aux utilisateurs avec leur propriété TYPE définie sur NULL ou PERSON.

La clause FOR ALL SERVICE USERS applique la politique aux utilisateurs avec leur propriété TYPE définie sur SERVICE ou LEGACY_SERVICE.

Si vous ne spécifiez pas FOR ALL SERVICE USERS ou FOR ALL PERSON USERS, la politique s’applique à tous les utilisateurs du compte.

Si vous définissez explicitement une politique pour un utilisateur ou un type d’utilisateur spécifique, cette politique a la priorité sur une politique appliquée à FOR ALL SERVICE USERS ou FOR ALL PERSON USERS.

Si vous spécifiez FORCE, les politiques que vous avez définies sur des utilisateurs ou des types d’utilisateurs spécifiques sont remplacées. Vous pouvez l’utiliser si vous ne souhaitez pas désactiver les politiques.

Si une politique est déjà définie sur le compte actuel, vous pouvez utiliser FORCE pour définir la politique sans avoir à désactiver la politique existante au préalable.

SET FEATURE POLICY policy_name FOR ALL APPLICATIONS [ FORCE ]

Spécifie la politique de fonctions à établir pour le compte. Si une politique de fonctions est déjà définie sur le compte courant, vous pouvez utiliser FORCE pour définir la politique de fonctions sans devoir d’abord désactiver la politique de fonctions.

UNSET FEATURE POLICY FOR ALL APPLICATIONS

Désactive la politique de fonctions pour le compte.

Si vous avez déjà défini une politique sur le compte actuel, vous pouvez spécifier FORCE pour définir la politique sans avoir besoin de désactiver une politique existante au préalable.

UNSET { AUTHENTICATION | SESSION } POLICY [ FOR ALL PERSON USERS | FOR ALL SERVICE USERS ]

Désactive la politique d’authentification ou la politique de session pour le compte.

Spécifier FOR ALL SERVICE USERS ou FOR ALL PERSON USERS réduit la portée de la commande ; la politique est désactivée à partir du type d’utilisateur spécifié uniquement à la place de tous les utilisateurs du compte.

SET PACKAGES | PASSWORD POLICY policy_name [ FORCE ]

Spécifie la politique de paquets ou la politique de mot de passe pour le compte.

Si vous avez déjà défini une politique sur le compte actuel, vous pouvez spécifier FORCE pour définir la politique sans avoir besoin de désactiver une politique existante au préalable.

UNSET { PACKAGES | PASSWORD } POLICY

Désactive la politique de paquets ou la politique de mot de passe pour le compte.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

Spécifie le nom de la balise et la valeur de la chaîne de la balise.

La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.

Pour plus d’informations sur la spécification des balises dans une instruction, voir Quotas de balises.

Paramètres pour la modification d’un autre compte

Utilisez les paramètres suivants lorsque vous utilisez le compte actuel pour modifier un autre compte. Seuls les administrateurs de l’organisation peuvent utiliser ces paramètres.

name

Indique le nom du compte en cours de modification.

SET

Spécifie une propriété de compte à définir pour le compte.

IS_ORG_ADMIN = { TRUE | FALSE }

Définit une propriété du compte qui détermine si le rôle ORGADMIN est activé dans le compte.

Note

L’utilisation du rôle ORGADMIN dans un compte ordinaire est progressivement supprimée. Les administrateurs d’organisations doivent utiliser le compte d’organisation pour effectuer les tâches au niveau de l’organisation.

Pour activer le rôle ORGADMIN pour un compte, spécifiez SET IS_ORG_ADMIN = TRUE.

Vous ne pouvez pas définir la propriété sur FALSE à partir du compte actuel. En guise de solution de contournement, activez le rôle dans un autre compte, puis basculez dans ce compte avant d’exécuter la commande ALTER ACCOUNT.

Par défaut, le rôle ORGADMIN peut être activé dans un maximum de 8 comptes. Si votre organisation a besoin de plus de comptes avec le rôle ORGADMIN, contactez le support Snowflake.

RENAME TO new_name

Remplace le nom d’un compte par le nom spécifié.

Les administrateurs de l’organisation ne peuvent pas renommer un compte lorsqu’ils sont connectés à celui-ci. Ils doivent donc se connecter à un autre compte avant d’exécuter la commande ALTER ACCOUNT. Si votre organisation consiste en un seul compte qui doit être renommé, contactez l’assistance Snowflake.

SAVE_OLD_URL = { TRUE | FALSE }

Paramètre facultatif utilisé conjointement avec RENAME TO qui préserve l’URL de compte utilisée pour accéder à Snowflake avant le changement de nom. Par défaut, Snowflake enregistre l’URL d’origine, ce qui signifie que vous pouvez accéder au compte avec l’ancienne URL ou l’URL qui contient le nouveau nom de compte. Lorsqu’il est défini sur FALSE, vous devez utiliser la nouvelle URL pour accéder au compte.

Par défaut:

TRUE

DROP OLD URL

Supprime l”URL de compte d’origine d’un compte qui a été renommé. Une fois l’ancienne URL détruite, vous devez accéder au compte avec l’URL qui contient le nouveau nom de compte.

Si un compte contient une ancienne URL de compte parce qu’il a été déplacé vers une autre organisation, que son organisation a été renommée ou qu’il faisait partie d’une organisation qui a été fusionnée, utilisez plutôt ALTER ACCOUNT … DROP OLD ORGANIZATION URL.

DROP OLD ORGANIZATION URL

Supprime l’URL de compte d’origine d’un compte après que l’un des événements suivants s’est produit :

  • Compte transféré à une autre organisation

  • L’organisation du compte a été renommée.

  • Le compte faisait partie d’une organisation qui a fusionné avec une autre organisation.

Si un compte détient une ancienne URL de compte, parce que le compte, et non l’organisation, a été renommé, utilisez plutôt la commande ALTER ACCOUNT … DROP OLD URL.

Notes sur l’utilisation

  • Les paramètres de compte ne peuvent être définis qu’au niveau du compte.

  • Les paramètres de session et d’objet définis à l’aide de cette commande ne servent que de valeurs par défaut :

    • Les paramètres d’utilisateur peuvent être remplacés au niveau de l’utilisateur.

    • Les paramètres de session peuvent être remplacés au niveau de l’utilisateur et de la session.

    • Les paramètres d’objet peuvent être remplacés au niveau de l’objet en soi.

  • La définition d’un moniteur de ressources au niveau du compte contrôle l’utilisation du crédit pour tous les entrepôts virtuels créés dans le compte, mais n’a pas d’impact sur l’utilisation du crédit pour aucun des entrepôts fournis par Snowflake. Pour plus de détails, voir Utilisation de moniteurs de ressources.

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

Exemples

Associez une politique réseau nommée mypolicy à votre compte :

ALTER ACCOUNT SET NETWORK_POLICY = mypolicy;
Copy

Désactivez les privilèges accordés aux utilisateurs :

ALTER ACCOUNT SET DISABLE_USER_PRIVILEGE_GRANTS = TRUE;
Copy

Supprimez l’association de règles de réseau de votre compte :

ALTER ACCOUNT UNSET NETWORK_POLICY;
Copy

Définissez la politique de paquets au niveau du compte.

ALTER ACCOUNT SET PACKAGES POLICY packages_policy_prod_1 FORCE;
Copy

Note

Si une politique de paquets est déjà définie sur le compte actuel, vous pouvez utiliser FORCE pour définir la politique de paquets sans avoir à la supprimer au préalable.

Désactivez la politique de paquets.

ALTER ACCOUNT UNSET PACKAGES POLICY;
Copy