Configuration d’un fournisseur d’identité (IdP) pour Snowflake

Les tâches de configuration d’un IdP sont différentes selon que vous choisissez Okta, ADFS, ou un(e) autre service/application personnalisé(e) conforme SAML 2.0 pour fournir une authentification fédérée à vos utilisateurs Snowflake.

Dans ce chapitre :

Note

Une fois que vous avez terminé ces tâches IdP spécifiques, vous devez configurer Snowflake pour utiliser l’authentification fédérée afin de finaliser l’installation.

Configuration d’Okta

Pour utiliser Okta comme votre IdP pour l’authentification fédérée, vous devez exécuter les tâches suivantes dans Okta :

  1. Créez un compte Okta pour votre entreprise ou organisation.

  2. Connectez-vous à votre compte Okta en tant qu’utilisateur avec des privilèges d’administrateur, et créez un utilisateur pour chaque personne qui aura besoin d’accéder à Snowflake. Lors de la création d’utilisateurs, assurez-vous d’inclure une adresse e-mail pour chacun d’entre eux. Les adresses e-mail sont nécessaires pour connecter les utilisateurs d’Okta avec les utilisateurs correspondants dans Snowflake.

  3. Créez une application Snowflake dans Okta :

    • Dans le champ Label de l’application, vous pouvez spécifier n’importe quel nom.

    • Dans le champ SubDomain de l’application, entrez le nom de votre compte Snowflake (fourni par Snowflake).

    • Notez que si votre région n’est pas US Ouest, il est nécessaire d’inclure votre région dans le champ SubDomain.

  4. Affectez les utilisateurs Okta que vous avez créés à l’application Snowflake dans Okta.

  5. Configurez SAML 2.0 comme méthode de connexion pour l’application Snowflake que vous avez créée. Vous aurez besoin de la valeur URL SSO et du certificat à l’étape suivante, Configuration de Snowflake pour l’utilisation de l’authentification fédérée.

    • Dans l’onglet Sign On, cliquez sur View Setup Instructions.

    • Rassemblez les informations requises dans les instructions d’installation :

      • SSO URL (le point de terminaison IdP URL auquel Snowflake enverra les requêtes SAML)

      • Certificat (utilisé pour vérifier la communication entre l’IdP et Snowflake)

Configuration d’AD FS

Pour utiliser AD FS comme IdP pour l’authentification fédérée, vous devez effectuer les tâches suivantes dans AD FS.

Conditions préalables

  • Vérifiez que AD FS 3.0 est installé et fonctionne sur Windows Server 2012 R2.

  • Vérifiez qu’il existe un utilisateur dans AD FS pour chaque personne qui aura besoin d’accéder à Snowflake. Lors de la création d’utilisateurs, assurez-vous d’inclure une adresse e-mail pour chacun d’entre eux. Les adresses e-mail sont nécessaires pour connecter les utilisateurs d’AD FS avec les utilisateurs correspondants dans Snowflake.

Note

D’autres versions d’AD FS et de Windows Server peuvent être utilisées ; cependant, les instructions de configuration peuvent être différentes.

Étape 1 : Ajout d’une approbation de partie de confiance pour Snowflake

