Clusterzugriffskontrolle mit AKS-verwalteter Microsoft Entra-Integration
Wenn Sie Microsoft Entra-ID in Ihren AKS-Cluster integrieren, können Sie den bedingten Zugriff oder Privileged Identity Management (PIM) für Just-in-Time-Anforderungen verwenden, um den Zugriff auf Ihren Cluster zu steuern. In diesem Artikel erfahren Sie, wie Sie bedingten Zugriff und PIM für Ihre AKS-Cluster aktivieren.
Hinweis
Microsoft Entra Conditional Access and Privileged Identity Management (PIM) sind Microsoft Entra ID P1, P2 oder Governance-Funktionen, die eine Premium P2-SKU erfordern. Weitere Informationen zu Microsoft Entra ID-Lizenzen und SKUs finden Sie im Microsoft Entra ID Governance-Lizenzierungsgrundsätze und Preisleitfaden.
Voraussetzungen
- Eine Übersicht und Einrichtungsanweisungen finden Sie unter AKS-verwaltete Microsoft Entra-Integration.
Verwenden des Bedingten Zugriffs mit Microsoft Entra ID und AKS
Wechseln Sie im Azure-Portal zur Seite Microsoft Entra ID und wählen Sie Unternehmensanwendungen aus.
Wählen Sie Bedingter Zugriff>Richtlinie>Neue Richtlinie aus.
Geben Sie einen Namen für die Richtlinie ein (z. B. AKS-Richtlinie).
Klicken Sie unter Zuweisungen auf Benutzer und Gruppen. Wählen Sie Ihre Benutzer und Gruppen aus, auf die Sie die Richtlinie anwenden möchten. Wählen Sie in diesem Beispiel dieselbe Microsoft Entra-Gruppe aus, die Administratorzugriff auf Ihr Cluster hat.
Wählen Sie unter Cloud-Apps oder -Aktionen>Einschließen die Option Apps auswählen aus. Suchen Sie nach Azure Kubernetes Service und wählen Sie Azure Kubernetes Service Microsoft Entra Server aus.
Wählen Sie unter Zugriffssteuerung>Gewähren die Optionen Zugriff gewähren, Markieren des Geräts als kompatibel erforderlich und Alle ausgewählten Steuerungen anfordern aus.
Bestätigen Sie Ihre Einstellungen, legen Sie Richtlinie aktivieren auf Ein fest, und wählen Sie dann Erstellen aus.
Überprüfen, ob Ihre Richtlinie für bedingten Zugriff erfolgreich aufgeführt wurde
Rufen Sie die Benutzeranmeldeinformationen für den Zugriff auf den Cluster mit dem Befehl
az aks get-credentials
ab.az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
Befolgen Sie die Anweisungen zum Anmelden.
Verwenden Sie den Befehl
kubectl get nodes
zum Anzeigen der Knoten im Cluster.kubectl get nodes
Navigieren Sie im Azure-Portal zu Microsoft Entra ID und wählen Sie Unternehmensanwendungen>Aktivität>Anmeldungen aus.
In der Spalte Bedingter Zugriff sollte der Status Erfolg angezeigt werden. Wählen Sie das Ereignis und dann die Registerkarte Bedingter Zugriff aus. Ihre Richtlinie für bedingten Zugriff wird aufgeführt.
Konfigurieren des Just-in-Time-Clusterzugriffs mit Microsoft Entra ID und AKS
Wechseln Sie im Azure-Portal zur Microsoft Entra ID und wählen Sie Eigenschaften aus.
Beachten Sie den Wert, der unter Mandanten-ID aufgeführt ist. Auf diese wird in einem späteren Schritt als
<tenant-id>
verwiesen.Wählen Sie Gruppen>Neue Gruppe aus.
Vergewissern Sie sich, dass der Gruppentyp Sicherheit ausgewählt ist, und geben Sie einen Gruppennamen an, z. B. myJITGroup. Wählen Sie unter der Option Microsoft Entra-Rollen können dieser Gruppe zugewiesen werden (Vorschau), die Option Ja und dann Erstellen aus.
Wählen Sie auf der Seite Gruppen die soeben erstellte Gruppe aus, und notieren Sie sich die Objekt-ID. Auf diese wird in einem späteren Schritt als
<object-id>
verwiesen.Erstellen Sie das AKS-Cluster mit von AKS verwalteter Microsoft Entra-Integration mithilfe des Befehls
az aks create
mit--aad-admin-group-objects-ids
und--aad-tenant-id parameters
und schließen Sie die in den vorherigen Schritten aufgeführten Werte ein.az aks create \ --resource-group myResourceGroup \ --name myManagedCluster \ --enable-aad \ --aad-admin-group-object-ids <object-id> \ --aad-tenant-id <tenant-id> \ --generate-ssh-keys
Wählen Sie im Azure-Portal Aktivität> Privilegierter Zugriff (Vorschau)>Privilegierten Zugriff aktivieren aus.
Um Zugriff zu gewähren, wählen Sie Zuweisungen hinzufügen aus.
Wählen Sie in der Dropdownliste Rolle auswählen die Benutzer und Gruppen aus, denen Sie Clusterzugriff gewähren möchten. Diese Zuweisungen können jederzeit durch einen Gruppenadministrator geändert werden. Wählen Sie Weiteraus.
Wählen Sie unter Zuweisungstyp die Option Aktiv aus, und geben Sie dann die gewünschte Dauer an. Geben Sie eine Begründung an, und wählen Sie dann Zuweisen aus.
Weitere Informationen zu Zuweisungstypen finden Sie unter Zuweisen der Berechtigung für eine privilegierte Zugriffsgruppe (Vorschau) in Privileged Identity Management.
Überprüfen durch Zugriff auf den Cluster, ob der Just-in-Time-Zugriff funktioniert
Rufen Sie die Benutzeranmeldeinformationen für den Zugriff auf den Cluster mit dem Befehl
az aks get-credentials
ab.az aks get-credentials --resource-group myResourceGroup --name myManagedCluster
Führe die Anmeldeschritte aus.
Verwenden Sie den Befehl
kubectl get nodes
zum Anzeigen von Knoten im Cluster.kubectl get nodes
Beachten Sie die Authentifizierungsanforderung, und führen Sie die Authentifizierungsschritte aus. War der Vorgang erfolgreich, sollte eine Ausgabe ähnlich der folgenden Beispielausgabe angezeigt werden:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate. NAME STATUS ROLES AGE VERSION aks-nodepool1-61156405-vmss000000 Ready agent 6m36s v1.18.14 aks-nodepool1-61156405-vmss000001 Ready agent 6m42s v1.18.14 aks-nodepool1-61156405-vmss000002 Ready agent 6m33s v1.18.14
Just-In-Time-Zugriff auf Namespace-Ebene anwenden
Integrieren Sie Ihren AKS-Cluster in Azure RBAC.
Ordnen Sie mit dem Befehl
az role assignment create
die Gruppe, die Sie mit Just-In-Time-Zugriff integrieren möchten, einem Namespace im Cluster zu.az role assignment create --role "Azure Kubernetes Service RBAC Reader" --assignee <AAD-ENTITY-ID> --scope $AKS_ID/namespaces/<namespace-name>
Ordnen Sie die Gruppe, die Sie auf Namespaceebene konfiguriert haben, dem PIM zu, um die Konfiguration abzuschließen.
Problembehandlung
Es kann vorkommen, dass von kubectl get nodes
eine Fehlermeldung wie die folgende zurückgegeben wird:
Error from server (Forbidden): nodes is forbidden: User "aaaa11111-11aa-aa11-a1a1-111111aaaaa" cannot list resource "nodes" in API group "" at the cluster scope
Vergewissern Sie sich in diesem Fall, dass der Administrator der Sicherheitsgruppe Ihrem Konto eine Zuweisung vom Typ Aktiv erteilt hat.
Nächste Schritte
- Verwenden Sie kubelogin, um auf Features der Azure-Authentifizierung zuzugreifen, die in Kubectl nicht verfügbar sind.
Azure Kubernetes Service
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für