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.comkullanacak ş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