Amazon ECS CloudWatch Events-IAM-Rolle - Amazon ECS

Amazon ECS CloudWatch Events-IAM-Rolle

Bevor Sie geplante Amazon ECS-Aufgaben mit CloudWatch Events-Regeln und -Zielen verwenden können, benötigt der CloudWatch Events-Service die Berechtigungen, in Ihrem Namen Amazon ECS-Aufgaben auszuführen. Diese Berechtigungen werden von der CloudWatch Events-IAM-Rolle bereitgestellt (ecsEventsRole).

Die CloudWatch Events-Rolle wird für Sie in AWS Management Console automatisch erstellt, wenn Sie eine geplante Aufgabe konfigurieren. Weitere Informationen finden Sie unter Geplante Aufgaben.

Die Richtlinie AmazonEC2ContainerServiceEventsRole wird unten gezeigt.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "*" ], "Condition": { "StringLike": { "iam:PassedToService": "ecs-tasks.amazonaws.com" } } } ] }

Wenn für Ihre geplanten Aufgaben die Verwendung der Aufgabenausführungsrolle, einer Aufgabenrolle oder des Aufgabenrollen-Overrides erforderlich ist, müssen Sie die Berechtigung iam:PassRole für jede Aufgabenausführungsrolle, jede Aufgabenrolle oder jeden Aufgabenrollen-Override zur CloudWatch Events-IAM-Rolle hinzufügen. Weitere Informationen zur Aufgabenausführungsrolle finden Sie unter IAM-Rolle für die Amazon ECS-Aufgabenausführung.

Anmerkung

Geben Sie den vollständigen ARN Ihrer Aufgabenausführungsrolle oder Ihres Aufgabenrollen-Overrides an.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }

Mit dem folgenden Verfahren können Sie überprüfen, ob Ihr Konto die CloudWatch Events-IAM-Rolle bereits enthält, und sie gegebenenfalls manuell erstellen.

So suchen Sie nach der IAM-Rolle für CloudWatch Events in der IAM-Konsole

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

  2. Wählen Sie im Navigationsbereich Roles (Rollen) aus.

  3. Wählen Sie im Navigationsbereich Roles (Rollen) aus.

  4. Suchen Sie in der Liste der Rollen nach ecsEventsRole. Wenn die Rolle nicht vorhanden ist, erstellen Sie die Rolle, wie im nächsten Verfahren beschrieben. Wenn die Rolle vorhanden ist, wählen Sie die Rolle aus, um die zugeordneten Richtlinien zu sehen.

  5. Überprüfen Sie auf der Registerkarte Permissions (Berechtigungen), ob der Rolle die verwaltete Richtlinie AmazonEC2ContainerServiceEventsRole angefügt ist. Wenn die Richtlinie angefügt ist, ist Ihre Amazon ECS-Aufgabenausführungsrolle korrekt konfiguriert. Andernfalls führen Sie die folgenden Teilschritte aus, um die Richtlinie zuzuweisen.

    1. Wählen Sie Add Permissions (Berechtigungen hinzufügen), Attach policies (Richtlinien anfügen).

    2. Um die zum Anfügen verfügbaren Richtlinien einzugrenzen, geben Sie für Filter AmazonEC2ContainerServiceEventsRole ein.

    3. Aktivieren Sie das Kontrollkästchen links neben der Richtlinie AmazonEC2ContainerServiceEventsRole und wählen Sie Attach Policy (Richtlinie anfügen) aus.

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

  7. Überprüfen Sie, dass die Vertrauensstellung die folgende Richtlinie enthält. Wenn die Vertrauensstellung mit der unten angegebenen Richtlinie übereinstimmt, wählen Sie Cancel. Wenn die Vertrauensstellung nicht übereinstimmt, wählen Sie Edit trust policy (Vertrauensrichtlinie bearbeiten), kopieren Sie die Richtlinie in das Fenster Policy Document (Richtliniendokument) und wählen Sie Update policy (Richtlinie aktualisieren).

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Eine IAM-Rolle für Ihre CloudWatch Events erstellen

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

  2. Wählen Sie im Navigationsbereich Roles (Rollen) und Create Role (Rolle erstellen) aus.

  3. Wählen Sie im Abschnitt Trusted entity type (Vertrauenswürdiger Entitätstyp) AWS-Service, Elastic Container Service aus.

  4. Wählen Sie für Use case (Anwendungsfall) Elastic Container Service Task (Aufgabe von Elastic Container Service) und dann Next (Weiter) aus.

  5. Führen Sie im Abschnitt Attach permissions policy (Berechtigungs-Richtlinie anfügen) die folgenden Schritte aus:

    1. Suchen Sie nach AmazonEC2ContainerServiceEventsRole und wählen Sie dann die Richtlinie aus.

    2. Wählen Sie unter Set permissions boundary (optional) (Berechtigungsgrenze festlegen (optional)) Create role withough a permission boundary (Rolle ohne Berechtigungsgrenze erstellen) aus.

    3. Wählen Sie Next (Weiter).

  6. Führen Sie unter Role details (Rollendetails) die folgenden Schritte aus:

    1. Geben Sie für Role name (Rollenname) ecsEventsRole ein.

    2. Geben Sie für Add tags (optional) Tags hinzufügen (optional) alle benutzerdefinierten Tags an, die der Richtlinie zugeordnet werden sollen.

  7. Wählen Sie Create role (Rolle erstellen) aus.

  8. Durchsuchen Sie die Liste der Rollen nach ecsEventsRole und wählen Sie die Rolle aus, die Sie gerade erstellt haben.

  9. Wählen Sie auf der Registerkarte Permissions (Berechtigungen) Add Permissions (Berechtigungen hinzufügen, Attach policies (Richtlinien anfügen).

  10. Ersetzen Sie die vorhandene Vertrauensstellung durch den folgenden Text. Wählen Sie Edit trust policy (Bearbeiten von Vertrauensrichtlinie), kopieren Sie die Richtlinie in das Fenster Policy Document (Richtlinien-Dokument) und wählen Sie Update policy (Richtlinie aktualisieren).

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

So fügen Sie der CloudWatch Events-IAM-Rolle Berechtigungen für die Aufgabenausführungsrolle hinzu

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

  2. Wählen Sie im Navigationsbereich Policies und Create policy aus.

  3. Wählen Sie JSON, fügen Sie die folgende Richtlinie ein und wählen Sie dann Review policy:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }
  4. Geben Sie für Name AmazonECSEventsTaskExecutionRole ein, sowie optional eine Beschreibung, und wählen Sie dann Create policy.

  5. Wählen Sie im Navigationsbereich Roles (Rollen) aus.

  6. Durchsuchen Sie die Liste der Rollen für ecsEventsRole und wählen Sie die Rolle, um die hinzugefügten Richtlinien anzuzeigen.

  7. Wählen Sie Attach policy (Richtlinie anfügen) aus.

  8. Wählen Sie im Abschnitt Attach policy die Richtlinie AmazonECSEventsTaskExecutionRole und wählen Sie Attach policy.