如何将角色分配给来自不同订阅的Azure服务主体?

2024-01-19

问题陈述
目前,我正在借助 azure terraform 在不同订阅中创建/修改 azure 资源。

error

Principal <appid> does not exist in the directory {destination-tenant-id-for which contribution role required}

考虑以下场景。
我们希望在一个订阅中创建 Azure AKS 集群,并在同一执行中,我们希望更新另一订阅中的 DNS 定义。如果我们在同一个订阅中同时拥有 DNS 区域和 aks 集群,则此过程运行良好,但如果这两个资源位于不同的订阅中,则该过程将不起作用。

采取的步骤
创建服务主体而不分配

az ad sp create-for-rbac -n sp-terraform-001 --skip-assignment

为当前订阅的当前 SP 分配贡献者角色

az role assignment create --assignee <appid>  --role Contributor --scope /subscriptions/<sub-id>

*为不同订阅的当前 sp 分配贡献者角色。它将失败并显示 *

az role assignment create --assignee <appid>  --role Contributor --scope /subscriptions/<diff-sub-id>/<resource-group>....

请让我知道访问其他订阅中的资源的正确步骤


您可以将服务主体的权限分配给多个订阅,这不是问题,因为 SP 位于订阅之外,它位于 Azure AD 中。

但是,您无法将对服务主体所在的不同 Azure AD 租户中的资源的权限分配给服务主体,这听起来像是您正在尝试在此处执行的操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将角色分配给来自不同订阅的Azure服务主体? 的相关文章

随机推荐