Überlegungen zur Identitäts- und Zugriffsverwaltung für AKS

Dieser Artikel enthält Überlegungen und Empfehlungen zum Entwurf der Identitäts- und Zugriffsverwaltung bei Verwendung von Azure Kubernetes Service (AKS). Die Identitäts- und Zugriffsverwaltung umfasst mehrere Aspekte wie Clusteridentitäten, Workloadidentitäten und den Operatorzugriff.

Überlegungen zum Entwurf

  • Entscheiden Sie, welche Clusteridentität verwendet werden soll (verwaltete Identität oder Dienstprinzipal).
  • Entscheiden Sie, wie der Clusterzugriff authentifiziert werden soll: basierend auf Clientzertifikaten oder über Microsoft Entra ID.
  • Entscheiden Sie sich für einen mehrinstanzenfähigen Cluster und wie Sie die rollenbasierte Zugriffssteuerung (RBAC, Role-Based Access Control) in Kubernetes einrichten möchten.
    • Wählen Sie eine Methode für die Isolation aus. Zu den Methoden gehören Namespace, Netzwerkrichtlinie (nur für Azure CNI zulässig), Compute (Knotenpool) und Cluster.
    • Bestimmen Sie die RBAC-Rollen von Kubernetes und die Computezuweisung pro Anwendungsteam für die Isolation.
    • Entscheiden Sie, ob Anwendungsteams andere Workloads in ihren Clustern oder in anderen Clustern lesen können.
  • Bestimmen Sie die Berechtigungen für benutzerdefinierte Azure RBAC-Rollen für Ihre AKS-Zielzone.
    • Entscheiden Sie, welche Berechtigungen für die Rolle „Sitezuverlässigkeits-Technik“ (SRE) erforderlich sind, um den gesamten Cluster zu verwalten bzw. Probleme für diesen zu beheben.
    • Entscheiden Sie, welche Berechtigungen für SecOps benötigt werden.
    • Entscheiden Sie, welche Berechtigungen für den Besitzer der Zielzone benötigt werden.
    • Entscheiden Sie, welche Berechtigungen die Anwendungsteams benötigen, um Bereitstellungen im Cluster durchführen zu können.
  • Entscheiden Sie, ob Sie Workloadidentitäten (Microsoft Entra-Workload-ID) benötigen. Möglicherweise benötigen Sie sie für Dienste wie Azure Key Vault-Integration und Azure Cosmos DB.

Entwurfsempfehlungen

  • Clusteridentitäten.
    • Verwenden Sie Ihre eigene verwaltete Identität für Ihren AKS-Cluster.
    • Definieren Sie benutzerdefinierte Azure RBAC-Rollen für Ihre AKS-Zielzone, um die Verwaltung der erforderlichen Berechtigungen für die vom Cluster verwaltete Identität zu vereinfachen.
  • Clusterzugriff.
    • Verwenden Sie RBAC in Kubernetes mit Microsoft Entra ID, um Berechtigungen einzuschränken und Administratorrechte zu minimieren. Dies trägt zum Schutz der Konfiguration und des Zugriffs auf Geheimnisse bei.
    • Verwenden Sie die AKS-seitig verwaltete Microsoft Entra-Integration, damit Sie Microsoft Entra ID für die Authentifizierung sowie für den Betreiber- und Entwicklerzugriff nutzen können.
  • Definieren Sie erforderliche RBAC-Rollen und -Rollenbindungen in Kubernetes.
    • Verwenden Sie Kubernetes-Rollen und -Rollenbindungen für Microsoft Entra-Gruppen für den SRE- und SecOps-Zugriff sowie den Entwicklerzugriff.
    • Erwägen Sie die Verwendung von Azure RBAC für Kubernetes, wodurch eine einheitliche Verwaltung und Zugriffssteuerung für Azure-, AKS- und Kubernetes-Ressourcen möglich wird. Wenn Azure RBAC für Kubernetes aktiviert ist, müssen Sie Benutzeridentitäten und Anmeldeinformationen für Kubernetes nicht separat verwalten. Microsoft Entra-Prinzipale werden exklusiv von Azure RBAC überprüft, reguläre Kubernetes-Benutzer und Dienstkonten werden hingegen exklusiv durch RBAC in Kubernetes überprüft.
  • Gewähren Sie SRE-Vollzugriff bei Bedarf Just-in-Time.
  • Verwenden Sie Microsoft Entra-Workload-ID für Kubernetes. Wenn Sie diesen Verbund implementieren, können Entwickler native Kubernetes-Dienstkonten und einen Verbund verwenden, um auf von Microsoft Entra ID verwaltete Ressourcen wie Azure und Microsoft Graph zuzugreifen.