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

Owner level Service Principal permission not working for Azure Active Directory

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

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

执行此操作还需要其他什么吗?

发生这种情况是因为 Azure AD 和 Azure 订阅在权限方面完全无关。您的委托人 (user\service principal\application) 需要 Application Read\Write Azure AD 权限才能执行该任务

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

az ad app permission: https://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

或者您可以使用门户来完成,就像其他答案所建议的那样

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

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