ALTER SECURITY INTEGRATION (SAML2)¶
Modifie les propriétés d’une intégration de sécurité SAML2 existante. Pour des informations sur la modification d’autres types d’intégrations de sécurité (par exemple SCIM), voir ALTER SECURITY INTEGRATION.
- Voir aussi :
CREATE SECURITY INTEGRATION (SAML2) , DROP INTEGRATION , SHOW INTEGRATIONS , DESCRIBE INTEGRATION
Syntaxe¶
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET
[ TYPE = SAML2 ]
[ ENABLED = { TRUE | FALSE } ]
[ SAML2_ISSUER = '<string_literal>' ]
[ SAML2_SSO_URL = '<string_literal>' ]
[ SAML2_PROVIDER = '<string_literal>' ]
[ SAML2_X509_CERT = '<string_literal>' ]
[ ALLOWED_USER_DOMAINS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ ALLOWED_EMAIL_PATTERNS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = '<string_literal>' ]
[ SAML2_ENABLE_SP_INITIATED = TRUE | FALSE ]
[ SAML2_SNOWFLAKE_X509_CERT = '<string_literal>' ]
[ SAML2_SIGN_REQUEST = TRUE | FALSE ]
[ SAML2_REQUESTED_NAMEID_FORMAT = '<string_literal>' ]
[ SAML2_POST_LOGOUT_REDIRECT_URL = '<string_literal>' ]
[ SAML2_FORCE_AUTHN = TRUE | FALSE ]
[ SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>' ]
[ SAML2_SNOWFLAKE_ACS_URL = '<string_literal>' ]
[ COMMENT = '<string_literal>' ]
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
ENABLED |
[ , ... ]
}
ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER [ SECURITY ] INTEGRATION <name> REFRESH SAML2_SNOWFLAKE_PRIVATE_KEY
Paramètres¶
name
Identificateur pour l’intégration à modifier. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
SET ...
Spécifie un(e) ou plusieurs paramètre(s)/propriété(s) à définir pour l’intégration (séparés par des espaces, des virgules ou de nouvelles lignes) :
ALLOWED_USER_DOMAINS = ( 'string_literal' [ , 'string_literal' , ... ] )
Spécifie une liste de domaines de messagerie qui peuvent s’authentifier avec une intégration de sécurité SAML2. Par exemple,
ALLOWED_USER_DOMAINS = ("example.com", "example2.com", ...)
.This parameter can be used to associate a user with an IdP for configurations that use multiple IdPs. For details, see Utilisation de plusieurs fournisseurs d’identité pour l’authentification fédérée.
ALLOWED_EMAIL_PATTERNS = ( 'string_literal' [ , 'string_literal' , ... ] )
Spécifie une liste d’expressions régulières que les adresses e-mail doivent utiliser pour s’authentifier avec une intégration de sécurité SAML2. Par exemple,
ALLOWED_EMAIL_PATTERNS = ("^(.+dev)@example.com$", "^(.+dev)@example2.com$", ... )
.This parameter can be used to associate a user with an IdP for configurations that use multiple IdPs. For details, see Utilisation de plusieurs fournisseurs d’identité pour l’authentification fédérée.
TYPE = SAML2
Spécifiez le type d’intégration :
SAML2
: crée une interface de sécurité entre Snowflake et le fournisseur d’identité.
ENABLED = TRUE | FALSE
Spécifie s’il faut initier le fonctionnement de l’intégration ou le suspendre.
TRUE
permet l’exécution de l’intégration en fonction des paramètres spécifiés dans la définition de canal.FALSE
suspend l’intégration pour la maintenance. Toute intégration entre Snowflake et un service tiers échoue.
SAML2_ISSUER = 'string_literal'
La chaîne contenant le EntityID/émetteur de l’IdP.
SAML2_SSO_URL = 'string_literal'
La chaîne contenant l’URL SSO de l’IdP, où l’utilisateur doit être redirigé par Snowflake (le fournisseur de services) avec un message
AuthnRequest
SAML.SAML2_PROVIDER = 'string_literal'
La chaîne décrivant l’IdP.
L’un des éléments suivants : OKTA, ADFS, personnalisé.
SAML2_X509_CERT = 'string_literal'
Le certificat de signature IdP encodé en Base64 sur une seule ligne sans les marqueurs
-----BEGIN CERTIFICATE-----
de début et-----END CERTIFICATE-----
de fin.SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = 'string_literal'
Chaîne contenant l’étiquette à afficher après le bouton Log In With sur la page de connexion.
SAML2_ENABLE_SP_INITIATED = TRUE | FALSE
Le booléen indiquant si le bouton Log In With sera affiché sur la page de connexion.
TRUE
affiche le bouton Log in With sur la page de connexion.FALSE
n’affiche pas le bouton Log in With sur la page de connexion.
SAML2_SNOWFLAKE_X509_CERT = 'string_literal'
Le certificat auto-signé encodé en Base64 généré par Snowflake pour une utilisation avec Chiffrer des assertions SAML et Envoyer des requêtes SAML signées.
Vous devez avoir au moins une de ces fonctionnalités (assertions SAML chiffrées ou réponses SAML signées) activée dans votre compte Snowflake pour accéder à la valeur du certificat.
SAML2_SIGN_REQUEST = TRUE | FALSE
Le booléen indiquant si les demandes SAML sont signées.
TRUE
permet la signature de demandes SAML.FALSE
n’autorise pas la signature de demandes SAML.
SAML2_REQUESTED_NAMEID_FORMAT = 'string_literal'
Le format SAML NameID permet à Snowflake de définir une attente de l’attribut identifiant de l’utilisateur (c’est-à-dire le sujet SAML) dans l’assertion SAML de l” IdP pour assurer une authentification valide dans Snowflake. Si aucune valeur n’est spécifiée, Snowflake envoie la valeur
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
dans la requête d’authentification à l” IdP.En option.
Si vous choisissez de spécifier le format SAML
NameID
, utilisez l’une des valeurs suivantes :urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName
urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
SAML2_POST_LOGOUT_REDIRECT_URL = '<string_literal>'
Le point de terminaison vers lequel Snowflake redirige les utilisateurs après avoir cliqué sur le bouton Log Out dans l”Classic Console.
Snowflake met fin à la session Snowflake en se redirigeant vers le point de terminaison spécifié.
SAML2_FORCE_AUTHN = TRUE | FALSE
Le booléen indiquant si les utilisateurs, lors du flux d’authentification initial, sont obligés de s’authentifier à nouveau pour accéder à Snowflake. Lorsqu’il est défini sur
TRUE
, Snowflake définit le paramètreForceAuthn
SAML surTRUE
dans la requête sortante de Snowflake vers le fournisseur d’identité.TRUE
oblige les utilisateurs à s’authentifier à nouveau pour accéder à Snowflake, même si une session valide avec le fournisseur d’identité existe.FALSE
n’oblige pas les utilisateurs à s’authentifier à nouveau pour accéder à Snowflake.
Par défaut :
FALSE
.SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>'
La chaîne contenant
EntityID
/Issuer
pour le fournisseur de services Snowflake.Si une valeur incorrecte est spécifiée, Snowflake renvoie un message d’erreur indiquant les valeurs acceptables à utiliser.
La valeur de cette propriété doit correspondre à l’URL du compte Snowflake spécifiée dans le IdP. Il s’agit par défaut du format d’URL héritée, donc si vous définissez un format d’URL différent dans le IdP, veillez à définir cette propriété de manière appropriée.
SAML2_SNOWFLAKE_ACS_URL = '<string_literal>'
La chaîne contenant l’URL Snowflake Assertion Consumer Service à laquelle l’IdP enverra sa réponse d’authentification SAML à Snowflake. Cette propriété sera définie dans la demande d’authentification SAML générée par Snowflake lors du lancement d’une opération SAML SSO avec l’IdP.
Si une valeur incorrecte est spécifiée, Snowflake renvoie un message d’erreur indiquant les valeurs acceptables à utiliser.
La valeur de cette propriété doit correspondre à l’URL du compte Snowflake spécifiée dans le IdP. Il s’agit par défaut du format d’URL héritée, donc si vous définissez un format d’URL différent dans le IdP, veillez à définir cette propriété de manière appropriée.
Par défaut :
https://<localisateur_compte>.<région>.snowflakecomputing.com/fed/login
COMMENT = 'string_literal'
Ajoute un commentaire ou remplace un commentaire existant pour l’intégration.
Par défaut : aucune valeur
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 pour les objets et les colonnes.
UNSET ...
Spécifie un(e) ou plusieurs paramètre(s)/propriété(s) à désactiver pour l’intégration de sécurité, ce qui les réinitialise à leurs valeurs par défaut :
ENABLED
TAG tag_name [ , tag_name ... ]
REFRESH SAML2_SNOWFLAKE_PRIVATE_KEY
Génère une nouvelle clé privée et un certificat auto-signé pour une intégration de sécurité SAML2. L’ancienne clé privée et le certificat auto-signé sont remplacés par de nouveaux. Pour plus d’informations sur les meilleures pratiques en matière de rotation des clés, voir Gérer votre intégration de sécurité SAML2.
Notes sur l’utilisation¶
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.
Après avoir fait pivoter votre
SAML2_SNOWFLAKE_PRIVATE_KEY
à l’aide de la commandeREFRESH
, vous devez charger votre nouvelle valeurSAML2_SNOWFLAKE_X509_CERT
dans votre IdP, faute de quoi l’authentification SAML ne fonctionnera plus. Pour plus d’informations sur les meilleures pratiques en matière de rotation des clés, voir Gérer votre intégration de sécurité SAML2.
Exemples¶
L’exemple suivant lance l’opération d’une intégration suspendue :
ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;
L’exemple suivant fait pivoter la clé privée et génère un nouveau certificat auto-signé pour une intégration de sécurité SAML2 nommée
my_idp
:Prudence
Après avoir exécuté la commande ci-dessous, l’authentification SAML ne fonctionne plus, car votre IdP utilise toujours votre ancien certificat
SAML2_SNOWFLAKE_X509_CERT
. Pour réduire les perturbations, il est préférable d’exécuter cette commande lorsque les utilisateurs ne sont pas actifs. Pour plus d’informations, consultez Gérer votre intégration de sécurité SAML2.alter security integration my_idp refresh SAML2_SNOWFLAKE_PRIVATE_KEY;