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

Error creating AKS cluster in ARM with service principal in MS Graph

我正在使用 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 让 app/SP 立即对 ARM 可见?或者,在尝试创建集群之前,ARM 中是否有一种方法可以检查应用程序是否可见?

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

之后我开始部署 AKS