View a markdown version of this page

Gewähren Sie verwalteten EKS Auto Mode-Controllern zusätzliche Kubernetes-RBAC - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten unter, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Gewähren Sie verwalteten EKS Auto Mode-Controllern zusätzliche Kubernetes-RBAC

Amazon EKS Auto Mode verwaltet in Ihrem Namen die folgenden Controller: Load Balancing, Networking, Computing, Block Storage und Cluster Insights. Diese Controller werden auf der EKS-Steuerebene ausgeführt. Sie authentifizieren sich bei Ihrem Cluster als AWSServiceRoleForAmazonEKS dienstgebundene Rolle, und ihre clusterinternen Berechtigungen stammen aus AWS verwalteten Zugriffsrichtlinien, die diesem Zugriffseintrag zugeordnet sind.

Sie können den Kubernetes-RBAC eines verwalteten Controllers selbst erweitern. Dies ist nützlich, wenn die verwaltete Richtlinie noch keine erforderliche Berechtigung erteilt — zum Beispiel für eine bestimmte. get Secret

Auf Amazon EKS-Auto-Mode-Clustern deklariert der automatisch erstellte Zugriffseintrag für AWSServiceRoleForAmazonEKS auch die Kubernetes-Gruppe. eks:managed Kubernetes RBAC ist additiv. Ein RoleBinding (oderClusterRoleBinding) dessen subjects: Namen die eks:managed Gruppe den verwalteten Controllern zusätzlich zu den verwalteten Zugriffsrichtlinien zusätzliche Berechtigungen gewährt.

Funktionsweise

  • Die verwalteten EKS-Controller im automatischen Modus stellen als dienstgebundene Rolle eine AWSServiceRoleForAmazonEKS Verbindung zu Ihrem Cluster her.

  • Der automatisch erstellte Zugriffseintrag für diese Rolle wird deklariert. kubernetesGroups: ["eks:managed"]

  • Sie verfassen ein Role (mit Namespace) oder ClusterRole (clusterweit), das die zusätzliche Berechtigung beschreibt, und ein/, dessen Name die Gruppe ist. RoleBinding ClusterRoleBinding subjects: eks:managed

  • Kubernetes RBAC kombiniert Ihre Bindung mit den verwalteten Zugriffsrichtlinien, sodass die verwalteten Controller beide Berechtigungssätze erhalten.

Führen Sie Folgendes aus, um zu bestätigen, dass die Gruppe vorhanden ist:

CLUSTER=<your-cluster> REGION=<your-region> ACCT=$(aws sts get-caller-identity --query Account --output text) aws eks describe-access-entry \ --cluster-name "$CLUSTER" --region "$REGION" \ --principal-arn "arn:aws:iam::${ACCT}:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS" \ --query 'accessEntry.kubernetesGroups'

Erwartete Ausgabe:

[ "eks:managed" ]

Den Zuschuss eng eingrenzen

Die eks:managed Gruppe gilt für alle von EKS Auto Mode verwalteten Controller. Setzen Sie den zusätzlichen Zuschuss so eng ein, wie es Ihr Anwendungsfall zulässt, sodass Sie nur genau angeben, was ein verwalteter Controller benötigt:

  • Bevorzugen Sie Role + RoleBinding (mit Namespaces) gegenüber ClusterRole + (clusterweit). ClusterRoleBinding

  • Beschränken Sie resourcesresourceNames, und auf die kleinste Mengeverbs, die Ihren Anwendungsfall entsperrt. Gewähren get Sie zum Beispiel für einen einzelnen Namen Secret und nicht für list, watch alle Secret Objekte.

  • Löschen Sie die Role und RoleBinding wenn sie nicht mehr benötigt werden.

Überlegungen zu Amazon EKS Auto Mode

  • Dieser Mechanismus erweitert nur den Kubernetes-RBAC der von EKS Auto Mode verwalteten Controller. Er ändert nichts an den AWS IAM-Berechtigungen, die durch die Richtlinien für verwalteten Zugriff gewährt werden.

  • Die eks:managed Gruppe ist in EKS-Auto-Mode-Clustern vorhanden, deren dienstgebundene Rolle lautet. AWSServiceRoleForAmazonEKS

  • Eine Bindung an eks:managed gilt für jeden verwalteten EKS-Automodus-Controller. Verwenden resourceNames Sie Objekte mit NamespaceRole, um den praktischen Explosionsradius klein zu halten. Dadurch werden nur die Ressourcen angezeigt, die Sie benennen, und nur die Verben, die Sie gewähren.

  • Dies ist ein Überbrückungsmuster, das für Fälle gedacht ist, in denen eine Richtlinie für verwalteten Zugriff eine von Ihnen benötigte Genehmigung noch nicht abdeckt. Wenn eine AWS verwaltete Richtlinie die Berechtigung bereits abdeckt, verwenden Sie stattdessen die verwaltete Richtlinie.

Beispiel

Eine schrittweise Anleitung zur Freigabe des EKS-Load-Balancer-Controllers für den automatischen Modus get auf einem benannten OIDC Secret — Entsperren der alb.ingress.kubernetes.io/auth-type: oidc Anmerkung auf einem ALB — finden Sie unter. Ingress Gewähren Sie dem EKS Auto Mode Load Balancer-Controller Zugriff auf ein bestimmtes Secret