gpt4 book ai didi

azure - 如何使用 Arm 模板获取应用服务中的主体 Id?

转载 作者:行者123 更新时间:2023-12-02 22:56:01 26 4
gpt4 key购买 nike

您好,我正在编写 ARM 模板来部署我的应用程序服务。我想在我的 ARM 模板中创建系统标识。在应用程序服务臂模板部分中,我有以下代码。

"identity": {
"principalId": "[reference(variables('identity_resource_id'), '2017-12-01', 'Full').identity.principalId]",
"tenantId": "[parameters('tenantId')]",
"type": "SystemAssigned"
}

然后在变量部分添加

"appServiceNameFrontEnd": "[concat(variables('defaultConvention'),'03-','FrontEnd')]"
"identity_resource_id": "[concat(resourceId('Microsoft.Web/sites', variables('appServiceNameFrontEnd')), '/providers/Microsoft.ManagedIdentity/Identities/default')]"

每当我尝试运行此程序时,都会出现以下错误

##[error]Deployment template validation failed: 'The template resource 'FrontEnd' at line '1' and column '10436' is not valid: The templatefunction 'reference' is not expected at this location. Please seehttps://aka.ms/arm-template-expressions for usage details..

有人可以帮助我如何获得系统分配的身份吗?任何帮助将不胜感激。谢谢

最佳答案

您无法为系统分配的身份指定 ID。有效模板是:

"identity": {
"type": "SystemAssigned"
}

tenantId 将始终是链接到订阅的租户。如果您在其他地方需要,可以使用[subscription().tenantId]。要在其他地方访问系统分配的身份的 objectId,您可以使用例如:

"objectId": "[reference(resourceId('Microsoft.Web/sites', variables('appServiceNameFrontEnd')), '2016-08-01', 'Full').identity.principalId]",

(请记住将应用服务指定为资源的依赖项,以便仅在部署应用服务后才部署它)

关于azure - 如何使用 Arm 模板获取应用服务中的主体 Id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63127813/

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