Dans la console de gestion d’AD FS, utilisez Add Relying Party Trust Wizard pour ajouter une nouvelle approbation de partie de confiance à la base de données de configuration d’AD FS :

  1. Lorsque vous y êtes invité, sélectionnez la case d’option Enter data about the relying party manually.

  2. Dans l’écran suivant, entrez un nom d’affichage (par ex. « Snowflake ») pour la partie de confiance.

  3. Dans l’écran suivant, sélectionnez la case d’option AD FS profile.

  4. Passez l’écran suivant (pour spécifier un certificat de chiffrement par jeton facultatif).

  5. Dans l’écran suivant :

    • Cochez la case Enable support for the SAML 2.0 WebSSO protocol.

    • Dans le champ URL du service SAML 2.0 SSO de la partie de confiance, entrez l’URL SSO pour votre compte Snowflake. Notez que le format de l’URL est différent selon la région de l’emplacement de votre compte :

      US Ouest (AWS)

      https://<nom_compte>.snowflakecomputing.com/fed/login

      Autres régions

      https://<nom_compte>.<id_région>.snowflakecomputing.com/fed/login

      Avec AWS PrivateLink

      https://<nom_compte>.<id_région>.privatelink.snowflakecomputing.com/fed/login

      Avec Azure Private Link

      https://<nom_compte>.<id_région>.privatelink.snowflakecomputing.com/fed/login

      <nom_compte> est le nom de votre compte (fourni par Snowflake) et <id_région> est :

      Région

      ID de région

      Remarques

      Amazon Web Services (AWS)

      US Ouest (Oregon)

      us-west-2

      Requis uniquement lors de la configuration de AWS PrivateLink pour les comptes situés dans la région US Ouest.

      US Est (Ohio)

      us-east-2.aws

      US Est (Virginie du Nord)

      us-east-1

      US Est (Gouvernement commercial - Virginie du Nord)

      us-east-1-gov.aws

      Disponible uniquement pour les comptes sur Business Critical (ou supérieur) ; ne se trouve pas dans AWS GovCloud (US), qui est un Cloud dédié distinct pas encore pris en charge par Snowflake.

      Canada (Centre)

      ca-central-1.aws

      EU (Irlande)

      eu-west-1

      EU (Francfort)

      eu-central-1

      Asie-Pacifique (Tokyo)

      ap-northeast-1.aws

      Asie Pacifique (Mumbai)

      ap-south-1.aws

      Asie-Pacifique (Singapour)

      ap-southeast-1

      Asie-Pacifique (Sydney)

      ap-southeast-2

      Google Cloud Platform (GCP)

      US Central1 (Iowa)

      us-central1.gcp

      Europe Ouest2 (Londres)

      europe-west2.gcp

      Europe Ouest4 (Pays-Bas)

      europe-west4.gcp

      Microsoft Azure

      Ouest US 2 (Washington)

      west-us-2.azure

      Est US 2 (Virginie)

      east-us-2.azure

      US Gov Virginia

      us-gov-virginia.azure

      Disponible uniquement pour les comptes sur Business Critical (ou version supérieure).

      Canada Central (Toronto)

      canada-central.azure

      Europe de l’Ouest (Pays-Bas)

      west-europe.azure

      Suisse Nord (Zurich)

      switzerland-north.azure

      Asie du Sud-Est (Singapour)

      southeast-asia.azure

      Australie Est (Nouvelle-Galles du Sud)

      australia-east.azure

  6. Dans l’écran suivant, dans le champ Relying party trust identifier, entrez l’URL pour votre compte Snowflake. Comme pour la précédente URL que vous avez saisie, le format est différent selon la région de votre compte :

    US Ouest (AWS)

    https://<nom_compte>.snowflakecomputing.com

    Autres régions

    https://<nom_compte>.<id_région>.snowflakecomputing.com

    Avec AWS PrivateLink

    https://<nom_compte>.<id_région>.privatelink.snowflakecomputing.com

    Avec Azure Private Link

    https://<nom_compte>.<id_région>.privatelink.snowflakecomputing.com

  7. Dans l’écran suivant, sélectionnez la case d’option I do not want to configure multi-factor authentication settings for this relying party trust at this time.

  8. Dans l’écran suivant, sélectionnez la case d’option Permit all users to access this relying party.

  9. Dans l’écran suivant, examinez votre configuration pour l’approbation de partie de confiance. Assurez-vous également que dans l’onglet Advanced, SHA-256 est sélectionné comme algorithme de hachage sécurisé.

  10. Dans l’écran suivant, sélectionnez Open the Edit Claim Rules dialog for this relying party trust when the wizard closes et cliquez sur Close pour terminer la configuration de l’assistant.

Étape 2 : Définir les règles de revendication pour l’approbation de partie de confiance de Snowflake

La fenêtre Edit Claim Rules for nom_confiance_snowflake s’ouvre automatiquement après la fermeture de l’assistant. Vous pouvez également ouvrir cette fenêtre à partir de la console de gestion de AD FS en cliquant sur :

AD FS » Trust Relationships » Relying Party Trusts » nom_confiance_snowflake » Edit Claim Rules…

Dans la fenêtre :

  1. Créez une règle pour l’envoi d’attributs LDAP en tant que revendications :

    1. Cliquez sur Add Rules et sélectionnez Send LDAP Attributes as Claim.

    2. Dans la boîte de dialogue Edit Rule :

      • Entrez un nom (par ex. « Obtenir attributs ») pour la règle.

        • Définissez Attribute store sur : Active Directory.

        • Ajoutez deux attributs LDAP pour la règle :

          • E-Mail-Addresses avec E-Mail Address comme type de revendication sortante.

          • Display-Name avec Name comme type de revendication sortante.

    3. Cliquez sur le bouton OK pour créer la règle.

  2. Créez une règle pour transformer les revendications entrantes :

    1. Cliquez sur Add Rules et sélectionnez Transform an Incoming Claim.

    2. Dans la boîte de dialogue Add Transform Claim Rule Wizard :

      • Entrez un nom (par ex. « Nom ID transformation ») pour la règle de revendication.

      • Définissez Incoming claim type sur : E-Mail Address.

      • Définissez Outgoing claim type sur : Name ID.

      • Définissez Outgoing name ID format sur : Email.

      • Sélectionnez la case d’option Pass through all claim values.

    3. Cliquez sur le bouton Finish pour créer la règle.

  3. Cliquez sur le bouton OK pour terminer l’ajout des règles de revendication pour l’approbation de partie de confiance de Snowflake.

