Azure Kubernetes Service'te (AKS) yönetilen kimlik kullanma

Azure Kubernetes Service (AKS) kümeleri, yük dengeleyiciler ve yönetilen diskler gibi Azure kaynaklarına erişmek için bir kimlik gerektirir. Kimlik, yönetilen kimlik veya hizmet sorumlusu olabilir.

Bu makalede, yeni veya var olan bir AKS kümesinde aşağıdaki yönetilen kimlik türlerinin nasıl etkinleştirileceğine ilişkin ayrıntılar sağlanır:

  • Sistem tarafından atanan yönetilen kimlik
  • Kendi kullanıcı tarafından atanan yönetilen kimliğinizi getirme
  • Önceden oluşturulmuş Kubelet yönetilen kimliği

Genel bakış

AKS kümesini dağıttığınızda, sistem tarafından atanan yönetilen kimlik otomatik olarak oluşturulur ve Azure platformu tarafından yönetilir, bu nedenle gizli dizileri sağlamanızı veya döndürmenizi gerektirmez. Daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler.

AKS otomatik olarak bir hizmet sorumlusu oluşturmaz, bu nedenle bir tane oluşturmanız gerekir. Hizmet sorumlusu kullanan kümelerin süresi sonunda dolar ve kimlikle küme kimlik doğrulamasını etkilememek için hizmet sorumlusunun yenilenmesi gerekir. Hizmet sorumlularını yönetmek karmaşıklık kattığı için yönetilen kimlikleri kullanmak daha kolaydır. Aynı izin gereksinimleri hem hizmet sorumluları hem de yönetilen kimlikler için geçerlidir. Yönetilen kimlikler sertifika tabanlı kimlik doğrulaması kullanır. Her yönetilen kimliğin kimlik bilgilerinin süresi 90 gün olur ve 45 gün sonra alınır.

AKS hem sistem tarafından atanan hem de kullanıcı tarafından atanan yönetilen kimlik türlerini kullanır ve bu kimlikler sabittir. Bu kimlik türleri, pod üzerinde çalışan bir uygulama tarafından kullanılmak üzere tasarlanmış bir Microsoft Entra İş Yükü kimliğiyle karıştırılmamalıdır.

Önemli

Azure Kubernetes Service'teki açık kaynak Microsoft Entra pod yönetilen kimliği (önizleme) 24.10.2022 tarihinde kullanım dışı bırakıldı ve proje Eylül 2023'te arşivlendi. Daha fazla bilgi için kullanımdan kaldırma bildirimine bakın. AKS Yönetilen eklentisi Eylül 2024'te kullanımdan kaldırmaya başlar.

Öncelikle genel bakış Microsoft Entra İş Yükü Kimliği gözden geçirmenizi öneririz. Entra İş Yükü Kimliği kimlik doğrulaması, Microsoft Entra pod ile yönetilen kimliğin (önizleme) yerini alır ve pod üzerinde çalışan bir uygulamanın kendisini destekleyen diğer Azure hizmetlerinde kimlik doğrulaması yapmasını sağlamak için önerilen yöntemdir.

Başlamadan önce

  • Azure CLI sürüm 2.23.0 veya üzerinin yüklü olduğundan emin olun. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

  • Önceden oluşturulmuş kubelet yönetilen kimliğini kullanmak için Azure CLI sürüm 2.26.0 veya üzeri yüklü olmalıdır.

  • Mevcut kümede yönetilen kimliği güncelleştirmek için Azure CLI sürüm 2.49.0 veya sonraki bir sürümün yüklü olması gerekir.

Sınırlamalar

  • Yönetilen kimlik özellikli bir kümeyi taşıma veya geçirme kiracıları desteklenmez.
  • Kümede Microsoft Entra pod yönetilen kimliği (aad-pod-identity) etkinleştirildiyse, Düğüm Tarafından Yönetilen Kimlik (NMI) podları düğümlerin iptable'larını değiştirerek Azure Örnek Meta Verileri (I AVH) uç noktasına yapılan çağrıları durdurur. Bu yapılandırma, Pod kullanmasa aad-pod-identitybile Meta Veri uç noktasına yapılan tüm isteklerin NMI tarafından durdurulması anlamına gelir. AzurePodIdentityException CRD, CRD'de tanımlanan etiketlerle eşleşen bir poddan kaynaklanan Meta Veri uç noktasına gelen istekleri NMI'de herhangi bir işleme gerekmeden bildirecek şekilde yapılandırılabilir aad-pod-identity . Kube-system ad alanında etiketi olan kubernetes.azure.com/managedby: aks sistem podları, AzurePodIdentityException CRD yapılandırılarak içinde aad-pod-identity dışlanmalıdır.
    • Daha fazla bilgi için bkz . Belirli bir pod veya uygulama için Microsoft Entra ID-pod-identity'yi devre dışı bırakma.
    • Özel durum yapılandırmak için mikrofon özel durumu YAML'sini yükleyin.
  • AKS, özel bir özel DNS bölgesi kullanılırken sistem tarafından atanan yönetilen kimlik kullanımını desteklemez.

