所有者级别的服务主体权限不适用于Azure Active Directory

时间:2019-12-02 08:38:04

标签: azure azure-active-directory azure-cli azure-rbac

我正在尝试在Azure Active Directory中自动注册新应用程序。在Azure CLI中运行命令后,它将返回以下错误:

Insufficient privileges to complete the operation.

该命令是使用服务主体运行的,该服务主体在订阅级别具有所有者权限。尝试运行其他Azure AD命令(例如az ad app list)时,会引发相同的错误。但是,如果我们运行与Azure API管理器有关的命令(例如az apim list),它就可以正常工作。

我们尝试通过运行以下命令,同时使用Azure控制台(https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal)和CLI创建服务主体,但是均无效。

az ad sp create-for-rbac --role Owner --name some-service-principal

执行此操作还有其他要求吗?

2 个答案:

答案 0 :(得分:0)

发生

的原因是,Azure AD和Azure订阅在权限方面完全无关。您需要主体(用户\服务主体\应用程序)的Application Read\Write Azure AD权限才能执行该任务

https://docs.microsoft.com/en-us/graph/permissions-reference#application-resource-permissions

az ad app permissionhttps://docs.microsoft.com/en-us/cli/azure/ad/app/permission?view=azure-cli-latest#az-ad-app-permission-add

后跟az ad app granthttps://docs.microsoft.com/en-us/cli/azure/ad/app/permission?view=azure-cli-latest#az-ad-app-permission-grant

或者您也可以使用门户网站进行操作,如其他答案所建议的

答案 1 :(得分:0)

您提到的所有者角色是Azure RBAC的一部分,不适用于Azure AD。 Azure AD租户位于Azure订阅之上,并且拥有自己的权限。

您需要授予SP应用程序对MS Graph API / AAD Graph API(不确定CLI尝试使用哪个API)或目录角色的权限。 首先,您通过SP的应用程序注册授予API权限。 可以通过“角色和管理员”标签添加目录角色。