第 6 步:在门户中更新代理服务的 Azure 安全策略¶
Snowflake 提供的 ARM 模板创建了安全策略来验证授权 Snowflake 调用 Azure 函数的 JWT (JSON 网络令牌)。
但是,安全策略缺少一个字段,您需要填写该字段才能确保策略提供必要的安全级别。
重要
Snowflake 强烈建议更新 API 管理服务的安全策略。完成此步骤后,只允许 Snowflake 通过 API 管理服务调用 Azure 函数。
上一步¶
更新 Azure API 管理服务中的安全策略¶
若更新策略,请执行以下步骤:
如果尚未导入,请登录 Azure 门户。
选择 API Management Services。
找出您创建的 API 管理服务实例。该实例的名称记录在跟踪工作表中的
API Management service name字段。点击 API 管理服务实例名称。
Select APIs » APIs.
在 All APIs 下,选择 ext-func-api。
选择 POST echo。
点击 Inbound processing 框中的 validate-JWT 按钮。
如果您没有看到此按钮,请向下滚动。
搜索“SNOWFLAKE_SERVICE_PRINCIPAL_ID”,并将其替换为 Snowflake 应用程序 ID。
如果您还没有 Snowflake 应用程序 ID,您可以通过执行以下步骤获取它:
在工作表中,找到您之前填写的 AZURE_MULTI_TENANT_APP_NAME。
在 Azure 门户搜索框中,查找 Enterprise Applications。
这将带您前往 Enterprise applications | All applications 屏幕。
在该屏幕中,搜索 AZURE_MULTI_TENANT_APP_NAME。
企业应用程序搜索框 没有 标签。在企业应用程序列表的正上方查找一个广泛的字段。该方框可能会显示类似于 First 50 shown, to search all of your applications, enter a display name or the application ID 的内容。
如果找不到与 AZURE_MULTI_TENANT_APP_NAME 完全一致的名称,请仅使用该名称的前几个字符再次搜索(如果名称包含下划线,则不要包含下划线或下划线后面的任何字符)。
查找 AZURE_MULTI_TENANT_APP_NAME 的 Application ID 值。
点击 Save。
测试外部函数¶
为了确保外部函数能够根据更新的安全策略正常工作,请再次调用外部函数。
有关详细信息,请参阅 为 Azure 调用外部函数。
后续步骤¶
无。您已成功为 Azure 创建外部函数。