IAM-Rolle für die Ausführung von Amazon EKS Pod - Amazon EKS

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.

IAM-Rolle für die Ausführung von Amazon EKS Pod

Die Amazon EKS Pod-Ausführungsrolle ist erforderlich, um Pods auf der AWS Fargate-Infrastruktur auszuführen.

Wenn Ihr Cluster Pods auf der AWS Fargate-Infrastruktur erstellt, müssen die Komponenten, die auf der Fargate-Infrastruktur ausgeführt werden, in AWS APIs Ihrem Namen Aufrufe tätigen. Auf diese Weise können sie Aktionen wie das Abrufen von Container-Images aus Amazon ECR oder das Weiterleiten von Protokollen an andere AWS Dienste ausführen. Die Amazon EKS Pod-Ausführungsrolle stellt die IAM-Berechtigungen dafür bereit.

Wenn Sie ein Fargate-Profil erstellen, müssen Sie mithilfe des Profils eine Pod-Ausführungsrolle für die Amazon EKS-Komponenten angeben, die auf der Fargate-Infrastruktur ausgeführt werden. Diese Rolle wird zur Autorisierung der rollenbasierten Zugriffskontrolle (RBAC) von Kubernetes des Clusters hinzugefügt. Dadurch kann sich kubelet das, was auf der Fargate-Infrastruktur läuft, bei Ihrem Amazon EKS-Cluster registrieren, sodass es in Ihrem Cluster als Knoten erscheinen kann.

Anmerkung

Das Fargate-Profil muss eine andere IAM-Rolle haben als EC2 Amazon-Knotengruppen.

Wichtig

Die Container, die im Fargate-Pod ausgeführt werden, können die mit einer Pod-Ausführungsrolle verbundenen IAM-Berechtigungen nicht annehmen. 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 Dienstkonten verwenden.

Bevor Sie ein Fargate-Profil erstellen, müssen Sie eine IAM-Rolle bei Amazon erstellen. EKSFargate PodExecutionRolePolicy

Suchen Sie nach einer korrekt konfigurierten vorhandenen Pod-Ausführungsrolle

Mithilfe des folgenden Verfahrens können Sie überprüfen, ob Ihr Konto bereits über eine korrekt konfigurierte Amazon EKS-Pod-Ausführungsrolle verfügt. Um ein unübersichtliches Sicherheitsproblem zu vermeiden, ist es wichtig, dass die Rolle den Zugriff auf SourceArn folgende Kriterien einschränkt: Sie können die Ausführungsrolle nach Bedarf ändern, um Fargate-Profile auch auf anderen Clustern zu unterstützen.

  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie im linken Navigationsbereich Roles aus.

  3. Suchen Sie auf der Seite Rollen in der Liste der Rollen für Amazon EKSFargate PodExecutionRole. Wenn die Rolle nicht existiert, finden Sie weitere Informationen unter Die Amazon EKS Pod-Ausführungsrolle erstellen So erstellen Sie die Rolle. Wenn die Rolle vorhanden ist, wählen Sie sie aus.

  4. Gehen Sie auf der EKSFargatePodExecutionRoleAmazon-Seite wie folgt vor:

    1. Wählen Sie Permissions (Berechtigungen).

    2. Stellen Sie sicher, dass die von EKSFargatePodExecutionRolePolicyAmazon verwaltete Richtlinie mit der Rolle verknüpft ist.

    3. Wählen Sie Trust Relationships (Vertrauensbeziehungen) aus.

    4. Wählen Sie Edit trust policy (Vertrauensrichtlinie bearbeiten) aus.

  5. 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 enthält, in der die Fargate-Profile in Ihrem Cluster angegeben sind, können Sie die folgende Zeile oben im ArnLike Objekt hinzufügen. region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Cluster befindet, 111122223333 durch Ihre Konto-ID und my-cluster durch den Namen Ihres Clusters.

    "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 Richtlinie aktualisieren aus. region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Cluster befindet. Wenn Sie dieselbe Rolle in allen AWS Regionen Ihres Kontos verwenden möchten, region-code ersetzen Sie es durch*. Ersetzen Sie 111122223333 durch Ihre Konto-ID und my-cluster durch den Namen Ihres Clusters. Wenn Sie dieselbe Rolle für alle Cluster in Ihrem Konto verwenden möchten, ersetzen Sie my-cluster durch *.

