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.
Azure Kubernetes Service (AKS) unterstützt die strukturierte Authentifizierung, mit der Sie externe Identitätsanbieter für die Authentifizierung von Benutzern auf dem Kubernetes-API-Server konfigurieren können. Dieses Feature basiert auf der vorgelagerten Kubernetes-Konfiguration der strukturierten Authentifizierung. AKS implementiert diese Funktionalität über JSON Web Token (JWT)-Authentifikatoren, die Token von externen Identitätsanbietern entsprechend Ihrer Konfiguration überprüfen. Mit strukturierter Authentifizierung können Organisationen AKS über die Microsoft Entra-ID hinaus in ihre vorhandene Identitätsinfrastruktur integrieren.
Dieser Artikel enthält eine Übersicht über die Verwendung externer Identitätsanbieter mit der strukturierten AKS-Authentifizierung, einschließlich wichtiger Konzepte, Sicherheitsüberlegungen und nächster Schritte für die Konfiguration.
Von Bedeutung
AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Vorteile der Authentifizierung des externen Identitätsanbieters
Die strukturierte AUTHENTIFIZIERUNG erweitert AKS über die herkömmliche Microsoft Entra ID-Integration hinaus, indem branchenübliche OpenID Connect (OIDC)-Identitätsanbieter unterstützt werden. Dieses Feature ermöglicht Folgendes:
- Authentifizieren Sie Benutzer mit externen Identitätsanbietern wie Google, GitHub oder einem beliebigen OIDC-kompatiblen Anbieter.
- Verwalten Sie die zentrale Identitätsverwaltung in Ihrer Organisation.
- Implementieren sie benutzerdefinierte Anspruchsüberprüfungs- und Benutzerzuordnungsregeln.
- Unterstützen Sie mehrere Identitätsanbieter gleichzeitig auf einem einzelnen Cluster.
Authentifizierungsfluss des externen Identitätsanbieters
Wenn ein Benutzer versucht, mithilfe einer strukturierten Authentifizierung mit einem externen Identitätsanbieter auf den Kubernetes-API-Server zuzugreifen, lautet der Authentifizierungs- und Autorisierungsfluss wie folgt:
-
Authentifizierung: Die folgenden Schritte überprüfen die Identität des Benutzers:
- Tokenpräsentation: Der Benutzer stellt ein JWT-Token vom konfigurierten Identitätsanbieter dar.
- Tokenüberprüfung: Der API-Server überprüft die Signatur, den Aussteller, die Zielgruppe und den Ablauf des Tokens.
- Anspruchsverarbeitung: Benutzerdefinierte Anspruchsprüfungsregeln werden angewendet, um sicherzustellen, dass das Token Ihre Anforderungen erfüllt.
- Benutzerzuordnung: Ansprüche werden Kubernetes-Benutzeridentität (Benutzername, Gruppen und zusätzliche Attribute) zugeordnet.
- Autorisierung: Standard Kubernetes rollenbasierte Zugriffssteuerung (RBAC) bestimmt, welche Aktionen der authentifizierte Benutzer ausführen kann.
Unterstützte Identitätsanbieter
Während die strukturierte AKS-Authentifizierung einen beliebigen OIDC-kompatiblen Identitätsanbieter zulässt, umfassen allgemeine Anbieter:
- GitHub: Authentifizieren mit GitHub-Identitäten oder GitHub-Aktionen.
- Google OAuth 2.0: Verwenden Sie Google-Konten für die Authentifizierung.
- Generische OIDC-Anbieter: Jeder Anbieter, der OIDC-Standards implementiert.
- Benutzerdefinierte Identitätslösungen: Organisationsspezifische OIDC-Implementierungen.
Hinweis
Microsoft Entra-ID wird durch strukturierte Authentifizierung nicht als externer Identitätsanbieter unterstützt. Verwenden Sie die vorhandene Microsoft Entra-Integration für die Microsoft Entra ID-Authentifizierung.
Anforderungen für externe Identitätsanbieter
Externe Identitätsanbieter müssen die folgenden Anforderungen erfüllen, um mit der strukturierten AKS-Authentifizierung zu arbeiten:
- Unterstützen Sie OIDC-Standards.
- Bereitstellen öffentlich zugänglicher OIDC-Ermittlungsendpunkte.
- Stellen Sie JWT-Token mit entsprechenden Ansprüchen aus.
- Soll von AKS-Clusterknoten für die Tokenvalidierung erreichbar sein.
JWT-Authentifikatoren für die strukturierte AKS-Authentifizierung
Ein JWT-Authentifikator ist ein Konfigurationsobjekt, das definiert, wie AKS Token von einem externen Identitätsanbieter überprüft und verarbeitet. Beispielsweise erwartet AKS ein ID-Token (JWT), dessen aud (Zielgruppen-Anspruch) mit dem Zielgruppenwert übereinstimmt, den Sie für den Authentifikator konfigurieren, wie z. B. eine OAuth-Client-ID. Jeder JWT-Authentifikator enthält die folgenden Komponenten:
- Ausstellerkonfiguration: Gibt die OIDC-Aussteller-URL und die erwarteten Zielgruppenwerte für Token an.
- Anspruchsüberprüfungsregeln: Verwendet CEL-Ausdrücke (Common Expression Language), um benutzerdefinierte Gültigkeitsprüfungslogik für Tokenansprüche zu erzwingen.
- Anspruchszuordnungen: Definiert, wie JWT-Ansprüche Kubernetes-Benutzerattributen wie Benutzername, Gruppen und zusätzlichen Feldern zugeordnet werden.
- Benutzerüberprüfungsregeln: Wendet zusätzliche Validierungslogik nach der Anspruchszuordnung an, um den Zugriff weiter einzuschränken oder zuzulassen.
CEL-Ausdrücke für die Anspruchsüberprüfung und -zuordnung
Bei der strukturierten Authentifizierung werden CEL-Ausdrücke für flexible Anspruchsüberprüfung und -zuordnung verwendet. CEL stellt eine sichere Sandkastenumgebung zum Auswerten benutzerdefinierter Logik für JWT-Ansprüche bereit.
Beispiel für CEL-Ausdrücke:
// Validate that the 'sub' claim exists
has(claims.sub)
// Map username with AKS prefix
'aks:jwt:' + claims.sub
// Map groups from comma-separated string
claims.groups.split(',').map(g, 'aks:jwt:' + g)
// Conditional mapping based on claim verification
'aks:jwt:' + (claims.email_verified ? claims.email : claims.sub)
Bewährte Sicherheitsmethoden
Beachten Sie bei der Verwendung externer Identitätsanbieter mit strukturierter AKS-Authentifizierung die folgenden bewährten Sicherheitsmethoden:
- Verwenden Sie eine starke Anspruchsüberprüfung: Implementieren Sie umfassende Gültigkeitsprüfungsregeln, um sicherzustellen, dass nur autorisierte Token akzeptiert werden.
- Einschränken des Tokenbereichs: Konfigurieren Sie Ihren Identitätsanbieter so, dass Token mit minimal erforderlichen Ansprüchen ausgegeben werden.
- Regelmäßige Rotation: Regelmäßige Rotation von Client-Geheimnissen und Zertifikaten.
-
Überwachen des Zugriffs: Aktivieren Sie Ressourcenprotokolle , und aktivieren
kube-apiserverSie Protokolle, um potenzielle Probleme mit den konfigurierten JWT-Authentifikatoren zu überprüfen und Authentifizierungsereignisse nachzuverfolgen. - Testkonfigurationen: Überprüfen Sie zuerst Ihre JWT-Authentifikatorkonfiguration in einer Nichtproduktionsumgebung.
Sicherheitsüberlegungen
Beachten Sie bei der Verwendung externer Identitätsanbieter mit strukturierter AKS-Authentifizierung die folgenden Sicherheitsaspekte:
-
Präfixanforderungen: Alle Benutzernamen und Gruppen, die über die strukturierte Authentifizierung zugeordnet sind, müssen präfixiert
aks:jwt:werden, um Konflikte mit anderen Authentifizierungsmethoden und Systemkonten zu verhindern. -
Netzwerkzugriff: Identitätsanbieterendpunkte müssen zugänglich sein von:
- AKS-Clusterknoten für die Tokenüberprüfung.
- Clientsysteme für die Tokenerfassung.
- Alle Netzwerkpfade, die am Authentifizierungsfluss beteiligt sind.
-
Überprüfungsebenen: Die strukturierte Authentifizierung bietet mehrere Überprüfungsebenen:
- Die Tokensignaturüberprüfung stellt die Tokenauthentität sicher.
- Bei der Standardanspruchsüberprüfung werden der Aussteller, der Empfänger und das Ablaufdatum überprüft.
- Die benutzerdefinierte Anspruchsüberprüfung wendet die spezifischen Anforderungen Ihrer Organisation an.
- Benutzervalidierung abschließende Prüfungen nach der Anspruchszuordnung.
Verwandte Inhalte
Weitere Informationen zu strukturierten Authentifizierungs- und verwandten Features finden Sie in den folgenden Ressourcen: