Freigeben über


Verwalten lokaler Konten mit AKS-verwalteter Microsoft Entra-Integration

Bei der Bereitstellung eines AKS-Clusters sind lokale Konten standardmäßig aktiviert. Selbst wenn Sie RBAC oder die Microsoft Entra-Integration aktivieren, ist der Zugriff mit --admin weiterhin möglich, da dieser Befehl eine nicht überwachbare Hintertüroption darstellt. In diesem Artikel erfahren Sie, wie Sie lokale Konten in einem vorhandenen Cluster deaktivieren, einen neuen Cluster mit deaktivierten lokalen Konten erstellen und lokale Konten in vorhandenen Clustern wieder aktivieren.

Voraussetzungen

Deaktivieren lokaler Konten

Sie können lokale Konten mit dem Parameter disable-local-accounts deaktivieren. Der API für verwaltete Cluster wurde das Feld properties.disableLocalAccounts hinzugefügt, um anzuzeigen, ob das Feature im Cluster aktiviert ist oder nicht.

Hinweis

  • In Clustern mit aktivierter Microsoft Entra-Integration können Benutzer*innen, die einer über aad-admin-group-object-ids angegebenen Microsoft Entra-Administratorgruppe zugewiesen sind, weiterhin Zugriff mithilfe von Anmeldeinformationen ohne Administratorrechte erhalten. In Clustern, bei denen die Microsoft Entra-Integration nicht aktiviert und properties.disableLocalAccounts auf true festgelegt ist, schlägt jeder Versuch, sich mit Benutzer- oder Administratoranmeldeinformationen zu authentifizieren, fehl.

  • Nachdem lokale Benutzerkonten in einem vorhandenen AKS-Cluster deaktiviert wurden, in dem sich Benutzer möglicherweise mit lokalen Konten authentifiziert haben, muss der Administrator die Clusterzertifikate rotieren, um die Zertifikate zu widerrufen, auf die diese Benutzer möglicherweise Zugriff hatten. Wenn es sich um einen neuen Cluster handelt, ist keine Aktion erforderlich.

Erstellen eines neuen Clusters ohne lokale Konten

  1. Um einen neuen AKS-Cluster ohne lokale Konten zu erstellen, verwenden Sie den Befehl az aks create mit dem Flag disable-local-accounts.

    az aks create \
        --resource-group <resource-group> \
        --name <cluster-name> \
        --enable-aad \
        --aad-admin-group-object-ids <aad-group-id> \
        --disable-local-accounts \
        --generate-ssh-keys
    
  2. Wenn das Feld properties.disableLocalAccounts in der Ausgabe auf true festgelegt ist, sind lokale Konten deaktiviert.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Führen Sie den Befehl az aks get-credentials aus, um sicherzustellen, dass der Cluster auf die Deaktivierung lokaler Konten festgelegt ist.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Ihre Ausgabe sollte die folgende Fehlermeldung anzeigen, die angibt, dass das Feature den Zugriff verhindert:

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Deaktivieren lokaler Konten in einem vorhandenen Cluster

  1. Verwenden Sie den Befehl az aks update mit dem Parameter disable-local-accounts, um lokale Konten in einem vorhandenen AKS-Cluster mit aktivierter Microsoft Entra-Integration zu deaktivieren.

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. Wenn das Feld properties.disableLocalAccounts in der Ausgabe auf true festgelegt ist, sind lokale Konten deaktiviert.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Führen Sie den Befehl az aks get-credentials aus, um sicherzustellen, dass der Cluster auf die Deaktivierung lokaler Konten festgelegt ist.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Ihre Ausgabe sollte die folgende Fehlermeldung anzeigen, die angibt, dass das Feature den Zugriff verhindert:

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Reaktivieren lokaler Konten in einem vorhandenen Cluster

  1. Aktivieren Sie ein deaktiviertes lokales Konto in einem vorhandenen Cluster mithilfe des Befehls az aks update mit dem Parameter enable-local-accounts neu.

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. Wenn das Feld properties.disableLocalAccounts in der Ausgabe auf false festgelegt ist, sind lokale Konten wieder aktiviert.

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. Führen Sie den Befehl az aks get-credentials aus, um sicherzustellen, dass der Cluster auf die Aktivierung lokaler Konten festgelegt ist.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Ihre Ausgabe sollte die folgende Meldung anzeigen, die angibt, dass Sie lokale Konten im Cluster erfolgreich aktiviert haben:

    Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
    

Nächste Schritte