Hilf 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.
Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, 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.
Sie können Zugriffseinträgen vom Typ STANDARD
eine oder mehrere Zugriffsrichtlinien zuweisen. Amazon EKS erteilt den anderen Arten von Zugriffseinträgen automatisch die erforderlichen Berechtigungen, damit sie in Ihrem Cluster ordnungsgemäß funktionieren. Die Amazon EKS-Zugriffsrichtlinien beinhalten Kubernetes-Berechtigungen, keine IAM-Berechtigungen. Bevor Sie einem Zugriffseintrag eine Zugriffsrichtlinie zuordnen, stellen Sie sicher, dass Sie mit den in den einzelnen Zugriffsrichtlinien enthaltenen Kubernetes-Berechtigungen vertraut sind. Weitere Informationen finden Sie unter Überprüfen Sie die Zugriffsrichtlinienberechtigungen. Wenn keine der Zugriffsrichtlinien Ihren Anforderungen entspricht, ordnen Sie einem Zugriffseintrag keine Zugriffsrichtlinie zu. Geben Sie stattdessen einen oder mehrere Gruppennamen für den Zugriffseintrag an und erstellen und verwalten Sie rollenbasierte Zugriffskontrollobjekte von Kubernetes. Weitere Informationen finden Sie unter Zugangseinträge erstellen.
-
Ein vorhandener Zugriffseintrag. Informationen zum Erstellen finden Sie unter Zugangseinträge erstellen.
-
Eine AWS Identity and Access Management Zugriffsverwaltungsrolle oder ein Benutzer mit den folgenden Berechtigungen:
ListAccessEntries
DescribeAccessEntry
UpdateAccessEntry
,ListAccessPolicies
,,AssociateAccessPolicy
, undDisassociateAccessPolicy
. Weitere Informationen finden Sie unter Von Amazon Elastic Kubernetes Service definierte Aktionen in der Service Authorization Reference.
Berücksichtigen Sie die folgenden Anforderungen, bevor Sie Zugriffsrichtlinien mit Zugriffseinträgen verknüpfen:
-
Sie können jedem Zugriffseintrag mehrere Zugriffsrichtlinien zuordnen, aber Sie können jede Richtlinie nur einmal einem Zugriffseintrag zuordnen. Wenn Sie mehrere Zugriffsrichtlinien zuordnen, verfügt der IAM-Principal des Zugriffseintrags über alle Berechtigungen, die in allen zugehörigen Zugriffsrichtlinien enthalten sind.
-
Sie können eine Zugriffsrichtlinie auf alle Ressourcen in einem Cluster beschränken oder indem Sie den Namen eines oder mehrerer Kubernetes-Namespaces angeben. Sie können Platzhalterzeichen für einen Namespace-Namen verwenden. Wenn Sie beispielsweise eine Zugriffsrichtlinie auf alle Namespaces ausrichten möchten, die mit
dev-
beginnen, können Siedev-*
als Namespace-Namen angeben. Stellen Sie sicher, dass die Namespaces in Ihrem Cluster vorhanden sind und dass Ihre Schreibweise dem tatsächlichen Namespace-Namen im Cluster entspricht. Amazon EKS bestätigt nicht die Schreibweise oder das Vorhandensein der Namespaces in Ihrem Cluster. -
Der Zugriffsbereich für eine Zugriffsrichtlinie kann geändert werden, nachdem sie einem Zugriffseintrag zugeordnet wurde. Wenn Sie die Zugriffsrichtlinie auf Kubernetes-Namespaces beschränkt haben, können Sie bei Bedarf Namespaces für die Zuordnung hinzufügen und entfernen.
-
Wenn Sie eine Zugriffsrichtlinie einem Zugriffseintrag zuordnen, für den auch Gruppennamen angegeben sind, verfügt der IAM-Prinzipal über alle Berechtigungen in allen zugehörigen Zugriffsrichtlinien. Es verfügt außerdem über alle Berechtigungen für alle Kubernetes
Role
- oderClusterRole
Objekte, die in Kubernetes angegeben sind, sowie für Objekte, die die Gruppennamen angeben.Role
RoleBinding
-
Wenn Sie den
kubectl auth can-i --list
Befehl ausführen, werden Ihnen keine Kubernetes-Berechtigungen angezeigt, die durch Zugriffsrichtlinien zugewiesen wurden, die einem Zugriffseintrag für den IAM-Prinzipal zugeordnet sind, den Sie bei der Ausführung des Befehls verwenden. Der Befehl zeigt Kubernetes-Berechtigungen nur an, wenn Sie sie in KubernetesRole
oder inClusterRole
Objekten erteilt haben, die Sie an die Gruppennamen oder den Benutzernamen gebunden haben, die Sie für einen Zugriffseintrag angegeben haben. -
Wenn Sie sich bei der Interaktion mit Kubernetes-Objekten in Ihrem Cluster als ein Kubernetes-Benutzer oder eine Kubernetes-Gruppe ausgeben, z. B. wenn Sie den
kubectl
Befehl mit--as
oderusername
--as-group
verwenden, erzwingen Sie die Verwendung der Kubernetes-RBAC-Autorisierung. Daher werden dem IAM-Prinzipal keine Berechtigungen durch eine Zugriffsrichtlinie zugewiesen, die dem Zugriffseintrag zugeordnet ist. Die einzigen Kubernetes-Berechtigungen, über die der Benutzer oder die Gruppe verfügt, für die sich der IAM-Prinzipal ausgibt, sind die Kubernetes-Berechtigungen, die Sie ihnen in Kubernetes erteilt haben,group-name
Role
oderClusterRole
Objekte, die Sie an die Gruppennamen oder den Benutzernamen gebunden haben. Geben Sie sich nicht als ein Kubernetes-Benutzer oder eine Kubernetes-Gruppe aus, damit Ihr IAM-Prinzipal über die in den zugehörigen Zugriffsrichtlinien festgelegten Berechtigungen verfügt. Der IAM-Prinzipal verfügt weiterhin über alle Berechtigungen, die Sie ihm in KubernetesRole
oderClusterRole
Objekten erteilt haben, die Sie an die Gruppennamen oder den Benutzernamen gebunden haben, die Sie für den Zugriffseintrag angegeben haben. Weitere Informationen finden Sie unter Benutzerimpersonationin der Kubernetes-Dokumentation.
Sie können einem Zugriffseintrag mithilfe der AWS Management Console oder der AWS CLI eine Zugriffsrichtlinie zuordnen.
AWS Management Console
-
Öffnen Sie die Amazon-EKS-Konsole
. -
Wählen Sie den Namen des Clusters aus, der über einen Zugriffseintrag verfügt, dem Sie eine Zugriffsrichtlinien zuordnen möchten.
-
Wählen Sie die Registerkarte Zugriff aus.
-
Wenn es sich um einen Zugriffseintrag vom Typ Standard handelt, können Sie Zugriffsrichtlinien von Amazon EKS zuordnen oder deren Zuordnung aufheben. Wenn der Typ Ihres Zugriffseintrags etwas anderes als Standard ist, ist diese Option nicht verfügbar.
-
Wählen Sie Zugriffsrichtlinie zuordnen aus.
-
Wählen Sie unter Richtlinienname die Richtlinie mit den Berechtigungen aus, über die der IAM-Prinzipal verfügen soll. Informationen zu den Berechtigungen, die in der jeweiligen Richtlinie enthalten sind, finden Sie unter Überprüfen Sie die Zugriffsrichtlinienberechtigungen.
-
Wählen Sie unter Zugriffsbereich einen Zugriffsbereich aus. Wenn Sie Cluster wählen, werden die Berechtigungen in der Zugriffsrichtlinie dem IAM-Prinzipal für Ressourcen in allen Kubernetes-Namespaces gewährt. Wenn Sie den Kubernetes-Namespace wählen, können Sie anschließend Neuen Namespace hinzufügen wählen. In dem daraufhin angezeigten Feld Namespace können Sie den Namen eines Kubernetes-Namespaces in Ihrem Cluster eingeben. Wenn die Berechtigungen für den IAM-Prinzipal in mehreren Namespaces gelten sollen, können Sie mehrere Namespaces eingeben.
-
Wählen Sie Zugriffsrichtlinie hinzufügen aus.
AWS CLI
-
Version
2.12.3
oder höher oder Version1.27.160
oder höher der auf Ihrem Gerät installierten und konfigurierten AWS Befehlszeilenschnittstelle (AWS CLI) oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sieaws --version | cut -d / -f2 | cut -d ' ' -f1
. Paketmanager wieyum
apt-get
, oder Homebrew für macOS liegen oft mehrere Versionen hinter der neuesten Version der AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI-Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie im AWS CloudShell Benutzerhandbuch unter AWS CLI in Ihrem Home-Verzeichnis installieren. -
Sehen Sie sich die verfügbaren Zugriffsrichtlinien an.
aws eks list-access-policies --output table
Eine Beispielausgabe sieht wie folgt aus.
--------------------------------------------------------------------------------------------------------- | ListAccessPolicies | +-------------------------------------------------------------------------------------------------------+ || accessPolicies || |+---------------------------------------------------------------------+-------------------------------+| || arn | name || |+---------------------------------------------------------------------+-------------------------------+| || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSAdminPolicy | AmazonEKSAdminPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy | AmazonEKSClusterAdminPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSEditPolicy | AmazonEKSEditPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSViewPolicy | AmazonEKSViewPolicy || |+---------------------------------------------------------------------+-------------------------------+|
Informationen zu den Berechtigungen, die in der jeweiligen Richtlinie enthalten sind, finden Sie unter Überprüfen Sie die Zugriffsrichtlinienberechtigungen.
-
Sehen Sie sich Ihre vorhandenen Zugriffseinträge an. Ersetzen Sie
my-cluster
mit dem Namen Ihres Clusters.aws eks list-access-entries --cluster-name my-cluster
Eine Beispielausgabe sieht wie folgt aus.
{ "accessEntries": [ "arn:aws: iam::111122223333:role/my-role", "arn:aws: iam::111122223333:user/my-user" ] }
-
Ordnen Sie eine Zugriffsrichtlinie einem Zugriffseintrag zu. Im folgenden Beispiel wird die Zugriffsrichtlinie
AmazonEKSViewPolicy
einem Zugriffseintrag zugeordnet. Immer wenn diemy-role
IAM-Rolle versucht, auf Kubernetes-Objekte im Cluster zuzugreifen, autorisiert Amazon EKS die Rolle, die Berechtigungen in der Richtlinie nur für den Zugriff auf Kubernetes-Objekte in den Kubernetes-Namespaces und Kubernetes-Namespaces zu verwenden.my-namespace1
my-namespace2
my-cluster
Ersetzen Sie durch den Namen Ihres Clusters,111122223333
durch Ihre AWS Konto-ID undmy-role
durch den Namen der IAM-Rolle, für die Amazon EKS den Zugriff auf Kubernetes-Clusterobjekte autorisieren soll.aws eks associate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \ --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy
Wenn die Berechtigungen für den IAM-Prinzipal clusterweit gelten sollen, ersetzen Sie
type=namespace,namespaces=
durchmy-namespace1
,my-namespace2
type=cluster
. Wenn Sie dem Zugriffseintrag mehrere Zugriffsrichtlinien zuordnen möchten, führen Sie den Befehl mehrmals aus und verwenden Sie dabei jeweils eine individuelle Zugriffsrichtlinie. Jede zugeordnete Zugriffsrichtlinie hat ihren eigenen Geltungsbereich.Anmerkung
Wenn Sie später den Geltungsbereich einer zugehörigen Zugriffsrichtlinie ändern möchten, können Sie den vorherigen Befehl erneut ausführen und dabei den neuen Bereich angeben. Wenn Sie den Befehl beispielsweise entfernen
my-namespace2
möchten, führen Sie den Befehl erneut aus und verwenden dabei nur.type=namespace,namespaces=
Wenn Sie den Gültigkeitsbereich vonmy-namespace1
namespace
bis ändern möchtencluster
, führen Sie den Befehl erneut mittype=cluster
, remove austype=namespace,namespaces=
.my-namespace1
,my-namespace2
-
Ermitteln Sie, welche Zugriffsrichtlinien einem Zugriffseintrag zugeordnet sind.
aws eks list-associated-access-policies --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role
Eine Beispielausgabe sieht wie folgt aus.
{ "clusterName": "my-cluster", "principalArn": "arn:aws: iam::111122223333", "associatedAccessPolicies": [ { "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy", "accessScope": { "type": "cluster", "namespaces": [] }, "associatedAt": "2023-04-17T15:25:21.675000-04:00", "modifiedAt": "2023-04-17T15:25:21.675000-04:00" }, { "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy", "accessScope": { "type": "namespace", "namespaces": [ "my-namespace1", "my-namespace2" ] }, "associatedAt": "2023-04-17T15:02:06.511000-04:00", "modifiedAt": "2023-04-17T15:02:06.511000-04:00" } ] }
Im vorherigen Beispiel hat der IAM-Prinzipal für diesen Zugriffseintrag Leseberechtigungen für alle Namespaces im Cluster und Administratorberechtigungen für zwei Kubernetes-Namespaces.
-
Heben Sie die Zuordnung zwischen einer Zugriffsrichtlinie und einem Zugriffseintrag auf. In diesem Beispiel wird die Zuordnung zwischen der Richtlinie
AmazonEKSAdminPolicy
und einem Zugriffseintrag aufgehoben. Der IAM-Prinzipal behält jedoch die in derAmazonEKSViewPolicy
Zugriffsrichtlinie enthaltenen Berechtigungen für Objekte in denmy-namespace2
Namespacesmy-namespace1
und bei, da diese Zugriffsrichtlinie nicht vom Zugriffseintrag getrennt ist.aws eks disassociate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \ --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy
Eine Liste der verfügbaren Zugriffsrichtlinien finden Sie unter. Überprüfen Sie die Zugriffsrichtlinienberechtigungen