Snowflake Connector for Microsoft Power Platform: Criação de uma integração de segurança¶
O parâmetro external_oauth_audience_list
da integração de segurança deve corresponder exatamente ao ID URI do aplicativo que foi especificado durante a configuração do ID do Microsoft Entra.
Crie uma integração de segurança com base em uma autenticação delegada ou entidade de serviço.
Navegue até Snowsight.
Abra uma planilha.
Execute um dos seguintes:
Autenticação delegada:
Usando o comando CREATE SECURITY INTEGRATION (OAuth externo), crie uma integração de segurança com os seguintes parâmetros:
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' }
Ao usar a autenticação delegada, o
login_name
ou oemail_address
do usuário do Snowflake MUST corresponder ao e-mail Entra do usuário que executará o fluxo do Power Automate.Por exemplo:
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
Autenticação da entidade de serviço:
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';
Crie um usuário para a conexão com base em uma entidade de serviço:
O subvalor deve ser mapeado para um usuário no Snowflake, evitando o uso de contas de alto privilégio
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;
Nota
Se uma integração de segurança para Azure AD foi configurado anteriormente, execute ALTER SECURITY INTEGRATION conforme descrito abaixo:
ALTER SECURITY INTEGRATION external_oauth_azure_1 SET EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = ('sub','upn');
Próximos passos¶
Após completar estes procedimentos, siga os passos em Snowflake Connector for Microsoft Power Platform: [opcional] validar a configuração da autorização do Entra.