Yönetilen kimliklerin özeti

AKS, yerleşik hizmetler ve eklentiler için çeşitli yönetilen kimlikler kullanır.

Kimlik Veri Akışı Adı Kullanım örneği Varsayılan izinler Kendi kimliğinizi getirin
Kontrol düzlemi AKS Küme Adı Aks denetim düzlemi bileşenleri tarafından giriş yük dengeleyicileri ve AKS tarafından yönetilen genel IP'ler, Küme Otomatik Ölçeklendiricisi, Azure Disk, Dosya, Blob CSI sürücüleri gibi küme kaynaklarını yönetmek için kullanılır. Node kaynak grubu için katkıda bulunan rolü Desteklenir
Kubelet AKS Kümesi Adı-aracı havuzu Azure Container Registry (ACR) ile kimlik doğrulaması. Yok (kubernetes v1.15+için) Desteklenir
Eklenti AzureNPM Kimlik gerekmez. Yok Hayır
Eklenti AzureCNI ağ izleme Kimlik gerekmez. Yok Hayır
Eklenti azure-policy (ağ geçidi denetleyicisi) Kimlik gerekmez. Yok Hayır
Eklenti azure-policy Kimlik gerekmez. Yok Hayır
Eklenti Calico Kimlik gerekmez. Yok Hayır
Eklenti Pano Kimlik gerekmez. Yok Hayır
Eklenti uygulama yönlendirme Azure DNS ve Azure Key Vault sertifikalarını yönetir Key Vault Gizli Dizileri Key Vault için kullanıcı rolü, DNS bölgeleri için DNZ Bölge Katılımcısı rolü, özel DNS bölgeleri için Özel DNS Bölge Katılımcısı rolü Hayır
Eklenti HTTPApplicationRouting Gerekli ağ kaynaklarını yönetir. Düğüm kaynak grubu için okuyucu rolü, DNS bölgesi için katkıda bulunan rolü Hayır
Eklenti Giriş uygulaması ağ geçidi Gerekli ağ kaynaklarını yönetir. Düğüm kaynak grubu için katkıda bulunan rolü Hayır
Eklenti omsagent AKS ölçümlerini Azure İzleyici'ye göndermek için kullanılır. Ölçüm Yayımcısı rolünü izleme Hayır
Eklenti Sanal Düğüm (ACI Bağlan or) Azure Container Instances (ACI) için gerekli ağ kaynaklarını yönetir. Düğüm kaynak grubu için katkıda bulunan rolü Hayır
Eklenti Maliyet analizi Maliyet ayırma verilerini toplamak için kullanılır
İş yükü kimliği Microsoft Entra iş yükü kimliği Microsoft Entra iş yükü kimliği ile uygulamaların bulut kaynaklarına güvenli bir şekilde erişmesini sağlar. Yok Hayır

Yeni aks kümesinde yönetilen kimlikleri etkinleştirme

Not

Kendi kubelet yönetilen kimliğinizi belirtmezseniz AKS, düğüm kaynak grubunda kullanıcı tarafından atanan bir kubelet kimliği oluşturur.

Not

