Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ AKS Automatic ✔️ AKS Standard
Den här artikeln beskriver hur du skapar och hanterar en OpenID Connect-utfärdare (OIDC) för ditt Azure Kubernetes Service (AKS) kluster. Med OIDC-utfärdaren kan ditt AKS-kluster integreras med identitetsprovidrar som Microsoft Entra ID, så att du på ett säkert sätt kan autentisera och tillhandahålla funktioner för enkel inloggning (SSO) för program som körs i klustret.
För de flesta produktionsarbetsbelastningar är AKS Automatic den rekommenderade STANDARD-AKS-upplevelsen. AKS Automatic är produktionsklar som standard och innehåller OIDC-utfärdaren som en förkonfigurerad säkerhetsfunktion. I AKS Standard beror OIDC-utfärdarbeteendet på Kubernetes version och klustertillstånd, och du kan aktivera det manuellt när det behövs.
Mer information om AKS Automatic finns i Vad är Azure Kubernetes Service (AKS) Automatisk?
OIDC-utfärdare i AKS Automatic och AKS Standard
Båda AKS-klusterlägena stöder OIDC-utfärdare, men konfigurationen skiljer sig åt:
- AKS Automatic: OIDC-utfärdaren är förkonfigurerad.
- AKS Standard: Du kan behöva aktivera OIDC-utfärdare uttryckligen, beroende på version och om den redan har konfigurerats.
I de flesta produktionsscenarier börjar du med AKS Automatic för att använda produktionsklara standardvärden och minska driftkostnaderna.
Om OpenID Connect (OIDC) på AKS
OpenID Connect (OIDC) utökar OAuth 2.0-auktoriseringsprotokollet för användning som ett annat autentiseringsprotokoll utfärdat av Microsoft Entra ID. Du kan använda OIDC för att aktivera enkel inloggning (SSO) mellan OAuth-aktiverade program i ditt AkS-kluster (Azure Kubernetes Service) med hjälp av en säkerhetstoken som kallas för en ID-token. Du kan aktivera OIDC-utfärdaren i dina AKS-kluster, vilket gör att Microsoft Entra ID (eller en annan molnleverantörs identitets- och åtkomsthanteringsplattform) kan identifiera API-serverns offentliga signeringsnycklar.
Förutsättningar
Plattformskrav:
- Azure CLI version 2.42.0 eller senare (
az --versionför att kontrollera version, installera eller uppgradera Azure CLI om det behövs). - Kubernetes version 1.22 eller senare.
Versionsspecifikt beteende (AKS Standard):
- OIDC-utfärdaren är aktiverad som standard (ingen
--enable-oidc-issuerflagga behövs) för nyligen skapade AKS-kluster i Kubernetes version 1.34 eller senare. - För befintliga kluster är OIDC inte aktiverat som standard oavsett Kubernetes-version och kräver manuell aktivering.
- Automatisk förlängning av token har inaktiverats (
--service-account-extend-token-expiration=false) för Kubernetes-version 1.30.0 eller senare. - Om OIDC-utfärdaren inte tidigare har konfigurerats krävs manuell aktivering för Kubernetes-versioner tidigare än 1.34.
- Projekterade tjänstkontotoken krävs för Kubernetes version 1.30 eller senare kluster.
Viktiga överväganden:
- Du kan inte inaktivera OIDC-utfärdaren när den är aktiverad.
- Aktivering av OIDC-utfärdare i befintliga kluster kräver omstart av API-servern (kort stilleståndstid).
- Maximal tokenlivslängd är 24 timmar (en dag).
Skapa ett AKS-kluster med OIDC-utfärdaren
AKS Automatisk (rekommenderat standardval för produktion)
I AKS Automatic är OIDC-utfärdaren förkonfigurerad. Du behöver inte ett separat OIDC-utfärdaraktiveringssteg.
Skapa ett AKS-automatiskt kluster genom att följa snabbstarten:
AKS Standard
Skapa ett AKS Standard-kluster med kommandot az aks create med parametern --enable-oidc-issuer .
# Set environment variables
RESOURCE_GROUP=<your-resource-group-name>
CLUSTER_NAME=<your-aks-cluster-name>
# Create the AKS Standard cluster with OIDC issuer enabled
az aks create \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--node-count 1 \
--enable-oidc-issuer \
--generate-ssh-keys
Anmärkning
På AKS Standard-kluster som skapats med Kubernetes version 1.34 eller senare aktiveras OIDC-utfärdaren som standard för nya kluster.
Aktivera OIDC-utfärdare i ett befintligt AKS Standard-kluster
Aktivera OIDC-utfärdaren i ett befintligt AKS Standard-kluster med hjälp av az aks update kommandot med parametern --enable-oidc-issuer .
# Set environment variables
RESOURCE_GROUP=<your-resource-group-name>
CLUSTER_NAME=<your-aks-cluster-name>
# Enable the OIDC issuer on the existing AKS Standard cluster
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-oidc-issuer
Hämta OIDC-utfärdarens URL
Hämta url:en för OIDC-utfärdaren med hjälp av az aks show kommandot .
# Set environment variables
RESOURCE_GROUP=<your-resource-group-name>
CLUSTER_NAME=<your-aks-cluster-name>
# Get the OIDC issuer URL
az aks show \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--query "oidcIssuerProfile.issuerUrl" \
-o tsv
Som standard använder utfärdaren bas-URL:en https://{region}.oic.prod-aks.azure.com, där värdet för {region} matchar platsen där du distribuerade AKS-klustret.
Rotera OIDC-signeringsnyckeln
Viktigt!
Tänk på följande när du roterar OIDC-signeringsnycklar:
- Om du vill ogiltigförklara den gamla nyckeln omedelbart efter nyckelrotationen, måste du rotera OIDC-nyckeln två gånger och starta om poddarna med hjälp av projicerade tjänstkontotoken.
- Både gamla och nya nycklar är giltiga i 24 timmar efter rotation.
- Du måste uppdatera token manuellt var 24:e timme (såvida du inte använder Azure identitetsklientbibliotek som uppdateras automatiskt).
Rotera OIDC-nyckeln med kommandot az aks oidc-issuer .
# Set environment variables
RESOURCE_GROUP=<your-resource-group-name>
CLUSTER_NAME=<your-aks-cluster-name>
# Rotate the OIDC signing keys
az aks oidc-issuer rotate-signing-keys \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP
Hämta identifieringsdokumentet
Gå till url:en för OIDC-utfärdaren i webbläsaren och lägg till /.well-known/openid-configuration i URL:en.
Exempel: https://eastus.oic.prod-aks.azure.com/.well-known/openid-configuration
Dina utdata bör likna följande exempelutdata:
{
"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"
]
}
Hämta JWK-setdokumentet
Gå till jwks_uri i upptäcktsdokumentet i webbläsaren.
Till exempel: https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/openid/v1/jwks
Dina utdata bör likna följande exempelutdata:
{
"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"
}
]
}
Anmärkning
Vid nyckelrotation finns det en extra nyckel i discovery-dokumentet.