Azure-创建具有租户管理员权限的服务主体

时间:2020-01-27 15:23:44

标签: azure azure-active-directory

我试图通过在terrafrom中执行ARM模板来提供Azure AD Domain Service。为了让terrafrom访问Azure,我使用以下脚本创建了service principal

az ad sp create-for-rbac --role="Owner" --scopes="/subscriptions/xxxxxxxx-xxxxxfca38"

,然后将客户端ID和密钥提供给terrafrom。

问题是,当我执行脚本时,azure给我一个错误,说:

code":"BadRequest", "message": "The user xxxxx-80b is not the tenant admin of tenant xxxxxx-xxxxxfca38.

但是,当我使用电子邮件和密码登录Azure门户时,我可以创建AZ AD Domain Service,而不会出现任何错误。

如何为执行此类操作的用户创建具有权限的服务主体?最初,我认为--role="Owner"就足够了。

或者,是否可以获取我用来登录Azure门户的同一帐户的客户端ID和密码?

P.S:我正在使用天蓝色的未与任何组织AD关联的个人帐户。

1 个答案:

答案 0 :(得分:1)

我没有个人帐户可以订阅测试。只需参考以下步骤即可尝试。

我正在使用不与任何组织AD关联的天蓝色的个人帐户。

登录到Azure门户时,实际上存在一个默认目录,但是如果直接在Azure AD中创建AD App,则无法选择单租户应用。

1。在门户中导航到Azure AD-> Create a directory(我们以后不再使用该目录,只是因为该操作会使Default Directory出现)。

enter image description here

成功创建目录后,关闭浏览器(不刷新)并打开一个新目录,登录到门户网站,单击以下按钮,您将找到Default Directory

enter image description here

2。导航到门户中的订阅->检查Directory,然后您将知道订阅所在的目录,并确保My roleOwner或{{ 1}},否则将无法成功运行命令User Access Administrator

enter image description here

3。如果您的订阅位于az ad sp create-for-rbac --role="Owner" --scopes="/subscriptions/xxxxxxxx-xxxxxfca38"中,则可以导航到Azure AD-> Default directory->将Properties设置为Access management for Azure resources,然后您将Yes。(如果您已经是User Access AdministratorOwner,请忽略此步骤。)

4。然后,使用以下命令登录Azure CLI,并使用预订所在的User Access Administrator指定tenant

tenant ID

5。运行命令az login --tenant <tenant> ,它应该可以工作。

相关问题