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.
Accédez à Snowsight.
Ouvrez une feuille de calcul.
Exécuter l’un des éléments suivants :
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' }
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';
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';
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
, ouSECURITYADMIN
.
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;
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');
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.