Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ AKS Automatic ✔️ AKS Standard
In diesem Artikel wird beschrieben, wie Sie einen OpenID Connect(OIDC)-Aussteller für Ihren Azure Kubernetes Service (AKS) Cluster erstellen und verwalten. Mit dem OIDC-Aussteller kann Ihr AKS-Cluster in Identitätsanbieter wie Microsoft Entra ID integriert werden, sodass Sie SSO-Funktionen (Single Sign-On) für Anwendungen, die innerhalb des Clusters ausgeführt werden, sicher authentifizieren und bereitstellen können.
Für die meisten Produktionsworkloads ist AKS Automatic die empfohlene Standard-AKS-Oberfläche. AKS Automatic ist standardmäßig produktionsbereit und enthält den OIDC-Aussteller als vorkonfigurierte Sicherheitsfunktion. In AKS Standard hängt das OIDC-Ausstellerverhalten von Kubernetes-Version und Clusterstatus ab, und Sie können es bei Bedarf manuell aktivieren.
Weitere Informationen zu AKS Automatic finden Sie unter Was ist Azure Kubernetes Service (AKS) Automatisch?
OIDC-Aussteller in AKS Automatic und AKS Standard
Beide AKS-Clustermodi unterstützen den OIDC-Aussteller, aber die Einrichtung unterscheidet sich:
- AKS Automatic: OIDC-Aussteller ist vorkonfiguriert.
- AKS Standard: Möglicherweise müssen Sie den OIDC-Aussteller je nach Version explizit aktivieren und ob er bereits konfiguriert ist.
Beginnen Sie für die meisten Produktionsszenarien mit AKS Automatic, um produktionsbereite Standardwerte zu verwenden und den Betriebsaufwand zu reduzieren.
Informationen zu OpenID Connect (OIDC) auf AKS
OpenID Connect (OIDC) erweitert das OAuth 2.0-Autorisierungsprotokoll zur Verwendung als ein anderes Authentifizierungsprotokoll, das von Microsoft Entra ID ausgestellt wird. Sie können OIDC verwenden, um einmaliges Anmelden (Single Sign-On, SSO) zwischen OAuth-fähigen Anwendungen auf Ihrem Azure Kubernetes Service (AKS)-Cluster mithilfe eines Sicherheitstokens zu aktivieren, das als ID-Token bezeichnet wird. Sie können den OIDC-Aussteller auf Ihren AKS-Clustern aktivieren, der es Microsoft Entra ID (oder der Identitäts- und Zugriffsverwaltungsplattform eines anderen Cloudanbieters) ermöglicht, die öffentlichen Signaturschlüssel des API-Servers zu ermitteln.
Voraussetzungen
Plattformanforderungen:
- Azure CLI Version 2.42.0 oder höher (
az --versionzur Überprüfung der Version, Installation oder Aktualisierung Azure CLI bei Bedarf). - Kubernetes, Version 1.22 oder höher.
Versionsspezifisches Verhalten (AKS Standard):
- Der OIDC-Aussteller ist standardmäßig (keine
--enable-oidc-issuerKennzeichnung erforderlich) für neu erstellte AKS-Cluster auf Kubernetes, Version 1.34 oder höher, aktiviert. - Bei vorhandenen Clustern ist OIDC unabhängig von der Kubernetes-Version nicht standardmäßig aktiviert und erfordert eine manuelle Aktivierung.
- Automatische Token-Verlängerung deaktiviert (
--service-account-extend-token-expiration=false) für Kubernetes-Version 1.30.0 oder höher. - Wenn der OIDC-Aussteller noch nicht konfiguriert wurde, ist die manuelle Aktivierung für Kubernetes-Versionen vor 1.34 erforderlich.
- Projizierte Dienstkontotoken sind für Kubernetes Version 1.30 oder höher cluster erforderlich.
Wichtige Überlegungen:
- Sie können den OIDC-Aussteller nach der Aktivierung nicht mehr deaktivieren.
- Das Aktivieren des OIDC-Ausstellers auf vorhandenen Clustern erfordert einen NEUSTART des API-Servers (kurze Ausfallzeiten).
- Die maximale Tokenlebensdauer beträgt 24 Stunden (ein Tag).
Erstellen eines AKS-Clusters mit dem OIDC-Aussteller
AKS Automatic (empfohlene Standardeinstellung für Produktionsumgebungen)
In AKS Automatic ist der OIDC-Aussteller vorkonfiguriert. Sie benötigen keinen separaten OIDC-Aussteller-Aktivierungsschritt.
Erstellen Sie einen automatischen AKS-Cluster mithilfe der Schnellstartanleitung:
AKS Standard
Erstellen Sie einen AKS Standardcluster mit dem az aks create Befehl mit dem --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
Hinweis
Auf AKS Standard-Clustern, die mit Kubernetes Version 1.34 oder höher erstellt wurden, ist der OIDC-Aussteller standardmäßig für neue Cluster aktiviert.
OIDC-Aussteller in einem bestehenden AKS-Standardcluster aktivieren
Aktivieren Sie den OIDC-Aussteller auf einem vorhandenen AKS Standard-Cluster mithilfe des az aks update Befehls mit dem --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
Abrufen der OIDC-Aussteller-URL
Rufen Sie die OIDC-Aussteller-URL mithilfe des az aks show Befehls ab.
# 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
Standardmäßig verwendet der Aussteller die Basis-URL https://{region}.oic.prod-aks.azure.com, wobei der Wert für {region} mit dem Standort übereinstimmt, an dem Sie den AKS-Cluster bereitgestellt haben.
Drehen des OIDC-Signaturschlüssels
Wichtig
Beachten Sie beim Drehen von OIDC-Signaturschlüsseln die folgenden Überlegungen:
- Wenn Sie den alten Schlüssel unmittelbar nach der Drehung der Taste ungültig machen möchten, müssen Sie den OIDC-Schlüssel zweimal drehen und die Pods mit projizierten Dienstkontotoken neu starten.
- Sowohl alte als auch neue Schlüssel bleiben 24 Stunden nach der Drehung gültig.
- Sie müssen das Token alle 24 Stunden manuell aktualisieren (es sei denn, Sie verwenden Azure Identitätsclientbibliotheken, die automatisch aktualisiert werden).
Drehen Sie die OIDC-Taste mithilfe des az aks oidc-issuer Befehls.
# 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
Abrufen des Ermittlungsdokuments
Gehen Sie in Ihrem Browser zu Ihrer OIDC-Issuer-URL und fügen Sie /.well-known/openid-configuration zur URL hinzu.
Beispiel: https://eastus.oic.prod-aks.azure.com/.well-known/openid-configuration
Ihre Ausgabe sollte in etwa wie die folgende Beispielausgabe aussehen:
{
"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"
]
}
Abrufen des JWK-Set-Dokuments
Rufen Sie in Ihrem Browser die jwks_uri aus dem Discovery-Dokument auf.
Beispiel: https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/openid/v1/jwks
Ihre Ausgabe sollte in etwa wie die folgende Beispielausgabe aussehen:
{
"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"
}
]
}
Hinweis
Während der Schlüsselrotation enthält das Discovery-Dokument einen zusätzlichen Schlüssel.