我正在研究Azure,并希望在通过Azure登录时使用服务主体,而不是通过web登录方法进行身份验证。我用az ad sp create-for-rbac创建了一个服务主体,其作用域位于订阅和角色‘所有者’的根上。我可以使用服务主体成功地登录,但是当我尝试执行az ad sp list时,我得到的错误是我没有足够的特权:azure.graphrbac.models.graph_error.GraphErrorException: Insufficient privileges to complete the operation.
当我查看门户中订阅刀片中的访问控制(IAM)选项卡时,我可以看到服务主体是所有者,而我自己的帐户既是所有者又是服务管理员。
是否有办法给予服务校长与我自己的帐户完全相同的权利?
发布于 2018-01-03 21:19:45
显然,给予SP‘所有者’的角色是不够的。您可以赋予它“目录阅读器”的角色。不过,使用Azure或Portal是不可能的。您必须使用Azure,最简单的方法是使用https://graphexplorer.azurewebsites.net/。
第二个警告是,您不能使用自己的Azure帐户使用graphexplorer站点(在我的例子中,我有一个简单的个人Azure设置,只以我自己为管理员),但是您必须在Azure AD中创建一个用户。我给它全局管理员角色只是为了确定,我不确定最低限度的角色将是什么,能够使用图形API。
现在,添加SP目录读取器角色的步骤有点长,我在这里找到了它们:https://lnx.azurewebsites.net/directory-roles-for-azure-ad-service-principal/
不知道为什么这需要如此复杂,为什么在文档中找不到这一点。
发布于 2017-12-29 10:03:34
如果sp具有Owner角色,则命令az ad sp list可以列出您的sps。
我建议您关闭当前的shell并重新打开一个新的shell,使用下面的命令登录您的订阅。
az login --service-principal -u <client id> -p <client secret> --tenant <tenant id>https://serverfault.com/questions/889976
复制相似问题