ALTER SECRET

Modifie les propriétés d’un secret existant.

Voir aussi :

CREATE SECRET , DESCRIBE SECRET , DROP SECRET , SHOW SECRETS

Syntaxe

OAuth avec flux d’identifiants de connexion client :

ALTER SECRET [ IF EXISTS ] <name> SET [ API_AUTHENTICATION = <security_integration_name> ]
                                      [ OAUTH_SCOPES = ( '<scope_1>' [ , '<scope_2>' ... ] ) ]
                                      [ ENABLED = { TRUE | FALSE } ]
                                      [ COMMENT = '<string_literal>' ]

ALTER SECRET [ IF EXISTS ] <name> UNSET { ENABLED | COMMENT }
Copy

OAuth avec flux d’accord de code :

ALTER SECRET [ IF EXISTS ] <name> SET [ OAUTH_REFRESH_TOKEN = '<token>' ]
                                      [ OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '<string_literal>' ]
                                      [ API_AUTHENTICATION = <security_integration_name> ]
                                      [ ENABLED = { TRUE | FALSE } ]
                                      [ COMMENT = '<string_literal>' ]

ALTER SECRET [ IF EXISTS ] <name> UNSET { ENABLED | COMMENT }
Copy

Authentification de base :

ALTER SECRET [ IF EXISTS ] <name> SET [ USERNAME = '<username>' ]
                                      [ PASSWORD = '<password>' ]
                                      [ ENABLED = { TRUE | FALSE } ]
                                      [ COMMENT = '<string_literal>' ]

ALTER SECRET [ IF EXISTS ] <name> UNSET { ENABLED | COMMENT }
Copy

OAuth avec les identifiants de connexion client ou les paramètres de flux de code d’autorisation

name

Chaîne spécifiant l’identificateur (c’est-à-dire le nom) du secret ; elle doit être unique dans votre schéma.

SET ...

Spécifie un (ou plusieurs) paramètre(s) à définir (séparés par des espaces, des virgules ou de nouvelles lignes).

API_AUTHENTICATION = security_integration_name

Spécifie la valeur name de l’intégration de sécurité Snowflake qui connecte Snowflake à un service externe.

OAUTH_SCOPES = ( 'scope_1' [ , 'scope_2' ... ] )

Spécifie une liste des champs d’application séparés par des virgules à utiliser lors d’une requête à partir du serveur OAuth par un rôle avec USAGE sur l’intégration pendant le flux d””identifiants de connexion client OAuth.

Cette liste doit être un sous-ensemble des champs d’application définis dans la propriété OAUTH_ALLOWED_SCOPES de l’intégration de sécurité. Si les valeurs de propriété OAUTH_SCOPES ne sont pas spécifiées, le secret hérite de tous les champs d’application spécifiés dans l’intégration de sécurité.

OAuth avec les paramètres de flux d’accord de code

name

Chaîne spécifiant l’identificateur (c’est-à-dire le nom) du secret ; elle doit être unique dans votre schéma.

SET ...

Spécifie un (ou plusieurs) paramètre(s) à définir (séparés par des espaces, des virgules ou de nouvelles lignes).

OAUTH_REFRESH_TOKEN = 'token'

Spécifie le jeton sous la forme d’une chaîne utilisée pour obtenir un nouveau jeton d’accès du serveur d’autorisation OAuth lorsque le jeton d’accès expire.

OAUTH_REFRESH_TOKEN_EXPIRY_TIME = 'string_literal'

Spécifie l’horodatage sous forme de chaîne lorsque le jeton d’actualisation OAuth expire.

API_AUTHENTICATION = security_integration_name

Spécifie la valeur name de l’intégration de sécurité Snowflake qui connecte Snowflake à un service externe.

Paramètres d’authentification de base

name

Chaîne spécifiant l’identificateur (c’est-à-dire le nom) du secret ; elle doit être unique dans votre schéma.

SET ...

Spécifie un (ou plusieurs) paramètre(s) à définir pour la session (séparés par des espaces, des virgules ou de nouvelles lignes).

USERNAME = 'username'

Spécifie la valeur du nom d’utilisateur à stocker dans le secret.

Spécifiez cette valeur de propriété lorsque vous utilisez un secret pour l’authentification de base (c’est-à-dire que le secret est TYPE = PASSWORD).

PASSWORD = 'password'

Spécifie la valeur du mot de passe à stocker dans le secret.

Spécifiez cette valeur de propriété lorsque vous utilisez un secret pour l’authentification de base (c’est-à-dire que le secret est TYPE = PASSWORD).

Paramètres communs : toutes les syntaxes

SET ...

Spécifie un (ou plusieurs) paramètre(s) à définir pour la session (séparés par des espaces, des virgules ou de nouvelles lignes).

ENABLED = TRUE | FALSE

Spécifie s’il faut rendre le secret disponible pour utilisation.

  • TRUE permet d’utiliser le secret.

  • FALSE suspend l’utilisation du secret. Tout objet qui appelle le secret (par exemple, une fonction externe) ne fonctionne pas.

Par défaut : TRUE.

COMMENT = 'string_literal'

Chaîne (littéral) qui spécifie un commentaire pour le secret.

Par défaut : aucune valeur

UNSET ...

Spécifie un(e) ou plusieurs paramètres/propriété(s) à désactiver pour le secret, ce qui les réinitialise à leurs valeurs par défaut :

  • ENABLED

  • COMMENT

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

OWNERSHIP

Secret

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

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

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.

Notes sur l’utilisation

  • Actuellement, l’objet secret ne peut que être utilisé dans le contexte du connecteur ServiceNow. Pour plus de détails, reportez-vous à Connecteur Snowflake pour ServiceNow.

  • 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

Désactiver un secret :

ALTER SECRET service_now_creds_pw SET ENABLED = false;
Copy