Die Amazon EKS Pod-Ausführungsrolle erstellen

Wenn Sie noch nicht über die Amazon EKS-Pod-Ausführungsrolle für Ihren Cluster verfügen, können Sie die AWS Management Console oder die AWS CLI verwenden, um sie zu erstellen.

AWS Management Console
  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie im linken Navigationsbereich Roles aus.

  3. Klicken Sie auf der Seite Roles (Rollen) auf Create role (Rolle erstellen).

  4. Gehen Sie auf der Seite Select trusted entity (Vertrauenswürdige Entität auswählen) wie folgt vor:

    1. Wählen Sie im Abschnitt Vertrauenswürdiger Entitätstyp die Option AWS Service aus.

    2. Wählen Sie aus der Dropdownliste Anwendungsfälle für andere AWS Dienste die Option EKS aus.

    3. Wählen Sie EKS - Fargate Pod.

    4. Wählen Sie Weiter.

  5. Wählen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die Option Next (Weiter) aus.

  6. Gehen Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) wie folgt vor:

    1. Geben Sie unter Role name (Rollenname) einen eindeutigen Namen für die Rolle ein, z. B. AmazonEKSFargatePodExecutionRole.

    2. Fügen Sie der Rolle unter Tags hinzufügen (optional) Metadaten hinzu, indem Sie Tags als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter Markieren von IAM-Ressourcen im IAM-Benutzerhandbuch.

    3. Wählen Sie Rolle erstellen.

  7. Suchen Sie auf der Seite Rollen in der Liste der Rollen für Amazon EKSFargate PodExecutionRole. Wählen Sie die Rolle aus.

  8. Gehen Sie auf der EKSFargatePodExecutionRoleAmazon-Seite wie folgt vor:

    1. Wählen Sie Trust Relationships (Vertrauensbeziehungen) aus.

    2. Wählen Sie Edit trust policy (Vertrauensrichtlinie bearbeiten) aus.

  9. Führen Sie auf der Seite Edit trust policy (Vertrauensrichtlinie bearbeiten) die folgenden Schritte aus:

    1. Kopieren Sie die folgenden Inhalte in das Formular unter Edit trust policy (Vertrauensrichtlinie bearbeiten). region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Cluster befindet. Wenn Sie dieselbe Rolle in allen AWS Regionen Ihres Kontos verwenden möchten, region-code ersetzen Sie es durch*. Ersetzen Sie 111122223333 durch Ihre Konto-ID und my-cluster durch den Namen Ihres Clusters. Wenn Sie dieselbe Rolle für alle Cluster in Ihrem Konto verwenden möchten, ersetzen Sie my-cluster durch *.

      { "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" } ] }
    2. Wählen Sie Update policy.

AWS CLI
  1. Kopieren Sie den folgenden Inhalt in eine Datei namens pod-execution-role-trust-policy.json. region-codeErsetzen Sie durch die AWS Region, in der sich Ihr Cluster befindet. Wenn Sie dieselbe Rolle in allen AWS Regionen Ihres Kontos verwenden möchten, region-code ersetzen Sie es durch*. Ersetzen Sie 111122223333 durch Ihre Konto-ID und my-cluster durch den Namen Ihres Clusters. Wenn Sie dieselbe Rolle für alle Cluster in Ihrem Konto verwenden möchten, ersetzen Sie my-cluster durch *.

    { "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" } ] }
  2. Erstellen Sie eine IAM-Rolle für die Pod-Ausführung.

    aws iam create-role \ --role-name AmazonEKSFargatePodExecutionRole \ --assume-role-policy-document file://"pod-execution-role-trust-policy.json"
  3. Hängen Sie die erforderliche von Amazon EKS verwaltete IAM-Richtlinie an die Rolle an.

    aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy \ --role-name AmazonEKSFargatePodExecutionRole