Kümeniz zaten yönetilen kimlik kullanıyorsa ve kimlik değiştirildiyse( örneğin, kullanıcı tarafından atanan sistem tarafından atanan küme kimlik türünü güncelleştirirseniz, denetim düzlemi bileşenlerinin yeni kimliğe geçmesi gecikmeli olur. Denetim düzlemi bileşenleri, belirtecinin süresi dolana kadar eski kimliği kullanmaya devam eder. Belirteç yenilendikten sonra yeni kimliğe geçer. Bu işlem birkaç saat sürebilir.

  1. komutunu kullanarak az group create bir Azure kaynak grubu oluşturun.

    az group create --name myResourceGroup --location westus2
    
  2. komutunu kullanarak az aks create bir AKS kümesi oluşturun.

    az aks create -g myResourceGroup -n myManagedCluster --enable-managed-identity
    
  3. komutunu kullanarak az aks get-credentials kümeye erişmek için kimlik bilgilerini alın.

    az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
    

Mevcut AKS kümesinde yönetilen kimlikleri etkinleştirme

Sistem tarafından atanan yönetilen kimliği kullanmak üzere hizmet sorumlusu kullanan mevcut AKS kümenizi güncelleştirmek için komutunu çalıştırın az aks update .

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

Kümenizi güncelleştirdikten sonra, denetim düzlemi ve podlar yönetilen kimliği kullanır. Kubelet, siz aracı havuzunuzu yükseltene kadar hizmet sorumlusu kullanmaya devam eder. Yönetilen bir kimliğe güncelleştirmek için düğümlerinizdeki komutunu kullanabilirsiniz az aks nodepool upgrade --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-image-only . Düğüm havuzlarındaki düğümler cordoned/drained ve reimaged olduğundan düğüm havuzu yükseltmesi AKS kümeniz için kapalı kalma süresine neden olur.

Not

Kümenizi güncelleştirirken aşağıdaki bilgileri göz önünde bulundurun:

  • Güncelleştirme yalnızca tüketecek bir VHD güncelleştirmesi varsa çalışır. En son VHD'yi çalıştırıyorsanız güncelleştirmeyi gerçekleştirmek için bir sonraki VHD kullanılabilir olana kadar beklemeniz gerekir.

  • Azure CLI, geçiş sonrasında eklentinizin izninin doğru şekilde ayarlanmasını sağlar. Geçiş işlemini gerçekleştirmek için Azure CLI kullanmıyorsanız, eklenti kimliğinin iznini kendiniz işlemeniz gerekir. Azure Resource Manager (ARM) şablonu kullanma örneği için bkz . ARM şablonlarını kullanarak Azure rolleri atama.

  • Kümeniz Azure Container Registry'den görüntü çekmek için kullanıyorsa --attach-acr , yönetilen kimlik için kullanılan yeni oluşturulan kubelet'in ACR'den çekme izni almasına izin vermek için kümenizi güncelleştirdikten sonra komutunu çalıştırmanız az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR resource ID> gerekir. Aksi takdirde, güncelleştirmeden sonra ACR'den çekemezsiniz.

Yönetilen kimlik için rol ataması ekleme

Kendi sanal ağınızı oluşturup kullandığınızda, kaynakların çalışan düğümü kaynak grubunun dışında olduğu Azure diskleri, statik IP adresi, yönlendirme tablosu veya kullanıcı tarafından atanan kubelet kimliğini eklediğinizde, Azure CLI rol atamasını otomatik olarak ekler. ARM şablonu veya başka bir yöntem kullanıyorsanız rol ataması gerçekleştirmek için küme yönetilen kimliğinin Asıl Kimliğini kullanmanız gerekir.

Azure CLI kullanmıyorsanız ancak kendi sanal ağınızı kullanıyorsanız, çalışan düğümü kaynak grubunun dışında yer alan Azure diskleri, statik IP adresi, yönlendirme tablosu veya kullanıcı tarafından atanan kubelet kimliğini ekleyin, denetim düzlemi için kullanıcı tarafından atanan yönetilen kimliği kullanmanızı öneririz. Denetim düzleminin sistem tarafından atanan yönetilen kimliği kullanması için, küme oluşturmadan önce kimlik kimliğini alamıyor ve bu da rol atamasının etkin olmasını geciktirmektedir.

Yönetilen kimliğin asıl kimliğini alma

  • komutunu kullanarak mevcut kimliğin az identity show asıl kimliğini alın.

    az identity show --ids <identity-resource-id>
    

    Çıkışınız aşağıdaki örnek çıkışa benzemelidir:

    {
      "clientId": "<client-id>",
      "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
      "location": "eastus",
      "name": "myIdentity",
      "principalId": "<principal-id>",
      "resourceGroup": "myResourceGroup",
      "tags": {},
      "tenantId": "<tenant-id>",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
    }
    

Rol ataması ekle

Sanal ağ, ekli Azure diski, statik IP adresi veya varsayılan çalışan düğümü kaynak grubunun dışındaki yönlendirme tablosu için, rolü özel kaynak grubuna atamanız Contributor gerekir.

  • Contributor komutunu kullanarak özel kaynak grubundaki rolü atayınaz role assignment create.

    az role assignment create --assignee <control-plane-identity-principal-id> --role "Contributor" --scope "<custom-resource-group-resource-id>"
    

Varsayılan çalışan düğümü kaynak grubunun dışında kullanıcı tarafından atanan kubelet kimliği için, denetim düzlemi yönetilen kimliği için kubelet kimliğinde Yönetilen Kimlik operatörü rolünü atamanız gerekir.

  • Managed Identity Operator komutunu kullanarak kubelet kimliğindeki rolü atayınaz role assignment create.

    az role assignment create --assignee  <control-plane-identity-principal-id> --role "Managed Identity Operator" --scope "<kubelet-identity-resource-id>"
    

Not

Kümenizin yönetilen kimliğine verilen izinlerin doldurulma süresi 60 dakika kadar sürebilir.

Kendi yönetilen kimliğinizi getirme

Kullanıcı tarafından atanan yönetilen kimliği kullanarak küme oluşturma

Denetim düzlemi için kullanıcı tarafından atanan özel bir yönetilen kimlik, küme oluşturmadan önce mevcut kimliğe erişim sağlar. Bu özellik, önceden oluşturulmuş yönetilen kimlikle özel bir sanal ağ veya UDR outboundType kullanma gibi senaryoları etkinleştirir.

Not

Azure US Government bulutunda USDOD Central, USDOD East ve USGov Iowa bölgeleri desteklenmez.

Kendi kubelet yönetilen kimliğinizi belirtmezseniz AKS, düğüm kaynak grubunda kullanıcı tarafından atanan bir kubelet kimliği oluşturur.

  • Yönetilen kimliğiniz yoksa komutunu kullanarak az identity create bir kimlik oluşturun.

    az identity create --name myIdentity --resource-group myResourceGroup
    

    Çıkışınız aşağıdaki örnek çıkışa benzemelidir:

    {                                  
      "clientId": "<client-id>",
      "clientSecretUrl": "<clientSecretUrl>",
      "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", 
      "location": "westus2",
      "name": "myIdentity",
      "principalId": "<principal-id>",
      "resourceGroup": "myResourceGroup",                       
      "tags": {},
      "tenantId": "<tenant-id>",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
    }
    

Not

Kümenizin yönetilen kimliğine verilen izinlerin doldurulma süresi 60 dakika kadar sürebilir.

  • Kümeyi oluşturmadan önce komutunu kullanarak yönetilen kimlik için rol atamasını az role assignment create ekleyin.

  • Kullanıcı tarafından atanan yönetilen kimlikle kümeyi oluşturun.

    az aks create \
        --resource-group myResourceGroup \
        --name myManagedCluster \
        --network-plugin azure \
        --vnet-subnet-id <subnet-id> \
        --dns-service-ip 10.2.0.10 \
        --service-cidr 10.2.0.0/24 \
        --enable-managed-identity \
        --assign-identity <identity-resource-id>
    

Mevcut kümede yönetilen kimliği güncelleştirme

Not

Sistem tarafından atanan sistemden kullanıcı tarafından atananlara denetim düzlemi için yönetilen kimliğin geçirilmesi, denetim düzlemi ve aracı havuzları için kapalı kalma süresine neden olmaz. Bu arada, denetim düzlemi bileşenleri bir sonraki belirteç yenilemesine kadar birkaç saat boyunca eski sistem tarafından atanan kimliği kullanmaya devam eder.

  • Yönetilen kimliğiniz yoksa komutunu kullanarak az identity create bir kimlik oluşturun.

    az identity create --name myIdentity --resource-group myResourceGroup
    

    Çıkışınız aşağıdaki örnek çıkışa benzemelidir:

    {                                  
      "clientId": "<client-id>",
      "clientSecretUrl": "<clientSecretUrl>",
      "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", 
      "location": "westus2",
      "name": "myIdentity",
      "principalId": "<principal-id>",
      "resourceGroup": "myResourceGroup",                       
      "tags": {},
      "tenantId": "<tenant-id>",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
    }
    
  • Denetim düzlemi için kullanıcı tarafından atanan özel yönetilen kimliği oluşturduktan sonra komutunu kullanarak yönetilen kimlik için rol atamasını az role assignment create ekleyin.

  • komutunu kullanarak kümenizi mevcut kimliklerinizle güncelleştirin az aks update . Bağımsız değişkenini ekleyerek denetim düzlemi için yönetilen kimliğin kaynak kimliğini sağladığından assign-identity emin olun.

    az aks update \
        --resource-group myResourceGroup \
        --name myManagedCluster \
        --enable-managed-identity \
        --assign-identity <identity-resource-id> 
    

    Kendi kubelet yönetilen kimliğinizi kullanarak başarılı bir küme güncelleştirmesi için çıkışınız aşağıdaki örnek çıktıya benzemelidir:

      "identity": {
        "principalId": null,
        "tenantId": null,
        "type": "UserAssigned",
        "userAssignedIdentities": {
          "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
            "clientId": "<client-id>",
            "principalId": "<principal-id>"
          }
        }
      },
    

