Gewährung IAM Benutzer- und Rollenzugriff auf Kubernetes APIs - Amazon EKS

Helfen Sie mit, diese Seite 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.

Möchten Sie zu diesem Benutzerhandbuch beitragen? Wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet. Ihre Beiträge werden dazu beitragen, dass unser Benutzerhandbuch für alle besser wird.

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ährung IAM Benutzer- und Rollenzugriff auf Kubernetes APIs

Ihr Cluster hat eine Kubernetes API-Endpunkt. 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) -Prinzipal (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:

    • Kann sie zuweisen Kubernetes Berechtigungen, damit sie damit arbeiten können Kubernetes Objekte in Ihrem Cluster. Weitere Informationen darüber, wie Sie Ihren IAM-Prinzipalen Berechtigungen zuweisen, damit sie darauf zugreifen können Kubernetes Objekte in Ihrem Cluster finden Sie unter. Gewährung IAM Benutzerzugriff 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, mithilfe von IAM-Prinzipalen auf Ihren Cluster zuzugreifen, wird durch den AWS IAM Authenticator for Kubernetes bereitgestellt, der auf der Amazon EKS-Steuerebene ausgeführt wird.

  • Ein eigener Benutzer OpenID Connect (OIDC) Anbieter — Dieser Typ erfordert eine Authentifizierung bei Ihrem OIDC-Anbieter. Weitere Informationen zur Einrichtung Ihres eigenen OIDC Anbieter mit Ihrem Amazon EKS-Cluster, sieheGewähren Sie Benutzern Zugriff auf Kubernetes mit einem externen OIDC provider. Wenn Benutzer diese Art von Identität verwenden, gilt Folgendes:

    • Kann sie zuweisen Kubernetes Berechtigungen, damit sie damit arbeiten können Kubernetes Objekte in Ihrem Cluster.

    • 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

Der AWS IAM Authenticator für Kubernetes ist auf der Steuerungsebene Ihres Clusters installiert. Es ermöglicht AWS Identity and Access Management (IAM) -Prinzipale (Rollen und Benutzer), auf die Sie zugreifen dürfen Kubernetes Ressourcen auf Ihrem Cluster. Sie können IAM-Prinzipalen den Zugriff gewähren Kubernetes Objekte in Ihrem Cluster mit einer der folgenden Methoden:

  • Zugriffseinträge erstellen — Wenn Ihr Cluster die Plattformversion hat, die im Abschnitt Voraussetzungen für Ihren Cluster aufgeführt ist, oder höher ist Kubernetes Version, wir empfehlen Ihnen, diese Option zu verwenden.

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

    Folgen Sie zunächst den Anweisungen Authentifizierungsmodus zur Verwendung von Zugriffseinträgen ändern und anschließend Vorhandene aws-auth-Einträge zu ConfigMap Zugriffseinträgen migrieren.

  • Hinzufügen von Einträgen zum aws-auth ConfigMap — Wenn die Plattformversion Ihres Clusters älter ist als die im Abschnitt Voraussetzungen aufgeführte Version, müssen Sie diese Option verwenden. Wenn die Plattformversion Ihres Clusters der Plattformversion entspricht oder höher ist als die im Abschnitt Voraussetzungen für Ihren Cluster angegebene Plattformversion Kubernetes Version und Sie haben Einträge zur hinzugefügtConfigMap, dann empfehlen wir Ihnen, diese Einträge zu Access-Einträgen zu migrieren. Sie können ConfigMap jedoch keine Einträge migrieren, die Amazon EKS dem hinzugefügt hat, z. B. Einträge für IAM-Rollen, die mit verwalteten Knotengruppen oder Fargate-Profilen verwendet werden. Weitere Informationen finden Sie unter Gewährung IAM Benutzer- und Rollenzugriff auf Kubernetes APIs.

    • 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 Zugriff gewähren können Kubernetes Objekte auf Ihrem Cluster. 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.

Wenn Sie Hybridknoten mit Ihrem Cluster verwenden, müssen Sie den Authentifizierungsmodus API oder den API_AND_CONFIG_MAP Cluster-Authentifizierungsmodus verwenden.

Das aws-auth ConfigMap Innere 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. Diese anderen Benutzer können den ursprünglichen Benutzer nicht verwalten oder entfernen, da es im Bereich Zu verwalten keinen Eintrag gibt. ConfigMap

Sowohl der als ConfigMap auch der Zugriff auf Einträge

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 über die AWS CLI hinzufügen, aws-auth ConfigMap wird dieser nicht aktualisiert.

Nur auf Einträge zugreifen

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

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 STANDARD geben Sie ein und Kubernetes RBAC Gruppen, 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, der AWS Befehlszeilenschnittstelle AWS SDKs, AWS CloudFormation, AWS Management Console und zugreifen aws-auth ConfigMap

Nur EKS-API (API)

auf Einträge in der EKS-API, der AWS Befehlszeilenschnittstelle, AWS SDKs, AWS CloudFormation, zugreifen und AWS Management Console

Anmerkung

Amazon EKS Auto Mode erfordert Access-Einträge.