首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ARM-template deploy中引用托管服务标识

在ARM-template deploy中引用托管服务标识
EN

Stack Overflow用户
提问于 2017-09-18 19:19:45
回答 3查看 9K关注 0票数 28

在使用新的MSI特性部署Microsoft.Web资源时,所创建用户的principleId GUID在部署后可见。下面的屏幕截图显示了ARM模板中的结构。

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

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

EN

回答 3

Stack Overflow用户

发布于 2017-09-27 09:04:57

我自己也在努力解决这个问题。对我有效的解决方案是在评论here中找到的。

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

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

代码语言:javascript
复制
"variables": {
    "identity_resource_id": "[concat(resourceId('Microsoft.Web/sites', variables('appName')), '/providers/Microsoft.ManagedIdentity/Identities/default')]"
}

要获取tenantId和principalId的实际值,请使用以下语法引用它们:

代码语言:javascript
复制
{
    "tenantId": "[reference(variables('identity_resource_id'), '2015-08-31-PREVIEW').tenantId]",
    "objectId": "[reference(variables('identity_resource_id'), '2015-08-31-PREVIEW').principalId]"
}

希望这篇文章能帮助任何遇到同样问题的人!

票数 62
EN

Stack Overflow用户

发布于 2017-09-19 01:19:17

下面是一些示例模板:https://github.com/rashidqureshi/MSI-Samples,它展示了a)如何授予RBAC对ARM资源的访问权限b)如何使用MSI为keyvault创建访问策略

票数 3
EN

Stack Overflow用户

发布于 2021-02-09 20:50:55

有获取身份信息的new way。您可以直接从支持Azure资源的托管标识的资源中获取它们(过去的托管服务标识)。

代码语言:javascript
复制
{
  "tenantId": "[reference(resourceId('Microsoft.Web/sites', variables('serviceAppName')),'2019-08-01', 'full').identity.tenantId]",
  "objectId": "[reference(resourceId('Microsoft.Web/sites', variables('serviceAppName')),'2019-08-01', 'full').identity.principalId]",
}

您还可以获取其他资源组或/和订阅中资源的主体Id。ResourceId支持可选参数:

代码语言:javascript
复制
  "tenantId": "[reference(resourceId(variables('resourceGroup'), 'Microsoft.Web/sites', variables('serviceAppName')),'2019-08-01', 'full').identity.tenantId]",

代码语言:javascript
复制
"tenantId": "[reference(resourceId(variables('subscription'), variables('resourceGroup'), 'Microsoft.Web/sites', variables('serviceAppName')),'2019-08-01', 'full').identity.tenantId]",
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46278046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档