IAM-Rolle zur Ausführung von Amazon-EKS-pod
Die Amazon-EKS-pod-Ausführungsrolle ist erforderlich, um pods in der AWS Fargate-Infrastruktur auszuführen.
Wenn Ihr Cluster pods in der AWS Fargate-Infrastruktur erstellt, müssen die Komponenten, die in der Fargate-Infrastruktur ausgeführt werden, in Ihrem Namen Aufrufe an AWS-APIs senden. Auf diese Weise können sie Aktionen wie das Abrufen von Container-Images aus Amazon ECR oder das Weiterleiten von Protokollen an andere AWS-Services durchführen. Die Amazon-EKS-pod-Ausführungsrolle stellt die entsprechenden IAM-Berechtigungen bereit.
Wenn Sie ein Fargate-Profil erstellen, müssen Sie eine pod-Ausführungsrolle für die Amazon-EKS-Komponenten angeben, die auf der Fargate-Infrastruktur mit dem Profil ausgeführt werden. Diese Rolle wird zur rollenbasierten Kubernetes-Zugriffssteuerungkubelet
, das in der Fargate-Infrastruktur ausgeführt wird, bei Ihrem Amazon-EKS-Cluster registrieren, sodass es als Knoten in Ihrem Cluster angezeigt werden kann.
Das Fargate-Profil muss eine andere IAM-Rolle als Amazon-EC2-Knotengruppen haben.
Die im Fargate-pod ausgeführten Container können nicht die IAM-Berechtigungen annehmen, die einer pod-Ausführungsrolle zugeordnet sind. Um den Containern in Ihrem Fargate-pod Berechtigungen für den Zugriff auf andere AWS-Dienste zu erteilen, müssen Sie IAM-Rollen für Servicekonten verwenden.
Bevor Sie ein Fargate-Profil erstellen, müssen Sie eine IAM-Rolle mit AmazonEKSFargatePodExecutionRolePolicy
erstellen.
Auf eine korrekt konfigurierte pod-Ausführungsrolle prüfen
Mit dem folgenden Verfahren können Sie feststellen, ob Ihr Konto bereits über eine korrekt konfigurierte Amazon-EKS-pod-Ausführungsrolle verfügt. Um Confused-Deputy-Sicherheitsprobleme zu vermeiden, ist es wichtig, dass die Rolle den Zugriff basierend auf SourceArn
beschränkt. Sie können die Ausführungsrolle nach Bedarf ändern, um Fargate-Profile auch auf anderen Clustern zu unterstützen.
Nach einer Amazon-EKS-pod-Ausführungsrolle in der IAM-Konsole suchen
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im linken Navigationsbereich Roles aus.
-
Suchen Sie in der Rollenliste auf der Seite Roles (Rollen) nach AmazonEKSFargatePodExecutionRole. Wenn die Rolle nicht vorhanden ist, finden Sie unter Erstellen der Amazon-EKS-pod-Ausführungsrolle Informationen zum Erstellen der Rolle. Wenn die Rolle vorhanden ist, wählen Sie sie aus.
-
Nehmen Sie auf der Seite AmazonEKSFargatePodExecutionRole folgende Änderungen vor:
-
Wählen Sie Permissions (Berechtigungen).
-
Stellen Sie sicher, dass die von Amazon verwaltete Richtlinie AmazonEKSFargatePodExecutionRolePolicy an die Rolle angehängt ist.
-
Wählen Sie Trust Relationships (Vertrauensbeziehungen) aus.
-
Wählen Sie Edit trust policy (Vertrauensrichtlinie bearbeiten) aus.
-
-
Prüfen Sie auf der Seite Edit trust policy (Vertrauensrichtlinie bearbeiten), dass die Vertrauensbeziehung die folgende Richtlinie und eine Zeile für Fargate-Profile in Ihrem Cluster enthält. Wenn ja, wählen Sie Cancel (Abbrechen) aus.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:
region-code
:111122223333
:fargateprofile/my-cluster
/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }Wenn die Richtlinie übereinstimmt, aber keine Zeile mit den Fargate-Profilen in Ihrem Cluster enthält, können Sie die folgende Zeile oben im
ArnLike
-Objekt hinzufügen. Ersetzen Sie
durch die AWS-Region, in der sich Ihr Cluster befindet,region-code
durch die ID Ihres Kontos und111122223333
durch den Namen Ihres Clusters.my-cluster
"aws:SourceArn": "arn:aws:eks:
region-code
:111122223333
:fargateprofile/my-cluster
/*",Wenn die Richtlinie nicht übereinstimmt, kopieren Sie die vollständige vorherige Richtlinie in das Formular und wählen Sie Update policy (Richtlinie aktualisieren) aus. Ersetzen Sie
durch die AWS-Region, in der sich Ihr Cluster befindet. Wenn Sie in allen AWS-Regionen in Ihrem Konto die gleiche Rolle verwenden möchten, ersetzen Sieregion-code
region-code
durch*
. Ersetzen Sie
durch Ihre Konto-ID und111122223333
durch den Namen Ihres Clusters. Wenn Sie dieselbe Rolle für alle Cluster in Ihrem Konto verwenden möchten, ersetzen Siemy-cluster
durchmy-cluster
*
.
Erstellen der Amazon-EKS-pod-Ausführungsrolle
Wenn Sie noch keine Amazon-EKS-pod-Ausführungsrolle für Ihren Cluster haben, können Sie über die AWS Management Console oder die AWS CLI eine erstellen.