Snowflake Connector for Microsoft Power Platform : Créer une intégration de sécurité

Le paramètre liste_audience_oauth_externe de l’intégration de sécurité doit correspondre exactement à l’URI de l’ID d’application. qui a été spécifié lors de la configuration de Microsoft Entra ID.

Créer une intégration de sécurité basée sur l’authentification déléguée ou sur le principal de service.

  1. Accédez à Snowsight.

  2. Ouvrez une feuille de calcul.

  3. Exécuter l’un des éléments suivants :

    1. Authentification déléguée :

      À l’aide de la commande:doc:/sql-reference/sql/create-security-integration-oauth-external, créez une intégration de sécurité avec les paramètres suivants :

      CREATE SECURITY INTEGRATION IF NOT EXISTS external_oauth_azure_1
         TYPE = EXTERNAL_OAUTH
         ENABLED = TRUE
         EXTERNAL_OAUTH_TYPE = AZURE
         EXTERNAL_OAUTH_ISSUER = '{AZURE_AD_ISSUER}'
         EXTERNAL_OAUTH_JWS_KEYS_URL = '{AZURE_AD_JWS_KEY_ENDPOINT}'
         EXTERNAL_OAUTH_AUDIENCE_LIST = ('{SNOWFLAKE_APPLICATION_ID_URI}')
         EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'upn'
         EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = { 'LOGIN_NAME' | 'EMAIL_ADDRESS' }
      
      Copy

    Lors de l’utilisation de l’authentification déléguée, le login_name (nom de connexion) ou l’email_address (adresse e-mail) de l’utilisateur de Snowflake doivent (MUST) correspondent à l’adresse e-mail Entra de l’utilisateur qui exécutera le flux Power Automate.

    Par exemple :

    ALTER USER SNOWSQL_DELEGATE_USER
    LOGIN_NAME = '{ENTRA-USERID}' or EMAIL_ADDRESS = 'ENTRA-USERID'
    DISPLAY_NAME = 'SnowSQL Delegated User'
    COMMENT = 'A delegate user for SnowSQL client to be used for OAuth based connectivity';
    
    Copy

    OR

    • Authentification du principal de service

      CREATE SECURITY INTEGRATION external_oauth_azure_2
         TYPE = EXTERNAL_OAUTH
         ENABLED = TRUE
         EXTERNAL_OAUTH_TYPE = AZURE
         EXTERNAL_OAUTH_ISSUER = '{AZURE_AD_ISSUER}'
         EXTERNAL_OAUTH_JWS_KEYS_URL = '{AZURE_AD_JWS_KEY_ENDPOINT}'
         EXTERNAL_OAUTH_AUDIENCE_LIST = ('{SNOWFLAKE_APPLICATION_ID_URI}')
         EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'sub'
         EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'login_name';
      
      Copy
  4. Créer un utilisateur pour la connexion basée sur le principal de service :

    • La sous-valeur doit être recensée à un utilisateur dans Snowflake, en évitant d’utiliser des comptes à privilèges élevés ACCOUNTADMIN, ORGADMIN, ou SECURITYADMIN.

    CREATE OR REPLACE USER SNOWSQL_OAUTH_USER
    LOGIN_NAME = '<subvalue from decoded token>'
    DISPLAY_NAME = 'SnowSQL OAuth User'
    COMMENT = 'A system user for SnowSQL client to be used for OAuth based connectivity';
    
    CREATE ROLE ANALYST;
    
    GRANT ROLE ANALYST TO USER SNOWSQL_OAUTH_USER;
    
    Copy

Note

Si une intégration de sécurité pour Azure AD a été configurée précédemment, exécutez les commandes ALTER SECURITY INTEGRATION comme décrit ci-dessous :

ALTER SECURITY INTEGRATION external_oauth_azure_1 SET EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = ('sub','upn');
Copy

Prochaines étapes

Après avoir effectué ces procédures, suivez les étapes : Snowflake Connector for Microsoft Power Platform : [Facultatif] Configurer l’autorisation de validation Entra.