Kubelogin ile Kubernetes kümeleri için Azure yönetilen kimlik kimlik doğrulamasını etkinleştirme
AKS tarafından yönetilen Microsoft Entra tümleştirmesi, Microsoft Entra tümleştirme işlemini basitleştirir. Daha önce bir istemci ve sunucu uygulaması oluşturmanız gerekiyordu ve Microsoft Entra kiracısının Dizin Okuyucuları rol izinleri ataması gerekiyordu. Artık AKS kaynak sağlayıcısı istemci ve sunucu uygulamalarını sizin için yönetir.
Küme yöneticileri, kullanıcının kimliğine veya dizin grubu üyeliğine göre Kubernetes rol tabanlı erişim denetimini (Kubernetes RBAC) yapılandırabilir. Microsoft Entra kimlik doğrulaması, OpenID Connect ile AKS kümelerine sağlanır. OpenID Connect, OAuth 2.0 protokolünün üzerine kurulmuş bir kimlik katmanıdır. OpenID Connect hakkında daha fazla bilgi için OpenID Connect belgelerine bakın.
Microsoft Entra tümleştirme akışı hakkında daha fazla bilgiyi Microsoft Entra belgelerinde bulabilirsiniz.
Bu makalede, AKS kümenizle Azure kaynakları için yönetilen kimlikleri etkinleştirme ve kullanma hakkında ayrıntılı bilgiler sağlanır.
Sınırlamalar
Aks'de Azure yönetilen kimlik kimlik doğrulamasını tümleştiren kısıtlamalar aşağıdadır.
- Tümleştirme eklendikten sonra devre dışı bırakılamaz.
- Tümleşik bir kümeden eski Microsoft Entra ID kümelerine düşürme desteklenmez.
- Kubernetes RBAC desteği olmayan kümeler tümleştirmeyi ekleyemiyor.
Başlamadan önce
Yönetilen kimlik için AKS eklentisini düzgün yüklemek için aşağıdaki gereksinimlerin karşılanması gerekir.
- Azure CLI sürüm 2.29.0 veya üzeri yüklü ve yapılandırılmış. Sürümü bulmak için
az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. - En düşük 1.18.1 veya sürümüne sahip olmanız gerekir
kubectl
.kubelogin
Azure CLI ve Azure PowerShell modülü ile bu iki komut eklenir ve otomatik olarak yönetilir. Başka bir deyişle, bunlar varsayılan olarak yükseltilir ve çalıştırılmasıaz aks install-cli
gerekmez veya önerilmez. Otomatik işlem hattı kullanıyorsanız, doğru veya en son sürüm için yükseltmeleri yönetmeniz gerekir. Kubernetes'in ikincil sürümleri arasındaki fark vekubectl
birden fazla sürüm olmamalıdır. Aksi takdirde, kimlik doğrulama sorunları yanlış sürümde oluşur. - Helm kullanıyorsanız minimum helm 3.3 sürümüne ihtiyacınız vardır.
- Bu yapılandırma, kümeniz için bir Microsoft Entra grubunuz olmasını gerektirir. Bu grup, yönetici izinleri vermek için kümede bir yönetici grubu olarak kaydedilir. Mevcut bir Microsoft Entra grubunuz yoksa komutunu kullanarak
az ad group create
bir grup oluşturabilirsiniz.
Not
1.24 sürümünden daha yeni bir Kubernetes sürümü kullanan Microsoft Entra tümleşik kümeleri otomatik olarak biçimini kullanır kubelogin
. Kubernetes sürüm 1.24'den başlayarak, Microsoft Entra Id kümeleri için varsayılan clusterUser kimlik bilgisi biçimi, exec
kubelogin
yürütme YOLUNDA ikili gerektirir. Microsoft Dışı Entra kümeleri veya 1.24'ten eski bir sürümü çalıştıran Microsoft Entra Id kümeleri için herhangi bir davranış değişikliği yoktur.
Mevcut indirilenler kubeconfig
çalışmaya devam eder. Varsayılan davranış değişikliğinin üzerine yazmak için clusterUser kimlik bilgileri alınırken isteğe bağlı bir sorgu parametresi biçimi eklenir. Eski kubeconfig
biçimini korumanız gerekiyorsa, azure'da biçimi açıkça belirtebilirsiniz.
AKS kümenizde tümleştirmeyi etkinleştirme
Yeni küme oluşturma
komutunu kullanarak
az group create
bir Azure kaynak grubu oluşturun.az group create --name myResourceGroup --location centralus
Bir AKS kümesi oluşturun ve komutunu kullanarak
az aks create
Microsoft Entra grubunuz için yönetim erişimini etkinleştirin.az aks create \ --resource-group myResourceGroup \ --name myManagedCluster \ --enable-aad \ --aad-admin-group-object-ids <id> [--aad-tenant-id <id>] \ --generate-ssh-keys
AKS tarafından yönetilen bir Microsoft Entra ID kümesinin başarıyla oluşturulması, yanıt gövdesinde aşağıdaki bölüme sahiptir:
"AADProfile": { "adminGroupObjectIds": [ "5d24****-****-****-****-****afa27aed" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "72f9****-****-****-****-****d011db47" }
Var olan bir kümeyi kullanma
komutunu kullanarak mevcut Kubernetes RBAC özellikli kümenizde AKS tarafından yönetilen Microsoft Entra tümleştirmesini az aks update
etkinleştirin. Kümenizde erişimi korumak için yönetici grubunuzu ayarladığınızdan emin olun.
az aks update --resource-group MyResourceGroup --name myManagedCluster --enable-aad --aad-admin-group-object-ids <id-1>,<id-2> [--aad-tenant-id <id>]
AKS tarafından yönetilen bir Microsoft Entra ID kümesinin başarıyla etkinleştirilmesi, yanıt gövdesinde aşağıdaki bölüme sahiptir:
"AADProfile": {
"adminGroupObjectIds": [
"5d24****-****-****-****-****afa27aed"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "72f9****-****-****-****-****d011db47"
}
Eski kümeyi tümleştirmeye geçirme
Kümeniz eski Microsoft Entra tümleştirmesi kullanıyorsa, komutuyla AKS tarafından yönetilen Microsoft Entra tümleştirmesine az aks update
yükseltebilirsiniz.
Uyarı
Ücretsiz katman kümeleri yükseltme sırasında API sunucusu kapalı kalma süresiyle karşılaşabilir. İş dışı çalışma saatlerinizde yükseltme yapmanızı öneririz.
Yükseltmeden sonra kubeconfig içeriği değişir. Yeni kimlik bilgilerini kubeconfig dosyasıyla birleştirmek için komutunu çalıştırmanız az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name>
gerekir.
az aks update --resource-group myResourceGroup --name myManagedCluster --enable-aad --aad-admin-group-object-ids <id> [--aad-tenant-id <id>]
AKS tarafından yönetilen bir Microsoft Entra ID kümesinin başarılı geçişinin yanıt gövdesinde aşağıdaki bölüm bulunur:
"AADProfile": {
"adminGroupObjectIds": [
"5d24****-****-****-****-****afa27aed"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "72f9****-****-****-****-****d011db47"
}
Etkin kümenize erişme
komutunu kullanarak
az aks get-credentials
kümenize erişmek için kullanıcı kimlik bilgilerini alın.az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
Oturum açmak için yönergelerinizi izleyin.
Azure CLI'yı kullanacak şekilde ayarlayın
kubelogin
.kubelogin convert-kubeconfig -l azurecli
komutuyla kümedeki düğümleri
kubectl get nodes
görüntüleyin.kubectl get nodes
kubelogin ile etkileşimli olmayan oturum açma
desteklenmeyen kubectl
bazı etkileşimli olmayan senaryolar vardır. Böyle durumlarda, sürekli tümleştirme işlem hatlarını gerçekleştirmek üzere etkileşimli olmayan bir hizmet sorumlusu kimlik bilgileriyle kümeye bağlanmak için kullanın kubelogin
.
Not
1.24 sürümünden daha yeni bir Kubernetes sürümü kullanan Microsoft Entra tümleşik kümeleri otomatik olarak biçimini kullanır kubelogin
. Kubernetes sürüm 1.24'den başlayarak, Microsoft Entra Id kümeleri için varsayılan clusterUser kimlik bilgisi biçimi, exec
kubelogin
yürütme YOLUNDA ikili gerektirir. Microsoft Dışı Entra kümeleri veya 1.24'ten eski bir sürümü çalıştıran Microsoft Entra Id kümeleri için herhangi bir davranış değişikliği yoktur.
Mevcut indirilenler kubeconfig
çalışmaya devam eder. Varsayılan davranış değişikliğinin üzerine yazmak için clusterUser kimlik bilgileri alınırken isteğe bağlı bir sorgu parametresi biçimi eklenir. Eski kubeconfig
biçimini korumanız gerekiyorsa, azure'da biçimi açıkça belirtebilirsiniz.
clusterUser kimlik bilgilerini alırken, varsayılan davranışın
format
üzerine yazmak için sorgu parametresini kullanabilirsiniz. Değerini, özgün kubeconfig biçimini kullanacak şekildeazure
ayarlayabilirsiniz:az aks get-credentials --format azure
Microsoft Entra tümleşik kümeniz Kubernetes sürüm 1.24 veya üzerini kullanıyorsa kubeconfig biçimini el ile dönüştürmeniz gerekir.
export KUBECONFIG=/path/to/kubeconfig kubelogin convert-kubeconfig
Not
Şu hata iletisini alırsanız: Azure kimlik doğrulaması eklentisi kaldırıldı., kubeconfig biçimini el ile dönüştürmek için komutunu kubelogin convert-kubeconfig
çalıştırmanız gerekir.
Daha fazla bilgi için Bkz. Azure Kubelogin Bilinen Sorunlar.
Erişim sorunlarını giderme
Önemli
Bu bölümde açıklanan adım, normal Microsoft Entra grubu kimlik doğrulamasına kıyasla alternatif bir kimlik doğrulama yöntemi önerir. Bu seçeneği yalnızca acil durumlarda kullanın.
Geçerli bir Microsoft Entra grubuna yönetici erişiminiz yoksa bu geçici çözümü izleyebilirsiniz. Azure Kubernetes Service Cluster Admin rolünün üyesi olan bir hesapla oturum açın ve kümenize erişmek için grubunuz veya kiracı yöneticisi kimlik bilgilerinizi verin.
Sonraki adımlar
- Kubernetes RBAC ile Microsoft Entra tümleştirmesi hakkında bilgi edinin.
- AKS ve Kubernetes kimlik kavramları hakkında daha fazla bilgi edinin.
- AKS'de desteklenen tüm Microsoft Entra kimlik doğrulama yöntemleri için kubelogin kullanmayı öğrenin.
- AKS tarafından yönetilen Microsoft Entra ID özellikli kümeler oluşturmak için Azure Resource Manager (ARM) şablonlarını kullanın.
Azure Kubernetes Service