Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Migrieren vorhandener aws-auth ConfigMap-Einträge zu Zugriffseinträgen
Wenn Sie Einträge zu aws-auth ConfigMap für Ihren Cluster hinzugefügt haben, empfiehlt es sich, Zugriffseinträge für die vorhandenen Einträge in aws-auth ConfigMap zu erstellen. Nach der Erstellung der Zugriffseinträge können Sie die Einträge aus ConfigMap entfernen. Einträgen in aws-auth ConfigMap können keine Zugriffsrichtlinien zugeordnet werden. Wenn Sie Ihren IAM-Prinzipalen Zugriffsrichtlinien zuordnen möchten, müssen Sie Zugriffseinträge erstellen.
Wichtig
-
Wenn sich ein Cluster im
API_AND_CONFIGMAP-Authentifizierungsmodus befindet und sowohl in denaws-authConfigMap- als auch in den Zugriffseinträgen eine Zuordnung für dieselbe IAM-Rolle vorhanden ist, verwendet die Rolle die Zuordnung des Zugriffseintrags zur Authentifizierung. Zugriffseinträge haben Vorrang vorConfigMap-Einträgen für denselben IAM-Prinzipal. -
Bevor Sie vorhandene
aws-authConfigMap-Einträge entfernen, die von Amazon EKS für eine verwaltete Knotengruppe oder ein Fargate-Profil in Ihrem Cluster erstellt wurden, überprüfen Sie, ob die richtigen Zugriffseinträge für diese spezifischen Ressourcen in Ihrem Amazon-EKS-Cluster vorhanden sind. Wenn Sie Einträge entfernen, die Amazon EKS inConfigMaperstellt hat, ohne die entsprechenden Zugriffseinträge zu haben, funktioniert Ihr Cluster nicht ordnungsgemäß.
Voraussetzungen
-
Vertrautheit mit Zugriffseinträgen und Zugriffsrichtlinien. Weitere Informationen erhalten Sie unter IAM-Benutzern mit EKS-Zugriffseinträgen Zugriff auf Kubernetes gewähren und Zugriffsrichtlinien mit Zugriffseinträgen verknüpfen.
-
Ein vorhandener Cluster mit einer Plattformversion, die den in den Voraussetzungen des IAM-Benutzern mit EKS-Zugriffseinträgen Zugriff auf Kubernetes gewähren-Themas aufgeführten Versionen entspricht oder höher ist.
-
Version
0.214.0oder höher des auf Ihrem Gerät oder in AWS CloudShell installierteneksctl-Befehlszeilen-Tools. Informationen zum Installieren und Aktualisieren voneksctlfinden Sie in der Dokumentation zueksctlunter Installation. -
Kubernetes-Berechtigungen zum Ändern von
aws-authConfigMapimkube-system-Namespace. -
Eine Rolle oder ein Benutzer für AWS Identity and Access Management mit folgenden Berechtigungen:
CreateAccessEntryundListAccessEntries. Weitere Informationen finden Sie in der Service-Authorization-Referenz unter Von Amazon Elastic Kubernetes Service definierte Aktionen.
eksctl
-
Sehen Sie sich die vorhandenen Einträge in
aws-auth ConfigMapan. Ersetzen Siemy-clusterdurch den Namen Ihres Clusters.eksctl get iamidentitymapping --cluster my-clusterEine Beispielausgabe sieht wie folgt aus.
ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/EKS-my-cluster-Admins Admins system:masters arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers my-namespace-Viewers Viewers arn:aws:iam::111122223333:role/EKS-my-cluster-self-managed-ng-1 system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes arn:aws:iam::111122223333:user/my-user my-user arn:aws:iam::111122223333:role/EKS-my-cluster-fargateprofile1 system:node:{{SessionName}} system:bootstrappers,system:nodes,system:node-proxier arn:aws:iam::111122223333:role/EKS-my-cluster-managed-ng system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
-
Zugriffseinträge erstellen für alle von Ihnen erstellten
ConfigMap-Einträge aus der vorherigen Ausgabe. Achten Sie beim Erstellen der Zugriffseinträge darauf, fürARN,USERNAME,GROUPSundACCOUNTdie gleichen Werte anzugeben, die in der Ausgabe zurückgegeben wurden. Im Falle der Beispielausgabe würden Sie Zugriffseinträge für alle Einträge außer den letzten beiden Einträgen erstellen, da diese von Amazon EKS für ein Fargate-Profil bzw. für eine verwaltete Knotengruppe erstellt wurden. -
Löschen Sie die Einträge aus
ConfigMapfür alle von Ihnen erstellten Zugriffseinträge. Wenn Sie den Eintrag nicht ausConfigMaplöschen, wird derConfigMap-Eintrag durch die Einstellungen für den Zugriffseintrag für den IAM-Prinzipal-ARN außer Kraft gesetzt. Ersetzen Sie111122223333durch Ihre AWS-Konto-ID undEKS-my-cluster-my-namespace-Viewersdurch den Namen der Rolle aus dem Eintrag inConfigMap. Wenn es sich bei dem zu entfernenden Eintrag nicht um einen Eintrag für eine IAM-Rolle, sondern um einen Eintrag für einen IAM-Benutzer handelt, ersetzen SieroledurchuserundEKS-my-cluster-my-namespace-Viewersdurch den Benutzernamen.eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster