Snowflake Connector for Microsoft Power Platform: Sicherheitsintegration erstellen¶
Der Parameter externe_oauth_audience_list
der Sicherheitsintegration muss genau mit dem ID URI der Anwendung übereinstimmen, der bei der Konfiguration der Microsoft Entra-ID angegeben wurde.
Erstellen Sie entweder eine Sicherheitsintegration auf Basis einer delegierten Authentifizierung oder eines Dienstprinzipals.
Navigieren Sie zu Snowsight.
Öffnen Sie das Arbeitsblatt.
Führen Sie eine der folgenden Optionen aus:
Delegierte Authentifizierung:
Erstellen Sie mit dem Befehl CREATE SECURITY INTEGRATION (External OAuth) eine Sicherheitsintegration mit den folgenden Parametern:
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' }
Wenn Sie die delegierte Authentifizierung verwenden, MUST der
login_name
oder dieemail_address
des Snowflake-Benutzers mit der Entra-E-Mail-Adresse des Benutzers übereinstimmen, der den Power Automate-Workflow ausführt.Beispiel:
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
Dienstprinzipal-Authentifizierung
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';
Erstellen Sie einen Benutzer für die auf dem Dienstprinzipal basierende Verbindung:
Der Unterwert muss einem Benutzer in Snowflake zugeordnet werden, wobei die Verwendung von Konten mit hohen Berechtigungen vermieden wird, wie
ACCOUNTADMIN
,ORGADMIN``oder ``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;
Bemerkung
Wenn eine Sicherheitsintegration für Azure AD zuvor konfiguriert wurde, führen Sie den Befehl ALTER SECURITY INTEGRATION wie unten beschrieben aus:
ALTER SECURITY INTEGRATION external_oauth_azure_1 SET EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = ('sub','upn');
Nächste Schritte¶
Führen Sie nach Beendigung dieser Prozeduren die unter Snowflake Connector for Microsoft Power Platform: [Optional] Validieren des Entra-Autorisierungs-Setups beschriebenen Schritte aus.