Önceden oluşturulmuş kubelet yönetilen kimliği kullanma

Kubelet kimliği, küme oluşturmadan önce mevcut kimliğe erişim sağlar. Bu özellik, önceden oluşturulmuş yönetilen kimlikle ACR bağlantısı gibi senaryoları etkinleştirir.

Önceden oluşturulmuş kubelet kimlik sınırlamaları

  • Yalnızca kullanıcı tarafından atanan yönetilen kümeyle çalışır.
  • Microsoft Azure'da 21Vianet tarafından sağlanan Doğu Çin ve Çin Kuzey bölgeleri desteklenmez.

Kullanıcı tarafından atanan yönetilen kimlikler oluşturma

Denetim düzlemi yönetilen kimliği

  • Denetim düzlemi için yönetilen kimliğiniz yoksa, kullanarak az identity createbir kimlik oluşturun.

    az identity create --name myIdentity --resource-group myResourceGroup
    

    Çıkışınız aşağıdaki örnek çıkışa benzemelidir:

    {                                  
      "clientId": "<client-id>",
      "clientSecretUrl": "<clientSecretUrl>",
      "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", 
      "location": "westus2",
      "name": "myIdentity",
      "principalId": "<principal-id>",
      "resourceGroup": "myResourceGroup",                       
      "tags": {},
      "tenantId": "<tenant-id>",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
    }
    

