Azure Kubernetes Service'te (AKS) OpenID Connect sağlayıcısı oluşturma
OpenID Connect (OIDC), Microsoft Entra ID tarafından verilen başka bir kimlik doğrulama protokolü olarak kullanılmak üzere OAuth 2.0 yetkilendirme protokolunu genişletir. Kimlik belirteci olarak adlandırılan bir güvenlik belirteci kullanarak Azure Kubernetes Service (AKS) kümenizdeki OAuth özellikli uygulamalar arasında çoklu oturum açmayı (SSO) etkinleştirmek için OIDC'yi kullanabilirsiniz. AKS kümenizle, MICROSOFT Entra Id veya başka bir bulut sağlayıcısının kimlik ve erişim yönetimi platformuna izin veren OpenID Connect (OIDC) vereni etkinleştirerek API sunucusunun genel imzalama anahtarlarını keşfedebilirsiniz.
AKS anahtarı otomatik ve düzenli olarak döndürür. Beklemek istemiyorsanız, anahtarı el ile ve hemen döndürebilirsiniz. OIDC sağlayıcısı tarafından verilen belirtecin maksimum ömrü bir gündür.
Uyarı
Mevcut bir kümede OIDC verenin etkinleştirilmesi, geçerli hizmet hesabı belirteci vereni yeni bir değerle değiştirir ve bu da API sunucusunu yeniden başlatırken çalışma süresine neden olabilir. Hizmet belirteci kullanan uygulama podlarınız, OIDC vereni etkinleştirdikten sonra başarısız durumda kalırsa podları el ile yeniden başlatmanızı öneririz.
Bu makalede, kümeniz için OIDC vereni oluşturmayı, güncelleştirmeyi ve yönetmeyi öğreneceksiniz.
Önemli
Kümede OIDC vereni etkinleştirdikten sonra devre dışı bırakmak desteklenmez.
Belirtecin düzenli aralıklarla yenilenmesi gerekir. SDK'yı kullanırsanız, döndürme otomatiktir. Aksi takdirde, belirteci 24 saatte bir el ile yenilemeniz gerekir.
Önkoşullar
- Azure CLI sürüm 2.42.0 veya üzeri. Sürümünüzü bulmak için komutunu çalıştırın
az --version
. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. - AKS, sürüm 1.22 ve üzeri sürümlerde OIDC vereni destekler.
OIDC veren ile AKS kümesi oluşturma
OIDC vereni etkinleştirmek için parametresiyle --enable-oidc-issuer
az aks create komutunu kullanarak bir AKS kümesi oluşturabilirsiniz. Aşağıdaki örnek, myResourceGroup'ta bir düğüme sahip myAKSCluster adlı bir küme oluşturur:
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 1 \
--enable-oidc-issuer \
--generate-ssh-keys
AKS kümesini OIDC veren ile güncelleştirme
OIDC vereni etkinleştirmek için az aks update komutunu kullanarak bir AKS kümesini parametresiyle --enable-oidc-issuer
güncelleştirebilirsiniz. Aşağıdaki örnek, myAKSCluster adlı bir kümeyi güncelleştirir:
az aks update --resource-group myResourceGroup --name myAKSCluster --enable-oidc-issuer
OIDC veren URL'sini gösterme
OIDC veren URL'sini almak için az aks show komutunu çalıştırın. Küme adı ve kaynak grubu adı için varsayılan değerleri değiştirin.
az aks show --name myAKScluster --resource-group myResourceGroup --query "oidcIssuerProfile.issuerUrl" -o tsv
Veren varsayılan olarak, değerinin AKS kümesinin dağıtıldığı konumla eşleştiği {region}
temel URL'yi https://{region}.oic.prod-aks.azure.com
kullanacak şekilde ayarlanır.
OIDC anahtarını döndürme
OIDC anahtarını döndürmek için az aks oidc-issuer komutunu çalıştırın. Küme adı ve kaynak grubu adı için varsayılan değerleri değiştirin.
az aks oidc-issuer rotate-signing-keys --name myAKSCluster --resource-group myResourceGroup
Önemli
Anahtarı döndürdükten sonra eski anahtarın (key1) süresi 24 saat sonra dolar. Hem eski anahtar (anahtar1) hem de yeni anahtar (anahtar2) döndürmeden sonraki 24 saatlik süre içinde geçerlidir. Eski anahtarı (anahtar1) hemen geçersiz kılmasını istiyorsanız, OIDC anahtarını iki kez döndürmeniz ve öngörülen hizmet hesabı belirteçlerini kullanarak podları yeniden başlatmanız gerekir. Bu işlemde anahtar2 ve anahtar3 geçerli olur ve anahtar1 geçersiz olur.
OIDC anahtarlarını denetleyin
OIDC veren URL'sini alma
OIDC veren URL'sini almak için az aks show komutunu çalıştırın. Küme adı ve kaynak grubu adı için varsayılan değerleri değiştirin.
az aks show --name myAKScluster --resource-group myResourceGroup --query "oidcIssuerProfile.issuerUrl" -o tsv
Çıktı şuna benzer olmalıdır:
https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/11111111-1111-1111-1111-111111111111/
Veren varsayılan olarak, değerinin AKS kümesinin dağıtıldığı konumla eşleştiği {region}
temel URL'yi https://{region}.oic.prod-aks.azure.com/{tenant_id}/{uuid}
kullanacak şekilde ayarlanır. değeri {uuid}
, sabit olan her küme için rastgele oluşturulan bir guid olan OIDC anahtarını temsil eder.
Bulma belgesini alma
Bulma belgesini almak için URL'yi https://(OIDC issuer URL).well-known/openid-configuration
kopyalayın ve tarayıcıda açın.
Çıktı şuna benzer olmalıdır:
{
"issuer": "https://eastus.oic.prod-aks.azure.com/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/00000000-0000-0000-0000-000000000000/",
"jwks_uri": "https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/openid/v1/jwks",
"response_types_supported": [
"id_token"
],
"subject_types_supported": [
"public"
],
"id_token_signing_alg_values_supported": [
"RS256"
]
}
JWK Kümesi belgesini alma
JWK Kümesi belgesini almak için bulma belgesinden öğesini kopyalayın jwks_uri
ve tarayıcınızın adres çubuğuna yapıştırın.
Çıktı şuna benzer olmalıdır:
{
"keys": [
{
"use": "sig",
"kty": "RSA",
"kid": "xxx",
"alg": "RS256",
"n": "xxxx",
"e": "AQAB"
},
{
"use": "sig",
"kty": "RSA",
"kid": "xxx",
"alg": "RS256",
"n": "xxxx",
"e": "AQAB"
}
]
}
Anahtar döndürme sırasında bulma belgesinde bir anahtar daha bulunur.
Sonraki adımlar
- Federasyon kimliği kimlik bilgilerinin kümenizdeki bir uygulama ile dış kimlik sağlayıcısı arasında nasıl güven ilişkisi oluşturduğunu anlamak için bkz. Uygulama ile dış kimlik sağlayıcısı arasında güven ilişkisi oluşturmayı yapılandırma.
- Microsoft Entra İş Yükü Kimliği (önizleme) gözden geçirin. Bu kimlik doğrulama yöntemi, uygulama adına tüm dış kimlik sağlayıcılarıyla birleştirmek için Kubernetes yerel özellikleriyle tümleşir.
- AKS'de podlar arasındaki trafik akışını denetlemek için Ağ İlkesi altyapısının nasıl kullanılacağını ve Kubernetes ağ ilkelerinin nasıl oluşturulacağını anlamak için bkz. Güvenli pod ağ trafiği.
Azure Kubernetes Service