如何使用 Terraform 在 Azure 中创建多租户服务主体

Aka*_*and 6 azure azure-active-directory terraform terraform-provider-azure azure-rm

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

All*_* Wu 8

首先available_to_other_tenants = true在 terraform 中设置 azure 广告应用程序和服务主体。

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

https://login.microsoftonline.com/{tenant-id}/adminconsent?client_id={client-id}
Run Code Online (Sandbox Code Playgroud)

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

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

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