kubelet yönetilen kimliği

  • Kubelet yönetilen kimliğiniz yoksa komutunu kullanarak az identity create bir kimlik oluşturun.

    az identity create --name myKubeletIdentity --resource-group myResourceGroup
    

    Çıkışınız aşağıdaki örnek çıkışa benzemelidir:

    {
      "clientId": "<client-id>",
      "clientSecretUrl": "<clientSecretUrl>",
      "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity", 
      "location": "westus2",
      "name": "myKubeletIdentity",
      "principalId": "<principal-id>",
      "resourceGroup": "myResourceGroup",                       
      "tags": {},
      "tenantId": "<tenant-id>",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
    }
    

Kullanıcı tarafından atanan kubelet kimliğini kullanarak küme oluşturma

Artık aks kümenizi mevcut kimliklerinizle oluşturabilirsiniz. Bağımsız değişkenini ve bağımsız değişkeni kullanarak kubelet yönetilen kimliğini ekleyerek assign-identity denetim düzlemi için yönetilen kimliğin kaynak kimliğini sağladığından assign-kubelet-identity emin olun.

  • komutunu kullanarak az aks create mevcut kimliklerinizle bir AKS kümesi oluşturun.

    az aks create \
        --resource-group myResourceGroup \
        --name myManagedCluster \
        --network-plugin azure \
        --vnet-subnet-id <subnet-id> \
        --dns-service-ip 10.2.0.10 \
        --service-cidr 10.2.0.0/24 \
        --enable-managed-identity \
        --assign-identity <identity-resource-id> \
        --assign-kubelet-identity <kubelet-identity-resource-id>
    

    Kendi kubelet yönetilen kimliğinizi kullanan başarılı bir AKS kümesi oluşturma işlemi aşağıdaki örnek çıktıya benzemelidir:

      "identity": {
        "principalId": null,
        "tenantId": null,
        "type": "UserAssigned",
        "userAssignedIdentities": {
          "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
            "clientId": "<client-id>",
            "principalId": "<principal-id>"
          }
        }
      },
      "identityProfile": {
        "kubeletidentity": {
          "clientId": "<client-id>",
          "objectId": "<object-id>",
          "resourceId": "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity"
        }
      },
    

