AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Wie kann ich die API für Amazon EKS-Zugriffseinträge verwenden, um den Zugriff auf einen EKS-Cluster wiederherzustellen?
Aufgrund einer Benutzeränderung mit einmaliger Anmeldung oder einer Löschung oder Beschädigung von aws-auth ConfigMap kann ich nicht auf meinen Amazon Elastic Kubernetes Service (Amazon EKS) zugreifen.
Kurzbeschreibung
Wenn du den Zugriff auf den EKS-Cluster verlierst, wird beim Ausführen von kubectl-Befehlen ein Fehler ähnlich dem folgenden angezeigt:
„error: You must be logged in to the server (Unauthorized).“
Um wieder Zugriff auf den Cluster zu erhalten, verwende Zugriffseinträge, um die Berechtigungen der AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Prinzipale zu verwalten. Du tust dies von außerhalb des Amazon EKS-Clusters.
Hinweis: Wenn der EKS-Cluster-Ersteller vorhanden ist, übernimm den IAM-Prinzipal des EKS-Cluster-Erstellers, um dich beim Cluster anzumelden und auf den Cluster zuzugreifen. Standardmäßig ist der EKS-Cluster-Ersteller der Administrator des Clusters. Mit dem folgenden Prozess wird eine Administratorrolle erstellt, die mit der ursprünglichen IAM-Rolle des Cluster-Erstellers koexistiert.
Lösung
Voraussetzungen:
- Installiere kubectl.
- Installiere und konfiguriere die neueste Version der AWS Command Line Interface (AWS CLI).
- Du hast eine IAM-Rolle mit den folgenden Berechtigungen: CreateAccessEntry, ListAccessEntries, DescribeAccessEntry, DeleteAccessEntry und UpdateAccessEntry.
**Hinweis:**Wenn du beim Ausführen von Befehlen in AWS CLI Fehlermeldungen erhältst, findest du weitere Informationen unter Beheben von AWS CLI-Fehlern. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Verwendung der API für AWS EKS-Zugriffseinträge, um den Zugriff auf den Amazon EKS-Cluster zu verwalten
Hinweis: Ersetze in den folgenden Befehlen Folgendes:
Ersetze <ACCOUNT_ID> durch die Konto-ID des Quellkontos, in dem der EKS-Cluster existiert.
Ersetze <REGION> durch den Namen deiner AWS-Region.
Ersetze <CLUSTER_NAME> durch den Namen deines EKS-Clusters.
Ersetze <IAM_PRINCIPAL_ARN> durch den ARN der Rolle, für die du Administratorrechte haben möchtest.
Gehe wie folgt vor, um eine API für AWS EKS-Zugriffseinträge zur Verwaltung des Zugriffs auf den Amazon EKS-Cluster zu verwenden:
-
Übernimm die IAM-Rolle auf dem Hostcomputer, auf dem kubectl installiert ist, mit den folgenden Berechtigungen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:ListAccessEntries", "eks:CreateAccessEntry", "eks:DescribeCluster", "eks:UpdateClusterConfig" ], "Resource": [ "arn:aws:eks:<REGION>:<ACCOUNT_ID>:cluster/<CLUSTER_NAME>" ] }, { "Effect": "Allow", "Action": [ "eks:DeleteAccessEntry", "eks:ListAssociatedAccessPolicies", "eks:DisassociateAccessPolicy", "eks:AssociateAccessPolicy", "eks:UpdateAccessEntry", "eks:DescribeAccessEntry" ], "Resource": [ "arn:aws:eks:<REGION>:<ACCOUNT_ID>:access-entry/<CLUSTER_NAME>/*" ] } ] } -
Führe den folgenden Befehl aus, um deine Identität zu bestätigen:
aws sts get-caller-identityNotiere dir den ARN in der Ausgabe des Befehls. Er sieht dem folgenden Beispiel ähnlich: arn:aws:iam::<ACCOUNT_ID>:user/new-cluster-admin
-
Führe den folgenden Befehl aus, um den aktuellen Authentifizierungsmodus des Amazon EKS-Clusters zu validieren:
aws eks describe-cluster --name <CLUSTER_NAME> --query 'cluster.accessConfig.authenticationMode' --region <REGION>Wenn der aktuelle Authentifizierungsmodus des Amazon EKS-Clusters API_AND_CONFIG_MAP ist, verfügt der Cluster bereits über den erforderlichen Zugriffsmodus. Fahre mit Schritt 5 fort.
-
Führe den folgenden Befehl aus, um den Authentifizierungsmodus des Amazon EKS-Clusters zu aktualisieren:
aws eks update-cluster-config --name <CLUSTER_NAME> --access-config authenticationMode=API_AND_CONFIG_MAP --region <REGION>Hinweis: Du kannst von einem CONFIG_MAP-Authentifizierungsmodus in einen API-Modus wechseln, aber du kannst nicht von einem API-Modus zurück in den CONFIG_MAP-Modus wechseln.
-
Führe den folgenden Befehl aus, um einen Zugriffseintrag für den Cluster und die IAM-Rolle zu erstellen:
aws eks create-access-entry --cluster-name <CLUSTER_NAME> --principal-arn <IAM_PRINCIPAL_ARN> --region <REGION>Die Ausgabe sieht etwa wie folgt aus:
{ "accessEntry": { "clusterName": "<CLUSTER_NAME>", "principalArn": "arn:aws:iam::<ACCOUNT_ID>:user/new-cluster-admin", "kubernetesGroups": [], "accessEntryArn": "arn:aws:eks:<REGION>:<ACCOUNT_ID>:access-entry/<CLUSTER_NAME>/user/<ACCOUNT_ID>/new-cluster-admin/26c6d1f8-4211-3fe0-f9d2-734b912dcd9a", "createdAt": "2024-02-13T19:27:45.370000+00:00", "modifiedAt": "2024-02-13T19:27:45.370000+00:00", "tags": {}, "username": "arn:aws:iam::<ACCOUNT_ID>:user/new-cluster-admin", "type": "STANDARD" } } -
Führe den folgenden Befehl aus, um AmazonEKSClusterAdminPolicy dem Amazon EKS-Cluster und der IAM-Rolle zuzuordnen:
aws eks associate-access-policy --cluster-name <CLUSTER_NAME> \ --principal-arn <IAM_PRINCIPAL_ARN> \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \ --access-scope type=cluster \ --region <REGION>Die Ausgabe sieht etwa wie folgt aus:
{ "accessEntry": { "clusterName": "<CLUSTER_NAME>", "principalArn": "arn:aws:iam::<ACCOUNT_ID>:user/new-cluster-admin", "kubernetesGroups": [], "accessEntryArn": "arn:aws:eks:<REGION>:<ACCOUNT_ID>:access-entry/<cluster_name>/user/<ACCOUNT_ID>/new-cluster-admin/7ec6efb3-31c8-edcf-3039-ca2b38e0d708", "createdAt": "2024-02-25T08:34:06.002000+00:00", "modifiedAt": "2024-02-25T08:34:06.002000+00:00", "tags": {}, "username": "arn:aws:iam::<ACCOUNT_ID>:user/new-cluster-admin", "type": "STANDARD" } } -
Um die Datei kubeconfig zu aktualisieren oder zu generieren, führe den folgenden Befehl aus, um eine Verbindung zum EKS-Cluster herzustellen:
aws eks update-kubeconfig --name <CLUSTER_NAME> --region <REGION> -
Führe den folgenden Befehl aus, um zu überprüfen, ob der Benutzer als Administrator auf den EKS-Cluster zugreifen kann:
kubectl auth can-i '*' '*' --all-namespaces
Hinweis: Wenn du als Administrator auf den EKS-Cluster zugreifen kannst, wird in der Ausgabe Ja angezeigt.
Ähnliche Informationen
Ein tiefer Einblick in die vereinfachten Amazon EKS-Zugriffsmanagementsteuerungen
EKS access entries (EKS-Zugriffseinträge) auf der eksctl-Website
- Themen
- Containers
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor 4 Monaten