Important

Assurez-vous d’entrer des valeurs de règles exactement comme décrit ci-dessus.

Assurez-vous que les règles que vous avez créées sont répertoriées dans l’ordre suivant :

  1. Attributs LDAP

  2. Transformation de revendications entrantes

Les règles ne fonctionneront pas correctement s’il y a des fautes de frappe dans les règles ou si les règles ne sont pas répertoriées dans le bon ordre.

Étape 3 : Activer la déconnexion globale — Facultatif

Pour activer la déconnexion globale de Snowflake dans ADFS, dans la console de gestion de AD FS, cliquez sur :

AD FS » Trust Relationships » Relying Party Trusts » <nom_confiance_snowflake> » Properties

Dans la boîte de dialogue Properties :

  1. Accédez à l’onglet Endpoints et cliquez sur le bouton Add SAML….

  2. Dans la boîte de dialogue Edit Endpoint :

    • Définissez Endpoint type sur : SAML Logout.

    • Réglez Binding sur : POST ou REDIRECT.

    • Réglez Trusted URL sur :

      US Ouest (AWS)

      <nom_compte>.snowflakecomputing.com/fed/logout

      Autres régions

      <nom_compte>.<id_région>.snowflakecomputing.com/fed/logout

      Avec AWS PrivateLink

      <nom_compte>.<id_région>.privatelink.snowflakecomputing.com/fed/logout

      Avec Azure Private Link

      <nom_compte>.<id_région>.privatelink.snowflakecomputing.com/fed/logout

    • Laissez Response URL vide.

    • Cliquez sur le bouton OK pour enregistrer vos modifications.

Étape 4 : Obtenir l’URL SSO et le certificat

Pour terminer la configuration de AD FS, obtenez l’URL SSO et le certificat auprès de AD FS. Vous utiliserez ces deux valeurs à l’étape suivante : Configuration de Snowflake pour l’utilisation de l’authentification fédérée.

  • SSO URL

    Le point de terminaison AD FSURL auquel Snowflake enverra les requêtes SAML. C’est typiquement l” URL de connexion pour AD FS, qui est habituellement l’adresse IP ou la FQDN de votre serveur AD FS avec /adfs/ls ajouté à la fin.

  • Certificat

    Utilisé pour vérifier la communication entre AD FS et Snowflake. Vous le téléchargez depuis la console de gestion de AD FS :

    1. Dans la console, cliquez sur :

      AD FS » Service » Certificates

    2. Dans la page Certificates, cliquez avec le bouton droit de la souris sur l’entrée Token-signing et cliquez sur View Certificate….

    3. Dans la boîte de dialogue Certificate, sélectionnez l’onglet Details.

    4. Cliquez sur Copy to File… pour ouvrir l’assistant d’exportation de certificats.

    5. Pour le format de fichier d’exportation, sélectionnez Base-64 encoded X.509 (.CER) et cliquez sur Next.

    6. Enregistrez le fichier dans un répertoire de votre environnement local.

    7. Ouvrez le fichier et copiez le certificat, qui se compose d’une seule ligne située entre les lignes suivantes :

      -----BEGIN CERTIFICATE-----
      <certificate>
      -----END CERTIFICATE-----
      

Configuration d’IdP personnalisée

Pour utiliser un service ou une application conforme SAML 2.0 comme IdP pour l’authentification fédérée, vous devez effectuer les tâches suivantes :

  1. Dans l’interface du service/application, définissez une application personnalisée SHA-256 pour Snowflake. Les instructions pour définir une application personnalisée sont spécifiques au service/application qui sert d’IdP.

  2. Dans l’interface, créez un utilisateur pour chaque personne qui aura besoin d’accéder à Snowflake. Lors de la création d’utilisateurs, assurez-vous d’inclure une adresse e-mail pour chacun d’entre eux. Les adresses e-mail sont nécessaires pour connecter les utilisateurs de l’IdP avec les utilisateurs correspondants dans Snowflake.

  3. Obtenez l’URL SSO et le certificat auprès de votre IdP personnalisé. Vous aurez besoin de la valeur URL SSO et du certificat à l’étape suivante, Configuration de Snowflake pour l’utilisation de l’authentification fédérée.

    • SSO URL (le point de terminaison IdP URL auquel Snowflake enverra les requêtes SAML)

    • Certificat (utilisé pour vérifier la communication entre l’IdP et Snowflake)

Important

Lors de la configuration de fournisseurs d’identité personnalisés, les valeurs de champ sont souvent sensibles à la casse. Si des messages d’erreur ou des codes d’erreur apparaissent, vérifiez à nouveau la casse pour toutes les valeurs que vous avez entrées lors du processus de configuration.