Sdílet prostřednictvím


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 .