Der Unterschied zwischen role_based_access_control und azure_active_directory_role_based_access_control liegt in der Art, wie die Zugriffssteuerung (RBAC) und die Integration von Azure Active Directory (AAD) im Azure Kubernetes Service (AKS) implementiert wird.

1. role_based_access_control

  • Dies aktiviert das native Kubernetes RBAC (Role-Based Access Control) innerhalb des AKS-Clusters.
  • Die azure_active_directory-Sektion innerhalb von role_based_access_control ermöglicht die Integration von Azure AD in das Kubernetes RBAC-System.
  • Zugriff wird durch Kubernetes-Rollen und RoleBindings/ClusterRoleBindings gesteuert.
  • Hier nutzt du Kubernetes-RBAC in Kombination mit Azure AD für die Authentifizierung.
  • Beispiel:
role_based_access_control {
  enabled = true

  azure_active_directory {
    managed                = true
    admin_group_object_ids = ["<aad-admin-group-object-id>"]
  }
}
  • Wann verwenden?
    • Wenn du Kubernetes-native RBAC mit Azure AD verwenden möchtest.
    • Für feingranulare Kontrolle auf Kubernetes-Ebene.

2. azure_active_directory_role_based_access_control

  • Dies aktiviert Azure RBAC für das AKS-Cluster.
  • Azure RBAC nutzt die Azure-Rollen (Contributor, Reader, Owner) und benutzerdefinierte Azure-Rollen, um Zugriffsrechte direkt in Azure zu steuern, ohne auf Kubernetes-RBAC angewiesen zu sein.
  • In Kombination mit azure_rbac_enabled = true wird Azure RBAC die einzige Methode zur Steuerung des Zugriffs.
  • Beispiel:
azure_active_directory_role_based_access_control {
  admin_group_object_ids = var.aks_admin_group_object_ids
  azure_rbac_enabled     = true
}

  • Wann verwenden?
    • Wenn du Zugriffskontrolle auf Azure-Ebene möchtest, ohne dich mit Kubernetes-RBAC beschäftigen zu müssen.
    • Für einfachere und zentralisierte Verwaltung durch Azure-Rollen.

Hauptunterschiede:

Featurerole_based_access_controlazure_active_directory_role_based_access_control
Typ der ZugriffssteuerungKubernetes RBAC mit Azure AD-IntegrationAzure RBAC (Azure-Rollen und -Berechtigungen)
GranularitätSehr fein granular (z. B. Zugriff auf einzelne Namespaces)Grob granular, basierend auf Azure-Rollen
KonfigurationsebeneInnerhalb des Kubernetes-ClustersInnerhalb von Azure
Komplexität der VerwaltungErfordert Kubernetes-spezifische KenntnisseEinfacher, da Azure RBAC in der Azure-Umgebung bleibt
Integration mit bestehenden SystemenIdeal, wenn du bereits Kubernetes-RBAC verwendestIdeal, wenn du vorhandene Azure-Rollen und Zugriffssteuerungen nutzt

Wann solltest du was verwenden?

  • Verwende role_based_access_control, wenn:
    • Du Kubernetes-native Zugriffssteuerung benötigst.
    • Du eine detaillierte, anwendungs- oder namespace-spezifische Steuerung wünschst.
  • Verwende azure_active_directory_role_based_access_control, wenn:
    • Du eine zentralisierte, einfache Zugriffssteuerung auf Azure-Ebene bevorzugst.
    • Du bereits Azure-Rollen und RBAC in deiner Organisation etabliert hast.

Kombination:

Du kannst nicht beide Methoden gleichzeitig aktivieren. Wähle die Methode, die am besten zu deinen Anforderungen passt.

4o

Schreibe einen Kommentar