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.
Zugangseinträge verwalten
Voraussetzungen
-
Vertrautheit mit den Cluster-Zugriffsoptionen für Ihren Amazon-EKS-Cluster. Weitere Informationen finden Sie unter Zugriff auf Kubernetes APIs gewähren .
-
Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Erste Schritte mit Amazon EKS. Um Zugriffseinträge verwenden und den Authentifizierungsmodus eines Clusters ändern zu können, muss der Cluster über eine Plattformversion verfügen, die mindestens der Version aus der folgenden Tabelle entspricht, oder über eine Kubernetes-Version, die neuer als die in der Tabelle aufgeführten Versionen ist.
Kubernetes-Version |
Plattformversion |
1.30 |
eks.2 |
1.29 |
eks.1 |
1.28 |
eks.6 |
1.27 |
eks.10 |
1.26 |
eks.11 |
1.25 |
eks.12 |
1.24 |
eks.15 |
1.23 |
eks.17 |
Sie können Ihre aktuelle Kubernetes- und Plattformversion überprüfen, indem Sie my-cluster
im folgenden Befehl durch den Namen Ihres Clusters ersetzen und dann den geänderten Befehl ausführen: aws eks
describe-cluster --name my-cluster
--query
'cluster.{"Kubernetes Version": version, "Platform Version":
platformVersion}'
.
Nachdem Amazon EKS Ihren Cluster auf die in der Tabelle aufgeführte Plattformversion aktualisiert hat, erstellt Amazon EKS für den IAM-Prinzipal, der den Cluster ursprünglich erstellt hat, einen Zugriffseintrag mit Administratorberechtigungen für den Cluster. Falls dieser IAM-Prinzipal nicht über Administratorberechtigungen für den Cluster verfügen soll, entfernen Sie den von Amazon EKS erstellten Zugriffseintrag.
Bei Clustern mit Plattformversionen, die älter sind als die in der vorherigen Tabelle aufgeführten Versionen, ist der Cluster-Ersteller immer ein Cluster-Administrator. Es ist nicht möglich, dem IAM-Benutzer oder der IAM-Rolle, der bzw. die den Cluster erstellt hat, die Cluster-Administratorberechtigungen zu entziehen.
-
Ein IAM-Prinzipal mit folgenden Berechtigungen für Ihren Cluster: CreateAccessEntry
, ListAccessEntries
, DescribeAccessEntry
, DeleteAccessEntry
und UpdateAccessEntry
. Weitere Informationen zu Amazon-EKS-Berechtigungen finden Sie in der Service-Authorization-Referenz unter Von Amazon Elastic Kubernetes Service definierte Aktionen.
-
Ein vorhandener IAM-Prinzipal, für den ein Zugriffseintrag erstellt werden soll, oder ein vorhandener Zugriffseintrag, der aktualisiert oder gelöscht werden soll.
Einrichten von Zugriffseinträgen
Wenn Sie Zugriffseinträge verwenden möchten, müssen Sie zunächst den Authentifizierungsmodus des Clusters in API_AND_CONFIG_MAP
oder API
ändern. Dadurch wird die API für Zugriffseinträge hinzugefügt.
- AWS Management Console
-
So erstellen Sie einen Zugriffseintrag
Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.
-
Wählen Sie den Namen des Clusters aus, in dem Sie einen Zugriffseintrag erstellen möchten.
-
Wählen Sie die Registerkarte Zugriff aus.
-
Unter Authentifizierungsmodus wird der aktuelle Authentifizierungsmodus des Clusters angezeigt. Wenn der Modus EKS API lautet, können Sie bereits Zugriffseinträge hinzufügen und die restlichen Schritte überspringen.
-
Wählen Sie Zugriff verwalten aus.
-
Wählen Sie unter Cluster-Authentifizierungsmodus einen Modus mit der EKS API aus. Beachten Sie, dass der Authentifizierungsmodus nicht mehr in einen Modus geändert werden kann, in dem die EKS API und die Zugriffseinträge entfernt werden.
-
Wählen Sie Änderungen speichern aus. Amazon EKS beginnt mit der Aktualisierung des Clusters, der Status des Clusters ändert sich in Updating und die Änderung wird auf der Registerkarte Aktualisierungsverlauf erfasst.
-
Warten Sie, bis der Cluster wieder den Status Active hat. Wenn der Clusterstatus wieder Active lautet, können Sie die unter Erstellen von Zugriffseinträgen angegebenen Schritte ausführen, um Clusterzugriff für IAM-Prinzipale hinzuzufügen.
- AWS CLI
-
Voraussetzung
Die neueste Version von Version AWS CLI 1 ist auf Ihrem Gerät installiert und konfiguriert oder. AWS CloudShell AWS CLI v2 unterstützt seit einigen Tagen keine neuen Funktionen. Sie können Ihre aktuelle Version mit aws --version | cut -d / -f2 | cut -d ' ' -f1
überprüfen. Paket-Manager wie yum
, apt-get
oder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation, Aktualisierung und Deinstallation
AWS CLI und Schnellkonfiguration mit aws configure
im AWS Command Line Interface Benutzerhandbuch. Die in der installierte AWS CLI Version AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch.
-
Führen Sie den folgenden Befehl aus. Ersetzen Sie my-cluster
durch den Namen Ihres Clusters. Wenn Sie die ConfigMap
-Methode dauerhaft deaktivieren möchten, ersetzen Sie API_AND_CONFIG_MAP
durch API
.
Amazon EKS beginnt mit der Aktualisierung des Clusters, der Status des Clusters ändert sich in UPDATING und die Änderung wird in aws eks
list-updates erfasst.
aws eks update-cluster-config --name my-cluster
--access-config authenticationMode=API_AND_CONFIG_MAP
-
Warten Sie, bis der Cluster wieder den Status Active hat. Wenn der Clusterstatus wieder Active lautet, können Sie die unter Erstellen von Zugriffseinträgen angegebenen Schritte ausführen, um Clusterzugriff für IAM-Prinzipale hinzuzufügen.
Erstellen von Zugriffseinträgen
Überlegungen
Berücksichtigen Sie Folgendes, bevor Sie Zugriffseinträge erstellen:
-
Ein Zugriffseintrag enthält den Amazon-Ressourcennamen (ARN) genau eines vorhandenen IAM-Prinzipals. Ein IAM-Prinzipal kann nicht in mehreren Zugriffseinträgen enthalten sein. Zusätzliche Überlegungen zu dem von Ihnen angegebenen ARN:
-
In den bewährten Methoden für IAM wird empfohlen, für den Zugriff auf Ihren Cluster IAM-Rollen mit kurzfristigen Anmeldeinformationen zu verwenden anstatt IAM-Benutzer mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Erfordern, dass menschliche Benutzer für den Zugriff AWS mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter verwenden müssen.
-
Ein ARN für eine IAM-Rolle kann einen Pfad enthalten. ARNs in aws-auth
ConfigMap
-Einträgen können keinen Pfad enthalten. Ihr ARN kann beispielsweise arn:aws:iam::111122223333
:role/development/apps/
my-role
oder arn:aws:iam::111122223333
:role/my-role
lauten.
-
Wenn der Typ des Zugriffseintrags etwas anderes ist als STANDARD
(siehe nächste Überlegung zu Typen), muss sich der ARN in demselben befinden AWS-Konto , in dem sich Ihr Cluster befindet. Wenn der Typ istSTANDARD
, kann sich der ARN in demselben oder einem anderen Konto befinden AWS-Konto als das Konto, in dem sich Ihr Cluster befindet.
-
Nach der Erstellung des Zugriffseintrags kann der IAM-Prinzipal nicht mehr geändert werden.
-
Sollten Sie den IAM-Prinzipal mit diesem ARN löschen, wird der Zugriffseintrag nicht automatisch gelöscht. Es empfiehlt sich, den Zugriffseintrag mit einem ARN für einen gelöschten IAM-Prinzipal zu löschen. Wenn Sie den Zugriffseintrag nicht löschen und den IAM-Prinzipal später einmal erneut erstellen, funktioniert der Zugriffseintrag nicht mehr, auch wenn der ARN gleich ist. Dies liegt daran, dass, obwohl der ARN für den neu erstellten IAM-Prinzipal derselbe ist, der roleID
oder userID
(Sie können dies mit dem aws sts get-caller-identity
AWS CLI Befehl sehen) für den neu erstellten IAM-Prinzipal anders ist als für den ursprünglichen IAM-Prinzipal. Auch wenn Sie die Rollen-ID (roleID
) bzw. die Benutzer-ID (userID
) des IAM-Prinzipals für einen Zugriffseintrag nicht sehen, wird sie von Amazon EKS zusammen mit dem Zugriffseintrag gespeichert.
-
Jeder Zugriffseintrag hat einen Typ. Sie können EC2 Linux
(für eine IAM-Rolle, die mit selbstverwalteten Linux- oder Bottlerocket-Knoten verwendet wird), EC2 Windows
(für eine IAM-Rolle, die mit selbstverwalteten Windows-Knoten verwendet wird), FARGATE_LINUX
(für IAM-Rollen, die mit verwendet werden AWS Fargate (Fargate)) oder STANDARD
als Typ angeben. Wenn Sie keinen Typ angeben, wird er von Amazon EKS automatisch auf STANDARD
festgelegt. Für eine IAM-Rolle, die für eine verwaltete Knotengruppe oder für ein Fargate-Profil verwendet wird, muss kein Zugriffseintrag erstellt werden, da Amazon EKS Einträge für diese Rollen zu aws-auth
ConfigMap
hinzufügt (unabhängig davon, welche Plattformversion Ihr Cluster verwendet).
Nach der Erstellung des Zugriffseintrags kann der Typ nicht mehr geändert werden.
-
Wenn der Typ des Zugriffseintrags STANDARD
lautet, können Sie einen Benutzernamen für den Zugriffseintrag angeben. Wenn Sie keinen Wert für den Benutzernamen angeben, legt Amazon EKS einen der folgenden Werte für Sie fest, abhängig vom Typ des Zugriffseintrags und davon, ob es sich bei dem von Ihnen angegebenen IAM-Prinzipal um eine IAM-Rolle oder um einen IAM-Benutzer handelt. Sofern Sie keinen spezifischen Grund für die Angabe eines eigenen Benutzernamens haben, empfehlen wir, keinen anzugeben und ihn automatisch von Amazon EKS generieren zu lassen. Beachten Sie bei Angabe eines eigenen Benutzernamens Folgendes:
-
Er darf nicht mit system:
, eks:
, aws:
, amazon:
oder iam:
beginnen.
-
Bei einem Benutzername für eine IAM-Rolle empfiehlt es sich, am Ende des Benutzernamens {{SessionName}}
hinzuzufügen. Wenn Sie Ihrem Benutzernamen etwas hinzufügen{{SessionName}}
, muss der Benutzername einen Doppelpunkt vor {{}} enthalten. SessionName Wenn diese Rolle übernommen wird, wird der Name der Sitzung, der bei der Übernahme der Rolle angegeben wurde, automatisch an den Cluster übergeben und erscheint in den CloudTrail Protokollen. Der Benutzername john{{SessionName}}
ist beispielsweise nicht zulässig. Er müsste :john{{SessionName}}
oder jo:hn{{SessionName}}
lauten. Der Doppelpunkt muss sich nur vor {{SessionName}}
befinden. Der von Amazon EKS generierte Benutzername in der folgenden Tabelle enthält einen ARN. Da ein ARN Doppelpunkte enthält, erfüllt er diese Anforderung. Der Doppelpunkt ist nicht erforderlich, wenn Sie {{SessionName}}
nicht in Ihren Benutzernamen einschließen.
IAM-Prinzipaltyp |
Typ |
Von Amazon EKS automatisch festgelegter Wert für den Benutzernamen |
Benutzer |
STANDARD |
Der ARN des Benutzers. Beispiel: arn:aws:iam::111122223333 :user/my-user
|
Rolle |
STANDARD |
Der STS-ARN der Rolle, wenn sie angenommen wird. Amazon EKS fügt am Ende der Rolle {{SessionName}} hinzu. Beispiel: arn:aws:sts::111122223333 :assumed-role/my-role /{{SessionName}}
Wenn der ARN der von Ihnen angegebenen Rolle einen Pfad enthalten hat, wird dieser von Amazon EKS im generierten Benutzernamen entfernt. |
Rolle |
EC2 Linux oder EC2
Windows |
system:node:{{EC2PrivateDNSName}}
|
Rolle |
FARGATE_LINUX |
system:node:{{SessionName}}
|
Sie können den Benutzernamen ändern, nachdem der Zugriffseintrag erstellt wurde.
-
Wenn der Typ eines Zugriffseintrags STANDARD
ist und Sie die Kubernetes-RBAC-Autorisierung verwenden möchten, können Sie dem Zugriffseintrag einen oder mehrere Gruppennamen hinzufügen. Gruppennamen können nach der Erstellung eines Zugriffseintrags hinzugefügt und entfernt werden. Damit der IAM-Prinzipal auf Kubernetes-Objekte in Ihrem Cluster zugreifen kann, müssen Sie Kubernetes-RBAC-Objekte (rollenbasierte Autorisierung) erstellen und verwalten. Erstellen Sie Kubernetes-, RoleBinding
- oder ClusterRoleBinding
-Objekte für Ihren Cluster, die den Gruppennamen als subject
für kind: Group
angeben. Kubernetes autorisiert den IAM-Prinzipalzugriff auf alle Clusterobjekte, die Sie in einem Kubernetes-Objekt vom Typ Role
oder ClusterRole
angegeben haben, das Sie auch in roleRef
Ihrer Bindung angegeben haben. Wenn Sie Gruppennamen angeben, sollten Sie mit den Kubernetes-RBAC-Objekten (rollenbasierte Autorisierung) vertraut sein. Weitere Informationen finden Sie unter Using RBAC authorization in der Kubernetes-Dokumentation.
Amazon EKS überprüft nicht, ob ggf. in Ihrem Cluster vorhandene Kubernetes-RBAC-Objekte einen der von Ihnen angegebenen Gruppennamen enthalten.
Anstelle der Autorisierung des IAM-Prinzipalzugriffs auf Kubernetes-Objekte in Ihrem Cluster durch Kubernetes (oder zusätzlich dazu) können Sie einem Zugriffseintrag Amazon EKS-Zugriffsrichtlinien zuordnen. Amazon EKS autorisiert für IAM-Prinzipale den Zugriff auf Kubernetes-Objekte in Ihrem Cluster mit den in der Zugriffsrichtlinie festgelegten Berechtigungen. Sie können die Berechtigungen einer Zugriffsrichtlinie auf von Ihnen angegebene Kubernetes-Namespaces ausrichten. Für die Verwendung von Zugriffsrichtlinien müssen keine Kubernetes-RBAC-Objekte verwaltet werden. Weitere Informationen finden Sie unter Zuordnen von Zugriffsrichtlinien zu Zugriffseinträgen und Aufheben dieser Zuordnung.
-
Wenn Sie einen Zugriffseintrag mit dem Typ EC2 Linux
oder EC2 Windows
erstellen, muss der IAM-Prinzipal, der den Zugriffseintrag erstellt, über die Berechtigung iam:PassRole
verfügen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Erteilen von Berechtigungen, mit denen ein Benutzer eine Rolle an einen AWS-Serviceübergeben kann.
-
Ähnlich wie beim standardmäßigen IAM-Verhalten sind die Erstellung und Aktualisierung von Zugriffseinträgen letztlich konsistent und es kann mehrere Sekunden dauern, bis sie wirksam werden, nachdem der erste API-Aufruf erfolgreich abgeschlossen wurde. Sie müssen Ihre Anwendungen unter Berücksichtigung dieser potenziellen Verzögerungen konzipieren. Es empfiehlt sich, in die kritischen, hochverfügbaren Code-Pfade Ihrer Anwendung keine Erstellungen oder Aktualisierungen von Zugriffseinträgen einzuschließen. Nehmen Sie -Änderungen stattdessen in einer separaten Initialisierungs- oder Einrichtungsroutine vor, die seltener ausgeführt wird. Vergewissern Sie sich auch, dass die Änderungen weitergegeben wurden, bevor die Produktionsarbeitsabläufe davon abhängen.
-
Zugriffseinträge unterstützen keine dienstbezogenen Rollen. Sie können keine Zugriffseinträge erstellen, bei denen der Prinzipal-ARN eine dienstverknüpfte Rolle ist. Sie können dienstverknüpfte Rollen anhand ihrer ARN identifizieren, die im folgenden Format angegeben istarn:aws:iam::*:role/aws-service-role/*
.
Sie können einen Zugriffseintrag mit dem AWS Management Console oder dem erstellen AWS CLI.
- AWS Management Console
-
So erstellen Sie einen Zugriffseintrag
Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.
-
Wählen Sie den Namen des Clusters aus, in dem Sie einen Zugriffseintrag erstellen möchten.
-
Wählen Sie die Registerkarte Zugriff aus.
-
Wählen Sie Zugriffseintrag erstellen aus.
-
Wählen Sie unter IAM-Prinzipal eine bereits vorhandene IAM-Rolle oder einen bereits vorhandenen IAM-Benutzer aus. In den bewährten Methoden für IAM wird empfohlen, für den Zugriff auf Ihren Cluster IAM-Rollen mit kurzfristigen Anmeldeinformationen zu verwenden anstatt IAM-Benutzer mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Erfordern, dass menschliche Benutzer den Verbund mit einem Identitätsanbieter verwenden müssen, um AWS mithilfe temporärer Anmeldeinformationen darauf zuzugreifen.
-
Wählen Sie unter Typ die Option EC2 Linux oder EC2 Windows aus, wenn sich der Zugriffseintrag auf die Knotenrolle bezieht, die für selbstverwaltete Amazon-EC2-Knoten verwendet wird. Übernehmen Sie andernfalls die Standardeinstellung (Standard).
-
Wenn Sie unter Typ die Option Standard ausgewählt haben, können Sie bei Bedarf unter Benutzername einen Benutzernamen angeben.
-
Wenn Sie unter Typ die Option Standard ausgewählt haben und die Kubernetes-RBAC-Autorisierung für den IAM-Prinzipal verwenden möchten, können Sie unter Gruppen einen oder mehrere Namen angeben. Wenn Sie keine Gruppennamen angeben und die Amazon-EKS-Autorisierung verwenden möchten, können Sie in einem späteren Schritt (oder nach der Erstellung des Zugriffseintrags) eine Zugriffsrichtlinie zuordnen.
-
(Optional) Weisen Sie dem Zugriffseintrag unter Tags Beschriftungen zu. So können Sie beispielsweise ganz einfach nach allen Ressourcen mit dem gleichen Tag suchen.
-
Wählen Sie Weiter aus.
-
Wenn Sie den Typ Standard ausgewählt haben und möchten, dass Amazon EKS den IAM-Prinzipal autorisiert, damit dieser über Berechtigungen für die Kubernetes-Objekte in Ihrem Cluster verfügt, können Sie auf der Seite Zugriffsrichtlinie hinzufügen die folgenden Schritte ausführen. Klicken Sie andernfalls auf Next (Weiter).
-
Wählen Sie unter Richtlinienname eine Zugriffsrichtlinie aus. Sie können zwar die Berechtigungen der Zugriffsrichtlinien nicht anzeigen, sie enthalten aber ähnliche Berechtigungen wie die für Benutzer vorgesehenen Kubernetes-Objekte vom Typ ClusterRole
. Weitere Informationen finden Sie in der Dokumentation zu Kubernetes unter User-facing roles.
-
Wählen Sie eine der folgenden Optionen:
-
Cluster: Wählen Sie diese Option aus, wenn Amazon EKS den IAM-Prinzipal so autorisieren soll, dass er für alle Kubernetes-Objekte in Ihrem Cluster über die in der Zugriffsrichtlinie festgelegten Berechtigungen verfügt.
-
Kubernetes-Namespace: Wählen Sie diese Option aus, wenn Amazon EKS den IAM-Prinzipal so autorisieren soll, dass er für alle Kubernetes-Objekte in einem spezifischen Kubernetes-Namespace Ihres Clusters über die in der Zugriffsrichtlinie festgelegten Berechtigungen verfügt. Geben Sie unter Namespace den Namen des Kubernetes-Namespace in Ihrem Cluster ein. Wenn Sie zusätzliche Namespaces hinzufügen möchten, wählen Sie Neuen Namespace hinzufügen aus und geben Sie den Namespace-Namen ein.
-
Wenn Sie weitere Richtlinien hinzufügen möchten, wählen Sie Richtlinie hinzufügen aus. Sie können für jede Richtlinie unterschiedliche Geltungsbereiche festlegen, aber jede Richtlinie kann nur einmal hinzugefügt werden.
-
Wählen Sie Weiter aus.
-
Überprüfen Sie die Konfiguration für Ihren Zugriffseintrag. Sollten Sie einen Fehler entdecken, wählen Sie Zurück aus, um schrittweise zurück zu navigieren und den Fehler zu korrigieren. Ist die Konfiguration korrekt, wählen Sie Erstellen aus.
- AWS CLI
-
Voraussetzung
Die neueste Version von Version AWS CLI 1 ist auf Ihrem Gerät installiert und konfiguriert oder AWS CloudShell. AWS CLI v2 unterstützt seit einigen Tagen keine neuen Funktionen. Sie können Ihre aktuelle Version mit aws --version | cut -d / -f2 | cut -d ' ' -f1
überprüfen. Paket-Manager wie yum
, apt-get
oder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation, Aktualisierung und Deinstallation
AWS CLI und Schnellkonfiguration mit aws configure
im AWS Command Line Interface Benutzerhandbuch. Die in der installierte AWS CLI Version AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch.
So erstellen Sie einen Zugriffseintrag
Sie können eines der folgenden Beispiele verwenden, um Zugriffseinträge zu erstellen:
-
Erstellen Sie einen Zugriffseintrag für eine selbstverwaltete Amazon-EC2-Linux-Knotengruppe. Ersetzen Sie my-cluster durch den Namen Ihres Clusters, 111122223333 durch Ihre AWS-Konto ID und eks-my-cluster-self-managed-ng-1 durch den Namen Ihrer Node-IAM-Rolle. Wenn es sich bei Ihrer Knotengruppe um eine Windows-Knotengruppe handelt, ersetzen Sie EC2_Linux
durch EC2_Windows
.
aws eks create-access-entry --cluster-name my-cluster
--principal-arn arn:aws:iam::111122223333
:role/EKS-my-cluster-self-managed-ng-1
--type EC2_Linux
Bei Angabe eines anderen Typs als STANDARD
kann die Option --kubernetes-groups
nicht verwendet werden. Sie können diesem Zugriffseintrag keine Zugriffsrichtlinie zuordnen, da der Typ nicht den Wert STANDARD
hat.
-
Erstellen Sie einen Zugriffseintrag, der eine IAM-Rolle zulässt, die nicht für eine selbstverwaltete Amazon-EC2-Knotengruppe verwendet wird, mit der Kubernetes Zugriff auf Ihren Cluster autorisieren soll. Ersetzen Sie my-cluster durch den Namen Ihres Clusters
, 111122223333 durch Ihre ID und my-role durch den Namen Ihrer IAM-Rolle. AWS-Konto
Ersetzen Sie Viewers
durch den Namen einer Gruppe, die Sie in einem Kubernetes-Objekt vom Typ ClusterRoleBinding
oder RoleBinding
in Ihrem Cluster angegeben haben.
aws eks create-access-entry --cluster-name my-cluster
--principal-arn arn:aws:iam::111122223333
:role/my-role
--type STANDARD --user Viewers
--kubernetes-groups Viewers
-
Erstellen Sie einen Zugriffseintrag, der es einem IAM-Benutzer ermöglicht, sich bei Ihrem Cluster zu authentifizieren. Dieses Beispiel soll zeigen, dass es diese Möglichkeit gibt. In den bewährten Methoden für IAM wird empfohlen, für den Zugriff auf Ihren Cluster IAM-Rollen mit kurzfristigen Anmeldeinformationen zu verwenden anstatt IAM-Benutzer mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Erfordern, dass menschliche Benutzer für den Zugriff AWS mithilfe temporärer Anmeldeinformationen einen Verbund mit einem Identitätsanbieter verwenden müssen.
aws eks create-access-entry --cluster-name my-cluster
--principal-arn arn:aws:iam::111122223333
:user/my-user
--type STANDARD --username my-user
Wenn dieser Benutzer mehr Zugriff auf Ihren Cluster haben soll als ihm durch die Berechtigungen in den Kubernetes-API-Erkennungsrollen gewährt wird, müssen Sie dem Zugriffseintrag eine Zugriffsrichtlinie zuordnen, da die Option --kubernetes-groups
nicht verwendet wird. Weitere Informationen finden Sie in der Dokumentation zu Kubernetes unter Zuordnen von Zugriffsrichtlinien zu Zugriffseinträgen und Aufheben dieser Zuordnung sowie unter API discovery roles.
Aktualisieren von Zugriffseinträgen
Sie können einen Zugriffseintrag mit dem AWS Management Console oder dem AWS CLI aktualisieren.
- AWS Management Console
-
So aktualisieren Sie einen Zugriffseintrag
Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.
-
Wählen Sie den Namen des Clusters aus, in dem Sie einen Zugriffseintrag erstellen möchten.
-
Wählen Sie die Registerkarte Zugriff aus.
-
Wählen Sie den Zugriffseintrag aus, den Sie aktualisieren möchten.
-
Wählen Sie Bearbeiten aus.
-
Unter Benutzername können Sie den vorhandenen Wert ändern.
-
Unter Gruppen können Sie Gruppennamen entfernen oder neue Gruppennamen hinzufügen. Die Gruppennamen system:nodes und system:bootstrappers dürfen nicht entfernt werden (sofern vorhanden). Wenn Sie diese Gruppen entfernen, funktioniert Ihr Cluster unter Umständen nicht mehr ordnungsgemäß. Wenn Sie keine Gruppennamen angeben und die Amazon-EKS-Autorisierung verwenden möchten, ordnen Sie in einem späteren Schritt eine Zugriffsrichtlinie zu.
-
Unter Tags können Sie dem Zugriffseintrag Beschriftungen zuweisen. So können Sie beispielsweise ganz einfach nach allen Ressourcen mit dem gleichen Tag suchen. Außerdem können Sie vorhandene Tags entfernen.
-
Wählen Sie Änderungen speichern aus.
-
Informationen zum Zuordnen einer Zugriffsrichtlinie zu dem Eintrag finden Sie unter Zuordnen von Zugriffsrichtlinien zu Zugriffseinträgen und Aufheben dieser Zuordnung.
- AWS CLI
-
Voraussetzung
Version 2.12.3
oder höher oder Version 1.27.160
oder höher von AWS Command Line Interface (AWS CLI), die auf Ihrem Gerät installiert und konfiguriert ist, oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' '
-f1
. Paket-Manager wie yum
, apt-get
oder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version von finden Sie unter Installation, Aktualisierung und Deinstallation der
AWS CLI und Schnellkonfiguration mit aws configure im AWS Command Line Interface -Benutzerhandbuch. Die AWS CLI Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch.
So aktualisieren Sie einen Zugriffseintrag
Ersetzen Sie my-cluster
durch den Namen Ihres Clusters, 111122223333
durch Ihre AWS-Konto ID und eks-my-cluster-my-namespace-viewers
durch den Namen einer IAM-Rolle.
aws eks update-access-entry --cluster-name my-cluster
--principal-arn arn:aws:iam::111122223333
:role/EKS-my-cluster-my-namespace-Viewers
--kubernetes-groups Viewers
Die Option --kubernetes-groups
kann nur verwendet werden, wenn der Zugriffseintrag den Typ STANDARD
hat. Auch kann eine Zugriffsrichtlinie nur einem Zugriffseintrag mit dem Typ STANDARD
zugeordnet werden.
Löschen von Zugriffseinträgen
Wenn Sie einen Zugriffseintrag versehentlich gelöscht haben, können Sie ihn jederzeit erneut erstellen. Wenn dem zu löschenden Zugriffseintrag Zugriffsrichtlinien zugeordnet sind, werden die Zuordnungen automatisch gelöscht. Es ist nicht erforderlich, die Zuordnung von Zugriffsrichtlinien zu einem Zugriffseintrag vor dem Löschen aufzuheben.
Sie können einen Zugriffseintrag AWS CLI mit dem oder dem löschen. AWS Management Console
- AWS Management Console
-
So löschen Sie einen Zugriffseintrag
Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.
-
Wählen Sie den Namen des Clusters aus, aus dem Sie einen Zugriffseintrag löschen möchten.
-
Wählen Sie die Registerkarte Zugriff aus.
-
Wählen Sie in der Liste Zugriffseinträge den Zugriffseintrag aus, den Sie löschen möchten.
-
Wählen Sie Löschen aus.
-
Wählen Sie im Bestätigungs-Dialogfeld die Option Delete (Löschen).
- AWS CLI
-
Voraussetzung
Version 2.12.3
oder höher oder Version 1.27.160
oder höher von AWS Command Line Interface (AWS CLI), die auf Ihrem Gerät installiert und konfiguriert ist, oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' '
-f1
. Paket-Manager wie yum
, apt-get
oder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version von finden Sie unter Installation, Aktualisierung und Deinstallation der
AWS CLI und Schnellkonfiguration mit aws configure im AWS Command Line Interface -Benutzerhandbuch. Die AWS CLI Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch.
So löschen Sie einen Zugriffseintrag
Ersetzen Sie my-cluster
durch den Namen Ihres Clusters, 111122223333
durch Ihre AWS-Konto ID und my-role durch den Namen der IAM-Rolle
, auf die Sie keinen Zugriff mehr auf Ihren Cluster haben möchten.
aws eks delete-access-entry --cluster-name my-cluster
--principal-arn arn:aws:iam::111122223333
:role/my-role