Kubelet kimliğini kullanarak mevcut kümeyi güncelleştirme

Uyarı

Kubelet yönetilen kimliğinin güncelleştirilmesi düğüm havuzlarını yükselterek düğüm havuzlarındaki düğümler kordonlandığından/boşaltıldığından ve yeniden oluşturulduğundan AKS kümenizde kapalı kalma süresine neden olur.

Not

Kümeniz Azure Container Registry'den görüntü çekmek için kullanıyorsa --attach-acr , yönetilen kimlik için kullanılan yeni oluşturulan kubelet'in ACR'den çekme izni almasına izin vermek için kümenizi güncelleştirdikten sonra komutunu çalıştırmanız az aks update --resource-group myResourceGroup --name myAKSCluster --attach-acr <ACR Resource ID> gerekir. Aksi takdirde, yükseltmeden sonra ACR'den çekemezsiniz.

AKS kümeniz için geçerli denetim düzlemi yönetilen kimliğini alma

  1. KOMUTUNU kullanarak AKS kümenizin kullanıcı tarafından atanan yönetilen kimliği kullandığını az aks show onaylayın.

    az aks show -g <RGName> -n <ClusterName> --query "servicePrincipalProfile"
    

    Kümeniz yönetilen kimlik kullanıyorsa, çıktı msi değeriyle gösterilirclientId. Hizmet sorumlusu kullanan bir küme nesne kimliğini gösterir. Örneğin:

    {
      "clientId": "msi"
    }
    
  2. Kümenizin yönetilen kimlik kullandığını onayladıktan sonra komutunu kullanarak yönetilen kimliğin az aks show kaynak kimliğini bulun.

    az aks show -g <RGName> -n <ClusterName> --query "identity"
    

    Kullanıcı tarafından atanan yönetilen kimlik için çıkışınız aşağıdaki örnek çıktıya benzer olmalıdır:

    {
      "principalId": null,
      "tenantId": null,
      "type": "UserAssigned",
      "userAssignedIdentities": <identity-resource-id>
          "clientId": "<client-id>",
          "principalId": "<principal-id>"
    },
    

Kümenizi kubelet kimliğiyle güncelleştirme

  1. Kubelet yönetilen kimliğiniz yoksa komutunu kullanarak az identity create bir kimlik oluşturun.

    az identity create --name myKubeletIdentity --resource-group myResourceGroup
    

    Çıkışınız aşağıdaki örnek çıkışa benzemelidir:

    {
      "clientId": "<client-id>",
      "clientSecretUrl": "<clientSecretUrl>",
      "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity",
      "location": "westus2",
      "name": "myKubeletIdentity",
      "principalId": "<principal-id>",
      "resourceGroup": "myResourceGroup",                       
      "tags": {},
      "tenantId": "<tenant-id>",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
    }
    
  2. komutunu kullanarak kümenizi mevcut kimliklerinizle güncelleştirin az aks update . Bağımsız değişkenini ve bağımsız değişken için kubelet yönetilen kimliğini ekleyerek assign-identity denetim düzlemi için assign-kubelet-identity yönetilen kimliğin kaynak kimliğini sağladığından emin olun.

    az aks update \
        --resource-group myResourceGroup \
        --name myManagedCluster \
        --enable-managed-identity \
        --assign-identity <identity-resource-id> \
        --assign-kubelet-identity <kubelet-identity-resource-id>
    

    Kendi kubelet yönetilen kimliğinizi kullanarak başarılı bir küme güncelleştirmesi için çıkışınız aşağıdaki örnek çıktıya benzemelidir:

      "identity": {
        "principalId": null,
        "tenantId": null,
        "type": "UserAssigned",
        "userAssignedIdentities": {
          "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
            "clientId": "<client-id>",
            "principalId": "<principal-id>"
          }
        }
      },
      "identityProfile": {
        "kubeletidentity": {
          "clientId": "<client-id>",
          "objectId": "<object-id>",
          "resourceId": "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myKubeletIdentity"
        }
      },
    

Sonraki adımlar

  • Yönetilen kimlik özellikli bir küme oluşturmak için Azure Resource Manager şablonlarını kullanın.
  • AKS'de desteklenen tüm Microsoft Entra kimlik doğrulama yöntemleri için [kubelogin][kubelogin-authentication] kullanmayı öğrenin.