Snowflake Connector for Microsoft Power Platform:セキュリティ統合を作成する

セキュリティ統合の external_oauth_audience_list パラメーターは、Microsoft Entra ID の構成時に指定されたアプリケーション IDURI と完全に一致する必要があります。

委任された認証またはサービスプリンシパルに基づくセキュリティ統合のいずれかを作成します。

  1. Navigate to Snowsight.

  2. ワークシートを開きます。

  3. 次のいずれかを実行します。

    1. 委任された認証:

      CREATE SECURITY INTEGRATION (外部 OAuth) コマンドを使用して、以下のパラメーターでセキュリティ統合を作成します。

      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

    委任された認証を使用する場合、Snowflakeユーザーの login_name または email_address はPower Automateフローを実行するユーザーのEntraメールに一致している必要があります。MUST

    例:

    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

    • サービスプリンシパル認証:

      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. サービスプリンシパルベースの接続用のユーザーを作成します。

    • サブ値はSnowflakeのユーザーにマップする必要があり、高い権限を持つアカウント(ACCOUNTADMINORGADMIN または 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

注釈

Azure AD のセキュリティ統合が以前に構成されている場合、以下に説明されているように ALTER SECURITY INTEGRATION を実行します。

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

次のステップ

これらの手順を完了したら、 Snowflake Connector for Microsoft Power Platform: [オプション] Entra Authorizationの設定の検証 のステップに従います。