1

我为我的 DevOps 管道设置了一个服务主体,我用它来创建服务主体/应用程序,供我通过 Azure CLI 部署的服务使用,如下所示:

az ad sp create-for-rbac --name TestAccount1 --skip-assignment

如果我将以下权限分配给我的 DevOps 服务主体,它将完美运行:

在此处输入图像描述

但是,这显然会触发弃用警报,但如果我将权限更改为:

在此处输入图像描述

我得到以下信息:

Directory permission is needed for the current user to register the application. For how to configure, please refer 'https://docs.microsoft.com/azure/azure-resource-manager/resource-group-create-service-principal-portal'. Original error: Insufficient privileges to complete the operation.

当谈到 Azure AD Graph 与 Microsoft Graph 时,我是否遗漏了一个微妙之处,它们不只是将新旧 API 放入同一个 Azure AD 租户吗?

4

1 回答 1

1

显然,这个 cmdaz ad sp create-for-rbac在后台调用 Azure AD Graph API。

AAD Graph 和 Microsoft Graph 的端点不同。

AAD 图形端点:https://graph.windows.net/

Microsoft Graph 端点:https://graph.microsoft.com/

而当你Application.ReadWrite.All在 Azure 门户上分配权限时,你会发现这个权限实际上是在其对应的端点下。

在此处输入图像描述

在此处输入图像描述

因此,如果您Application.ReadWrite.All在 Microsoft Graph 下添加权限,它将不允许您调用 Azure AD Graph。

于 2020-10-06T01:11:29.577 回答