我正在尝试使用azure cli v2.0使用以下命令创建新的服务主体。
az ad sp create-for-rbac --name ServicePrincipalName
Changing "ServicePrincipalName" to a valid URI of "http://ServicePrincipalName", which is the required format used for service principal names
Found an existing application instance of "abcd-8f27-47cf-9976-xkkfigif5e1de". We will patch it
Insufficient privileges to complete the operation.
我不确定承租人的Azure管理员应为我的用户分配哪些特权,以便我可以创建任何任何准则或文档指针的servicePrincipal
答案 0 :(得分:0)
首先,您必须知道此命令将执行的操作。命令az ad sp create-for-rbac --name ServicePrincipalName
将在您的租户中创建一个AD App(应用程序注册)以及服务主体,该AD App将具有一个名为Application ID URI
的{{1}}和一个名为http://ServicePrincipalName
的{ Display name
。然后,该命令会将服务主体作为ServicePrincipalName
添加到您的订阅中。
您得到的错误意味着您的租户中已经存在一个Contributor
等于Application ID URI
的AD应用程序。而且您不是AD App的http://ServicePrincipalName
。 (请注意:在租户中,Owner
不是唯一的,但Display name
是唯一的。)
要解决此问题并成功使用此命令,请遵循以下提示。
1。将Application ID URI
更改为其他值。 (或者,如果您的管理员允许您使用上面提到的现有AD App,请让他将您的用户帐户作为ServicePrincipalName
添加到AD App中。-不推荐)
2。如果您帐户的Owner
只是租户中的User type
。确保在门户网站-> AAD-> Member
-> User settings
中是Users can register applications
。如果您的帐户是Yes
,除了Guest
必须是Users can register applications
,还需要Yes
-> User settings
-> External collaboration settings
Guest users permissions are limited
。
3。您的用户帐户应为订阅的No
。否则,您可以成功创建服务主体,但是不能将其添加到订阅中。