Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ AKS Automatic ✔️ AKS Standard
In dit artikel wordt beschreven hoe u een OIDC-verlener (OpenID Connect) voor uw Azure Kubernetes Service (AKS)-cluster maakt en beheert. Met de OIDC-verlener kan uw AKS-cluster worden geïntegreerd met id-providers zoals Microsoft Entra ID, zodat u veilig kunt verifiëren en mogelijkheden voor eenmalige aanmelding (SSO) kunt bieden voor toepassingen die in het cluster worden uitgevoerd.
Voor de meeste productieworkloads is AKS Automatic de aanbevolen standaard-AKS-ervaring. AKS Automatic is standaard gereed voor productie en bevat OIDC-verlener als vooraf geconfigureerde beveiligingsmogelijkheid. In AKS Standard is het gedrag van OIDC-verleners afhankelijk van de Kubernetes-versie en de clusterstatus en kunt u deze indien nodig handmatig inschakelen.
Zie Wat is Azure Kubernetes Service (AKS) Automatisch voor meer informatie over AKS Automatic?
OIDC-uitgever in AKS Automatic en AKS Standard
Beide AKS-clustermodi bieden ondersteuning voor OIDC-verleners, maar de installatie verschilt:
- AKS Automatisch: OIDC-verlener is vooraf geconfigureerd.
- AKS Standard: Mogelijk moet u OIDC-verlener expliciet inschakelen, afhankelijk van de versie en of deze al is geconfigureerd.
Voor de meeste productiescenario's begint u met AKS Automatisch om standaardinstellingen voor productie te gebruiken en operationele overhead te verminderen.
Over OpenID Connect (OIDC) op AKS
OpenID Connect (OIDC) breidt het OAuth 2.0-autorisatieprotocol uit voor gebruik als een ander verificatieprotocol dat is uitgegeven door Microsoft Entra ID. U kunt OIDC gebruiken om eenmalige aanmelding in te schakelen tussen OAuth-toepassingen in uw AKS-cluster (Azure Kubernetes Service) met behulp van een beveiligingstoken met de naam een id-token. U kunt de OIDC-verlener inschakelen op uw AKS-clusters, zodat Microsoft Entra ID (of het identiteits- en toegangsbeheerplatform van een andere cloudprovider) de openbare ondertekeningssleutels van de API-server kan detecteren.
Vereisten
Platformvereisten:
- Azure CLI versie 2.42.0 of hoger (
az --versionals u de versie wilt controleren, installeert of upgradet u Azure CLI indien nodig). - Kubernetes versie 1.22 of hoger.
Versiespecifiek gedrag (AKS Standard):
- OIDC-verlener is standaard ingeschakeld (geen
--enable-oidc-issuervlag nodig) voor nieuw gemaakte AKS-clusters in Kubernetes versie 1.34 of hoger. - Voor bestaande clusters is OIDC niet standaard ingeschakeld, ongeacht de Kubernetes-versie en is handmatige activering vereist.
- Automatische tokenverlenging uitgeschakeld (
--service-account-extend-token-expiration=false) voor Kubernetes-versie 1.30.0 of later. - Als OIDC-verlener niet eerder is geconfigureerd, is handmatige activering vereist voor Kubernetes-versies ouder dan 1.34.
- Geprojecteerde service-accounttokens zijn vereist voor Kubernetes-clusters met versie 1.30 of hoger.
Belangrijke overwegingen:
- U kunt OIDC-verlener niet uitschakelen nadat deze is ingeschakeld.
- Voor het inschakelen van OIDC-verlener op bestaande clusters moet de API-server opnieuw worden opgestart (korte downtime).
- De maximale levensduur van tokens is 24 uur (één dag).
Een AKS-cluster maken met de OIDC-verlener
AKS Automatisch (aanbevolen standaard voor productie)
In AKS Automatic is de OIDC-verlener vooraf geconfigureerd. U hebt geen afzonderlijke stap voor het inschakelen van OIDC-verleners nodig.
Maak een automatisch AKS-cluster door de quickstart te volgen:
AKS Standard
Maak een AKS Standard-cluster met behulp van de az aks create opdracht met de --enable-oidc-issuer parameter.
# 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
Opmerking
Op AKS Standard-clusters die zijn gemaakt met Kubernetes versie 1.34 of hoger, is de OIDC-verlener standaard ingeschakeld voor nieuwe clusters.
OIDC-verlener inschakelen voor een bestaand AKS Standard-cluster
Schakel de OIDC-verlener in op een bestaand AKS Standard-cluster met behulp van de az aks update opdracht met de --enable-oidc-issuer parameter.
# 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
De URL van de OIDC-verlener ophalen
Haal de URL van de OIDC-verlener op met behulp van de az aks show opdracht.
# 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
Standaard gebruikt de issuer de basis-URL https://{region}.oic.prod-aks.azure.com, waarbij de waarde voor {region} overeenkomt met de locatie waar u het AKS-cluster hebt geïmplementeerd.
De OIDC-ondertekeningssleutel draaien
Belangrijk
Houd rekening met de volgende overwegingen bij het roteren van OIDC-ondertekeningssleutels:
- Als u de oude sleutel direct na sleutelrotatie ongeldig wilt maken, moet u de OIDC-sleutel tweemaal draaien en de pods opnieuw starten met behulp van geprojecteerde serviceaccounttokens.
- Zowel oude als nieuwe sleutels blijven 24 uur na rotatie geldig.
- U moet het token elke 24 uur handmatig vernieuwen (tenzij u Azure Identity-clientbibliotheken gebruikt, die automatisch worden vernieuwd).
Draai de OIDC-sleutel met behulp van de az aks oidc-issuer opdracht.
# 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
Het detectiedocument ophalen
Ga in uw browser naar de URL van uw OIDC-uitgever en voeg /.well-known/openid-configuration toe aan de URL.
Voorbeeld:https://eastus.oic.prod-aks.azure.com/.well-known/openid-configuration
De uitvoer zou ongeveer moeten lijken op de volgende voorbeelduitvoer:
{
"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"
]
}
Het JWK Set-document ophalen
Ga in uw browser naar de jwks_uri uit het discovery-document.
Bijvoorbeeld: https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/openid/v1/jwks
De uitvoer zou ongeveer moeten lijken op de volgende voorbeelduitvoer:
{
"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"
}
]
}
Opmerking
Tijdens het roteren van sleutels bevat het detectiedocument één extra sleutel.