Freigeben über


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

Verwenden des Bedingten Zugriffs mit Microsoft Entra ID und AKS

  1. Wechseln Sie im Azure-Portal zur Seite Microsoft Entra ID und wählen Sie Unternehmensanwendungen aus.

  2. Wählen Sie Bedingter Zugriff>Richtlinie>Neue Richtlinie aus.

    Screenshot of adding a Conditional Access policy.

  3. Geben Sie einen Namen für die Richtlinie ein (z. B. AKS-Richtlinie).

  4. 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.

    Screenshot of selecting users or groups to apply the Conditional Access policy.

  5. 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.

    Screenshot of selecting Azure Kubernetes Service AD Server for applying the Conditional Access policy.

  6. 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.

    Screenshot of selecting to only allow compliant devices for the Conditional Access policy.

  7. Bestätigen Sie Ihre Einstellungen, legen Sie Richtlinie aktivieren auf Ein fest, und wählen Sie dann Erstellen aus.

    Screenshot of enabling the Conditional Access policy.

Überprüfen, ob Ihre Richtlinie für bedingten Zugriff erfolgreich aufgeführt wurde

  1. 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
    
  2. Befolgen Sie die Anweisungen zum Anmelden.

  3. Verwenden Sie den Befehl kubectl get nodes zum Anzeigen der Knoten im Cluster.

    kubectl get nodes
    
  4. Navigieren Sie im Azure-Portal zu Microsoft Entra ID und wählen Sie Unternehmensanwendungen>Aktivität>Anmeldungen aus.

  5. 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.

    Screenshot that shows failed sign-in entry due to Conditional Access policy.

Konfigurieren des Just-in-Time-Clusterzugriffs mit Microsoft Entra ID und AKS

  1. Wechseln Sie im Azure-Portal zur Microsoft Entra ID und wählen Sie Eigenschaften aus.

  2. Beachten Sie den Wert, der unter Mandanten-ID aufgeführt ist. Auf diese wird in einem späteren Schritt als <tenant-id> verwiesen.

    Screenshot of the Azure portal screen for Microsoft Entra ID with the tenant's ID highlighted.

  3. Wählen Sie Gruppen>Neue Gruppe aus.

    Screenshot of the Azure portal Active Directory groups screen with the New Group option highlighted.

  4. 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.

    Screenshot of the new group creation screen in the Azure portal.

  5. 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.

    Screenshot of the Azure portal screen for the just-created group with the Object ID highlighted.

  6. 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        
    
  7. Wählen Sie im Azure-Portal Aktivität> Privilegierter Zugriff (Vorschau)>Privilegierten Zugriff aktivieren aus.

    Screenshot of the Privileged access (Preview) page in the Azure portal with Enable privileged access highlighted.

  8. Um Zugriff zu gewähren, wählen Sie Zuweisungen hinzufügen aus.

    Screenshot of the Privileged access (Preview) screen in the Azure portal after enabling. The option to Add assignments is highlighted.

  9. 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.

    Screenshot of the Add assignments Membership screen in the Azure portal with a sample user selected to be added as a member. The Next option is highlighted.

  10. 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.

    Screenshot of the Add assignments Setting screen in the Azure portal. An assignment type of Active is selected and a sample justification has been given. The Assign option is highlighted.

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

  1. 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
    
  2. Führe die Anmeldeschritte aus.

  3. Verwenden Sie den Befehl kubectl get nodes zum Anzeigen von Knoten im Cluster.

    kubectl get nodes
    
  4. 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

  1. Integrieren Sie Ihren AKS-Cluster in Azure RBAC.

  2. 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>
    
  3. 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.