Gewähren Sie IAM Benutzern und Rollen Zugriff auf KubernetesAPIs - Amazon EKS

Helfen Sie mit, diese Seite zu verbessern

Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.

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 IAM Benutzern und Rollen Zugriff auf KubernetesAPIs

Ihr Cluster hat einen API-Endpunkt. Kubernetes Kubectl verwendet diese API. Sie können sich mit zwei Arten von Identitäten bei dieser API authentifizieren:

  • Ein AWS Identity and Access Management (IAM-) Principal (Rolle oder Benutzer) — Dieser Typ erfordert eine Authentifizierung bei IAM. Benutzer können sich AWS als IAM-Benutzer oder mit einer föderierten Identität anmelden, indem sie Anmeldeinformationen verwenden, die über eine Identitätsquelle bereitgestellt wurden. Benutzer können sich nur dann mit einer Verbundidentität anmelden, wenn Ihr Administrator zuvor mithilfe von IAM-Rollen einen Identitätsverbund eingerichtet hat. Wenn Benutzer AWS mithilfe eines Verbunds darauf zugreifen, übernehmen sie indirekt eine Rolle. Wenn Benutzer diese Art von Identität verwenden, gilt Folgendes:

    • Sie können ihnen Kubernetes-Berechtigungen zuweisen, damit sie mit Kubernetes-Objekten in Ihrem Cluster arbeiten können. Weitere Informationen dazu, wie Sie Ihren IAM-Prinzipalen Berechtigungen zuweisen, damit sie auf Kubernetes-Objekte in Ihrem Cluster zugreifen können, finden Sie hier: Gewähren Sie IAM Benutzern Zugriff auf Kubernetes mit EKS-Zugangseinträgen.

    • Kann ihnen IAM-Berechtigungen zuweisen, sodass sie mithilfe der Amazon EKS-API,,, AWS CLI oder eksctl mit Ihrem Amazon EKS-Cluster und seinen Ressourcen arbeiten können. AWS CloudFormation AWS Management Console Weitere Informationen finden Sie in der Service-Authorization-Referenz unter Von Amazon Elastic Kubernetes Service definierte Aktionen.

    • Wenn Knoten in Ihren Cluster eingebunden werden, nehmen sie eine IAM-Rolle an. Die Möglichkeit, mit IAM-Prinzipalen auf Ihren Cluster zuzugreifen, wird durch den AWS -IAM-Authenticator für Kubernetes bereitgestellt, der auf der Steuerebene von Amazon EKS ausgeführt wird.

  • Ein Benutzer in Ihrem eigenen OIDC-Anbieter (OpenID Connect): Bei diesen Typ ist eine Authentifizierung bei Ihrem OIDC-Anbieter erforderlich. Weitere Informationen zur Einrichtung Ihres eigenen OIDC-Anbieters mit Ihrem Amazon-EKS-Cluster finden Sie unter Gewähren Sie Benutzern Zugriff Kubernetes auf einen externen OIDC Anbieter. Wenn Benutzer diese Art von Identität verwenden, gilt Folgendes:

    • Sie können ihnen Kubernetes-Berechtigungen zuweisen, damit sie mit Kubernetes-Objekten in Ihrem Cluster arbeiten können.

    • Ihnen können keine IAM-Berechtigungen zugewiesen werden, sodass sie mithilfe der Amazon EKS-API,,, AWS CLI oder eksctl mit Ihrem Amazon EKS-Cluster und seinen Ressourcen arbeiten können. AWS CloudFormation AWS Management Console

Sie können beide Arten von Identitäten mit Ihrem Cluster verwenden. Die IAM-Authentifizierungsmethode kann nicht deaktiviert werden. Die OIDC-Authentifizierungsmethode ist optional.

Verknüpfen Sie IAM-Identitäten mit Kubernetes-Berechtigungen

