首页 > 解决方案 > 如何使用 Terraform 在 Azure 中创建多租户服务主体

问题描述

我在一个租户中有一个服务主体,需要访问另一个租户中的 Azure 容器注册表。但是,我不确定如何为其创建 azurerm_role_assignment。有没有办法将服务主体配置为多租户,以便相应地在两个租户中分配角色?

标签: azureazure-active-directoryterraformterraform-provider-azureazure-rm

解决方案


首先available_to_other_tenants = true为 terraform 中的 azure ad 应用程序和服务主体设置。

既然服务主体存在于您的租户中,将服务主体创建到另一个租户中的最快方法是使用管理员同意

https://login.microsoftonline.com/{tenant-id}/adminconsent?client_id={client-id}

将 替换{tenant-id}为“另一个租户”的真实租户 ID。{client-id}是 azure 广告应用或服务主体的应用程序 ID。

在浏览器中访问 url。使用“另一个租户”的管理员帐户登录以接受权限。然后将在“另一个租户”中创建服务主体。

现在,您可以azurerm_role_assignemnt为在“另一个租户”中创建的新服务主体(它与原始服务主体不同,它是多租户应用程序的工作方式)创建。


推荐阅读