gpt4 book ai didi

azure-resource-manager - 在 ARM 模板部署中引用托管服务标识

转载 作者:行者123 更新时间:2023-12-03 12:05:13 25 4
gpt4 key购买 nike

部署具有新 MSI 功能的 Microsoft.Web 资源时,已创建用户的 principalId GUID 在部署后可见。下面的屏幕截图显示了 ARM 模板中的结构。

enter image description here

稍后在管道中获取此 GUID 以便能够在(例如)Data Lake Store 中分配访问权限的最佳方法是什么?

是否可以使用任何现有的 ARM 模板函数来执行此操作?

最佳答案

我自己也在为此苦苦挣扎。在评论中找到了对我有用的解决方案 here .

本质上,您创建了一个变量,目标是您使用 MSI 支持创建的资源。然后您可以使用该变量来获取特定的tenantId 和principalId 值。不理想,但它有效。在我的示例中,我正在为 Function App 配置 Key Vault 权限。

要创建变量,请使用以下语法。

"variables": {
"identity_resource_id": "[concat(resourceId('Microsoft.Web/sites', variables('appName')), '/providers/Microsoft.ManagedIdentity/Identities/default')]"
}

要获取tenantId 和principalId 的实际值,请使用以下语法引用它们:
{
"tenantId": "[reference(variables('identity_resource_id'), '2015-08-31-PREVIEW').tenantId]",
"objectId": "[reference(variables('identity_resource_id'), '2015-08-31-PREVIEW').principalId]"
}

希望这可以帮助任何遇到同样问题的人!

关于azure-resource-manager - 在 ARM 模板部署中引用托管服务标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46278046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com