Die AWS -IAM-Authentifizierung für Kubernetes ist auf der Steuerebene Ihres Clusters installiert. Sie ermöglicht von Ihnen zugelassenen AWS Identity and Access Management (IAM)-Prinzipalen (Rollen und Benutzer) den Zugriff auf Kubernetes-Ressourcen in Ihrem Cluster. Sie können eine der folgenden Methoden verwenden, um IAM-Prinzipalen Zugriff auf Kubernetes-Objekte in Ihrem Cluster zu gewähren:

  • Erstellen von Zugriffseinträgen: Wenn Ihr Cluster mindestens über die Plattformversion verfügt, die im Abschnitt Voraussetzungen für die Kubernetes-Version Ihres Clusters aufgeführt ist, sollten Sie diese Option verwenden.

    Verwenden Sie Zugriffseinträge, um die Kubernetes-Berechtigungen von IAM-Prinzipalen außerhalb des Clusters zu verwalten. Sie können den Zugriff auf den Cluster mithilfe der EKS-API, der AWS SDKs und und hinzufügen AWS Command Line Interface und verwalten. AWS CloudFormation AWS Management Console Für die Benutzerverwaltung können also die gleichen Tools verwendet werden wie für die Clustererstellung.

    Beginnen Sie mit Einrichten von Zugriffseinträgen, gefolgt von Migrieren vorhandener aws-auth ConfigMap-Einträge zu Zugriffseinträgen.

  • Hinzufügen von Einträgen zu aws-auth ConfigMap: Wenn die Plattformversion Ihres Clusters älter ist als die im Abschnitt Voraussetzungen aufgeführte Version, muss diese Option verwendet werden. Falls die Plattformversion Ihres Clusters mindestens der Plattformversion entspricht, die im Abschnitt Voraussetzungen für die Kubernetes-Version Ihres Clusters angegeben ist, und Sie Einträge zu ConfigMap hinzugefügt haben, empfiehlt es sich, diese Einträge zu Zugriffseinträgen zu migrieren. Sie können allerdings keine Einträge migrieren, die von Amazon EKS zu ConfigMap hinzugefügt wurden (also beispielsweise Einträge für IAM-Rollen, die mit verwalteten Knotengruppen oder Fargate-Profilen verwendet werden). Weitere Informationen finden Sie unter Gewähren Sie IAM Benutzern und Rollen Zugriff auf KubernetesAPIs.

    • Wenn Sie aws-auth ConfigMap verwenden müssen, können Sie mithilfe des Befehls eksctl create iamidentitymapping Einträge zu ConfigMap hinzufügen. Weitere Informationen finden Sie in der Dokumentation zu eksctl unter Manage IAM users and roles.

Stellen Sie den Cluster-Authentifizierungsmodus ein

Jeder Cluster hat einen Authentifizierungsmodus. Der Authentifizierungsmodus bestimmt, mit welchen Methoden Sie IAM-Prinzipalen den Zugriff auf Kubernetes-Objekte in Ihrem Cluster ermöglichen können. Es gibt drei Authentifizierungsmodi.

Wichtig

Sobald die Zugriffseingabemethode aktiviert ist, kann sie nicht deaktiviert werden.

Wenn die ConfigMap Methode bei der Clustererstellung nicht aktiviert wurde, kann sie später nicht aktiviert werden. Bei allen Clustern, die vor der Einführung von Zugriffseinträgen erstellt wurden, ist die ConfigMap Methode aktiviert.

aws-auth ConfigMap innerhalb des Clusters

Dies ist der ursprüngliche Authentifizierungsmodus für Amazon-EKS-Cluster. Der IAM-Prinzipal, der den Cluster erstellt hat, ist zunächst der einzige Benutzer, der über kubectl auf den Cluster zugreifen kann. Dieser Benutzer muss der Liste in aws-auth ConfigMap weitere Benutzer hinzufügen und Berechtigungen zuweisen, die sich auf die anderen Benutzer innerhalb des Clusters auswirken. Die anderen Benutzer können den ursprünglichen Benutzer nicht verwalten oder entfernen, da ConfigMap keinen zu verwaltenden Eintrag enthält.

Kombination aus ConfigMap und Zugriffseinträgen

In diesem Authentifizierungsmodus können Sie beide Methoden verwenden, um dem Cluster IAM-Prinzipale hinzuzufügen. Beachten Sie, dass jede Methode separate Einträge speichert. Wenn Sie beispielsweise einen Zugriffseintrag aus dem hinzufügen AWS CLI, aws-auth ConfigMap wird der nicht aktualisiert.

Nur Zugriffseinträge

In diesem Authentifizierungsmodus können Sie die EKS-API, die AWS SDKs und verwenden AWS Command Line Interface, AWS Management Console um den Zugriff auf den Cluster für IAM-Prinzipale zu verwalten. AWS CloudFormation

Jeder Zugriffseintrag hat einen Typ und Sie können eine Kombination aus Zugriffsbereich und Zugriffsrichtlinie verwenden, um mithilfe des Zugriffsbereichs den Prinzipal auf einen bestimmten Namespace zu beschränken und mithilfe der Zugriffsrichtlinie vorkonfigurierte, wiederverwendbare Berechtigungsrichtlinien festzulegen. Alternativ können Sie den Typ STANDARD und Kubernetes-RBAC-Gruppen verwenden, um benutzerdefinierte Berechtigungen zuzuweisen.

Authentifizierungsmodus Methoden
Nur ConfigMap (CONFIG_MAP) aws-auth ConfigMap
EKS-API und ConfigMap (API_AND_CONFIG_MAP) auf Einträge in der EKS-API AWS Command Line Interface, den AWS SDKs und und zugreifen AWS CloudFormation AWS Management Console aws-auth ConfigMap
Nur EKS-API (API) auf Einträge in der EKS-API, AWS SDKs AWS Command Line Interface, und AWS CloudFormation zugreifen AWS Management Console