如何获取kubernetes服务主体Azure的对象ID和应用程序ID

问题描述

获取Azure Kubernetes服务的对象ID和应用程序ID的一种方式

注意* kubernetes服务的服务主体不在Active Directory中,它仅由AKS生成 并将Acrpull角色分配给ACR容器注册

解决方法

我认为您对Azure Kubernetes Service的服务原理有误解。

服务主体正是Azure Kubernetes Service的托管身份。

创建Azure Kubernetes服务(AKS)群集时,需要为其配置身份验证方法。在这里,我选择“系统分配的托管身份”。

enter image description here

之后,您可以在 Azure AD -> 企业应用程序-> 所有应用程序中找到它(只需搜索Azure的名称) Kubernetes服务(AKS)集群)。但这在 Azure AD -> 应用程序注册中不可用。

另一种快速方法是使用Azure CLI。参考here

创建AKS集群:

az aks create -g myResourceGroup -n myManagedCluster --enable-managed-identity

然后使用以下命令查询您的控制平面托管身份的对象ID:

az aks show -g myResourceGroup -n myManagedCluster --query "identity"

此外,如果您尝试使用Azure门户中的此服务主体为ACR容器注册表分配角色,则无需输入对象ID。输入AKS集群的名称就足够了。