ALTER SESSION POLICY¶
Modifie les propriétés d’une politique de session existante.
Toutes les modifications apportées aux propriétés de politiques de session entrent en vigueur lors de l’exécution de la prochaine requête SQL qui utilise la politique de session.
- Voir aussi :
Syntaxe¶
ALTER SESSION POLICY [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER SESSION POLICY [ IF EXISTS ] <name> SET
[ SESSION_IDLE_TIMEOUT_MINS = <integer> ]
[ SESSION_UI_IDLE_TIMEOUT_MINS = <integer> ]
[ ALLOWED_SECONDARY_ROLES = ( [ { 'ALL' | <role_name> [ , <role_name> ... ] } ] ) ]
[ BLOCKED_SECONDARY_ROLES = ( [ { 'ALL' | <role_name> [ , <role_name> ... ] } ] ) ]
[ COMMENT = '<string_literal>' ]
ALTER SESSION POLICY [ IF EXISTS ] <name> SET
TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER SESSION POLICY [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER SESSION POLICY [ IF EXISTS ] <name> UNSET
[ SESSION_IDLE_TIMEOUT_MINS ]
[ SESSION_UI_IDLE_TIMEOUT_MINS ]
[ ALLOWED_SECONDARY_ROLES ]
[ BLOCKED_SECONDARY_ROLES ]
[ COMMENT ]
Paramètres¶
nameIdentificateur de la politique de session ; doit être unique pour votre compte.
La valeur de l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (p. ex.
"My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.Pour plus de détails, voir Exigences relatives à l’identificateur.
RENAME TO new_nameSpécifie le nouvel identificateur de la politique de session ; doit être unique pour votre compte.
Pour plus de détails, voir Exigences relatives à l’identificateur.
Vous pouvez déplacer l’objet vers une autre base de données et/ou un autre schéma tout en renommant éventuellement l’objet. Pour ce faire, spécifiez une valeur
new_namequalifiée qui inclut le nouveau nom de la base de données et/ou du schéma sous la formedb_name.schema_name.object_nameouschema_name.object_name, respectivement.Note
La base de données et/ou le schéma de destination doivent déjà exister. En outre, un objet portant le même nom ne peut pas déjà exister dans le nouvel emplacement ; sinon, l’instruction renvoie une erreur.
Le déplacement d’un objet vers un schéma d’accès géré est interdit sauf si le propriétaire de l’objet (c’est-à-dire le rôle qui a le privilège OWNERSHIP sur l’objet) est également propriétaire du schéma cible.
SET ...Spécifie un (ou plusieurs) paramètre(s) à définir pour la politique de session (séparés par des espaces, des virgules ou de nouvelles lignes).
SESSION_IDLE_TIMEOUT_MINS = integerPour les clients Snowflake et les clients automatiques, le nombre de minutes pendant lesquelles une session peut être inactive avant que les utilisateurs ne doivent s’authentifier à nouveau dans Snowflake. Si une valeur n’est pas spécifiée, Snowflake utilise la valeur par défaut.
Peut être n’importe quel nombre entier compris entre
5et240.Par défaut :
240(4 heures)SESSION_UI_IDLE_TIMEOUT_MINS = integerPour Snowsight, le nombre de minutes pendant lesquelles une session peut être inactive avant que les utilisateurs ne doivent s’authentifier à nouveau dans Snowflake. Si une valeur n’est pas spécifiée, Snowflake utilise la valeur par défaut.
Peut être n’importe quel nombre entier compris entre
5et240.Par défaut :
240(4 heures)ALLOWED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )Spécifie les rôles secondaires d’une stratégie de session, le cas échéant.
Les valeurs possibles pour la propriété sont :
()Interdit les rôles secondaires.
('ALL')Autorise tous les rôles secondaires.
( role_name [ , role_name ... ] )Autorise les rôles spécifiés comme rôles secondaires. Les rôles secondaires peuvent être des rôles de compte définis par l’utilisateur ou des rôles système. Spécifiez le nom du rôle tel qu’il est stocké dans Snowflake. Pour plus de détails, voir Exigences relatives à l’identificateur.
Par défaut :
('ALL'). Si vous désactivez cette propriété, sa valeur dans la sortie d’une commande DESCRIBE SESSION POLICY est'ALL'.BLOCKED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )Spécifie les rôles secondaires bloqués pour une politique de session, le cas échéant. Les rôles secondaires bloqués ont la priorité sur les rôles secondaires autorisés.
Les valeurs possibles pour la propriété sont :
()Autorise tous les rôles secondaires.
('ALL')Interdit les rôles secondaires.
( role_name [ , role_name ... ] )Bloque les rôles spécifiés comme rôles secondaires. Les rôles spécifiés et les rôles accordés à ces rôles ne peuvent pas être activés en tant que rôles secondaires. Les rôles bloqués peuvent être des rôles d’utilisateur définis par l’utilisateur ou des rôles système. Spécifiez le nom de rôle tel qu’il est stocké dans Snowflake. Pour des détails, consultez Exigences relatives à l’identificateur.
Par défaut :
(). Si vous désactivez cette propriété, sa valeur dans la sortie d’une commande DESCRIBE SESSION POLICY est'()'.COMMENT = 'string_literal'Ajoute un commentaire ou remplace un commentaire existant pour la politique de session.
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 Quota de balise pour les objets.
UNSET ...Spécifie plusieurs paramètres à désactiver pour la politique de session, ce qui les réinitialise aux valeurs par défaut.
Vous pouvez réinitialiser plusieurs propriétés avec une seule instruction ALTER. Chaque propriété doit être séparée par une virgule. Lorsque vous réinitialisez une propriété, ne spécifiez que le nom. Si vous spécifiez une valeur pour la propriété, vous obtiendrez une erreur.
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Objet |
Remarques |
|---|---|---|
OWNERSHIP |
Politique de session |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
Le privilège USAGE relatif à la base de données et au schéma parents est exigé pour effectuer des opérations sur tout objet d’un schéma. Notez qu’un rôle doté d’un privilège quelconque sur un schéma permet à ce rôle de résoudre le schéma. Par exemple, un rôle doté du privilège CREATE sur un schéma peut créer des objets sur ce schéma sans également avoir le privilège USAGE attribué sur ce schéma.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Pour plus de détails sur la DDL de politique de session et les privilèges, voir Gestion des politiques de session.
Notes sur l’utilisation¶
Si vous souhaitez mettre à jour une politique de session existante et si vous avez besoin de voir la définition actuelle de cette politique, appelez la fonction GET_DDL ou exécutez la commande DESCRIBE SESSION POLICY .
Avant d’exécuter une instruction ALTER, vous pouvez exécuter une instruction DESCRIBE SESSION POLICY pour déterminer les valeurs des attributs de la politique.
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¶
L’exemple suivant met à jour la politique de session pour que la valeur du délai d’expiration de la session de Snowsight soit de 15 minutes.
DESC SESSION POLICY session_policy_prod_1;
+---------------------------------+-----------------------+------------------------+--------------------------+--------------------------------------------------+
| createdOn | name | sessionIdleTimeoutMins | sessionUIIdleTimeoutMins | comment |
+---------------------------------+-----------------------+------------------------+--------------------------+--------------------------------------------------+
| Mon, 11 Jan 2021 00:00:00 -0700 | session_policy_prod_1 | 30 | 30 | session policy for use in the prod_1 environment |
+---------------------------------+-----------------------+------------------------+--------------------------+--------------------------------------------------+
ALTER SESSION POLICY session_policy_prod_1 SET SESSION_UI_IDLE_TIMEOUT_MINS = 15;