Vytvoření zprostředkovatele OpenID Connect ve službě Azure Kubernetes Service (AKS)
OpenID Connect (OIDC) rozšiřuje autorizační protokol OAuth 2.0 pro použití jako jiný ověřovací protokol vydaný microsoftem Entra ID. Pomocí OIDC můžete povolit jednotné přihlašování (SSO) mezi aplikacemi s podporou OAuth ve vašem clusteru Azure Kubernetes Service (AKS) pomocí tokenu zabezpečení označovaného jako token ID. V clusteru AKS můžete povolit vystavitele OpenID Connect (OIDC), který umožňuje Microsoft Entra ID nebo jinou platformu správy identit a přístupu poskytovatele cloudu, aby zjistil veřejné podpisové klíče serveru ROZHRANÍ API.
AKS klíč automaticky a pravidelně obměňuje. Pokud nechcete čekat, můžete klíč otočit ručně a okamžitě. Maximální životnost tokenu vydaného poskytovatelem OIDC je jeden den.
Upozorňující
Povolení vystavitele OIDC v existujícím clusteru změní vystavitele tokenu aktuálního účtu služby na novou hodnotu, což může způsobit výpadky při restartování serveru rozhraní API. Pokud pody aplikace používající token služby zůstanou po povolení vystavitele OIDC ve stavu selhání, doporučujeme ručně restartovat pody.
V tomto článku se dozvíte, jak vytvořit, aktualizovat a spravovat vystavitele OIDC pro váš cluster.
Důležité
Po povolení vystavitele OIDC v clusteru se zakázání nepodporuje.
Token je potřeba pravidelně aktualizovat. Pokud používáte sadu SDK, rotace je automatická. Jinak je potřeba token aktualizovat ručně každých 24 hodin.
Požadavky
- Azure CLI verze 2.42.0 nebo vyšší. Spuštěním
az --version
vyhledejte svou verzi. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. - AKS podporuje vystavitele OIDC ve verzi 1.22 a vyšší.
Vytvoření clusteru AKS s vystavitelem OIDC
Cluster AKS můžete vytvořit pomocí příkazu az aks create s parametrem --enable-oidc-issuer
, který povolí vystavitele OIDC. Následující příklad vytvoří cluster myAKSCluster s jedním uzlem v myResourceGroup:
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 1 \
--enable-oidc-issuer \
--generate-ssh-keys
Aktualizace clusteru AKS pomocí vystavitele OIDC
Cluster AKS můžete aktualizovat pomocí příkazu az aks update s parametrem --enable-oidc-issuer
a povolit vystavitele OIDC. Následující příklad aktualizuje cluster s názvem myAKSCluster:
az aks update --resource-group myResourceGroup --name myAKSCluster --enable-oidc-issuer
Zobrazení adresy URL vystavitele OIDC
Pokud chcete získat adresu URL vystavitele OIDC, spusťte příkaz az aks show . Nahraďte výchozí hodnoty pro název clusteru a název skupiny prostředků.
az aks show --name myAKScluster --resource-group myResourceGroup --query "oidcIssuerProfile.issuerUrl" -o tsv
Ve výchozím nastavení je vystavitel nastavený tak, aby používal základní adresu URL https://{region}.oic.prod-aks.azure.com
, kde hodnota odpovídá {region}
umístění, ve kterém je cluster AKS nasazený.
Otočení klíče OIDC
Pokud chcete klíč OIDC otočit, spusťte příkaz az aks oidc-issuer . Nahraďte výchozí hodnoty pro název clusteru a název skupiny prostředků.
az aks oidc-issuer rotate-signing-keys --name myAKSCluster --resource-group myResourceGroup
Důležité
Po otočení klíče vyprší platnost starého klíče (klíč1) po 24 hodinách. Starý klíč (klíč1) i nový klíč (klíč2) jsou platné během 24hodinového období po obměně. Pokud chcete zneplatnit starý klíč (klíč1) okamžitě, musíte klíč OIDC otočit dvakrát a restartovat pody pomocí tokenů účtu projektované služby. V tomto procesu jsou klíče 2 a klíč3 platné a klíč1 je neplatný.
Kontrola klíčů OIDC
Získání adresy URL vystavitele OIDC
Pokud chcete získat adresu URL vystavitele OIDC, spusťte příkaz az aks show . Nahraďte výchozí hodnoty pro název clusteru a název skupiny prostředků.
az aks show --name myAKScluster --resource-group myResourceGroup --query "oidcIssuerProfile.issuerUrl" -o tsv
Výstup by měl vypadat takto:
https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/11111111-1111-1111-1111-111111111111/
Ve výchozím nastavení je vystavitel nastavený tak, aby používal základní adresu URL https://{region}.oic.prod-aks.azure.com/{tenant_id}/{uuid}
, kde hodnota odpovídá {region}
umístění, ve kterém je cluster AKS nasazený. Hodnota {uuid}
představuje klíč OIDC, což je náhodně vygenerovaný identifikátor GUID pro každý cluster, který je neměnný.
Získání dokumentu zjišťování
Pokud chcete získat dokument zjišťování, zkopírujte adresu URL https://(OIDC issuer URL).well-known/openid-configuration
a otevřete ho v prohlížeči.
Výstup by měl vypadat takto:
{
"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"
]
}
Získání dokumentu sady JWK
Pokud chcete získat dokument JWK Set, zkopírujte jwks_uri
ho z dokumentu zjišťování a vložte ho do adresního řádku prohlížeče.
Výstup by měl vypadat takto:
{
"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"
}
]
}
Během obměně klíčů je v dokumentu zjišťování k dispozici jeden další klíč.
Další kroky
- Informace o tom, jak přihlašovací údaje federované identity vytvářejí vztah důvěryhodnosti mezi aplikací v clusteru a externím zprostředkovatelem identity, najdete v tématu konfigurace vztahu důvěryhodnosti mezi aplikací v clusteru a externím zprostředkovatelem identity.
- Zkontrolujte ID úloh Microsoft Entra (Preview). Tato metoda ověřování se integruje s nativními možnostmi Kubernetes, které se federují s externími zprostředkovateli identity jménem aplikace.
- Informace o tom, jak používat modul síťových zásad sítě a vytvářet zásady sítě Kubernetes k řízení toku provozu mezi pody v AKS, najdete v tématu Zabezpečení síťového provozu .
Azure Kubernetes Service