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
Copy

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ètre ForceAuthn SAML sur TRUE 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 commande REFRESH, vous devez charger votre nouvelle valeur SAML2_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;
    
    Copy
  • 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;
    
    Copy