在MS Graph中使用服务主体在ARM中创建AKS群集时出错

时间:2019-03-20 06:39:00

标签: rest azure microsoft-graph azure-resource-manager azure-aks

我正在使用Resource Manager REST API来部署AKS集群。为了创建所需的应用程序和服务主体,我使用的是Microsoft Graph(不是Azure AD Graph)。

我遇到的问题是,当我创建应用程序和SP以及它们在ARM中变得可见之间似乎有一个滞后。如果我尝试在应用程序之后立即创建集群,则会出现以下错误:

Bad Request (HTTP 400).
Service principal clientID: <client-id> not found in Active Directory tenant
72f988bf-86f1-41af-91ab-2d7cd011db47, Please see https://aka.ms/acs-sp-help for more details.

我可以在门户中验证具有指定客户端ID的应用程序确实存在,服务主体也是如此。如果我等待几分钟,则AKS群集创建成功。

是否可以强制Graph使ARM立即看到app / SP?另外,在我尝试创建集群之前,ARM中是否有一种方法可以检查该应用程序是否可见?

1 个答案:

答案 0 :(得分:1)

否,您只需要等待,然后重试即可,例如,我正在将AKS服务主体的权限分配给与AKS一起部署的ACR或预先存在的ACR。直到服务主体被ARM识别,它才会失败。

之后,我开始部署AKS