Methode 2: Konfigurieren von Automation-Rollen mit IAM - AWS Systems Manager

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.

Methode 2: Konfigurieren von Automation-Rollen mit IAM

Wenn Sie eine Servicerolle für Automation mit einer Fähigkeit von erstellen müssen AWS Systems Manager, führen Sie die folgenden Aufgaben aus. Weitere Informationen darüber, wann eine Servicerolle für Automation erforderlich ist, finden Sie unter Einrichten der Automatisierung.

Aufgabe 1: Erstellen einer Servicerolle für Automation

Führen Sie die folgenden Schritte zum Erstellen einer Service-Rolle (oder Übernahmerolle) für Systems Manager Automation.

Anmerkung

Sie können diese Rolle auch in Runbooks, wie dem AWS-CreateManagedLinuxInstance-Runbook, verwenden. Wenn Sie diese Rolle oder den Amazon-Ressourcennamen (ARN) einer AWS Identity and Access Management (IAM) -Rolle in Runbooks verwenden, kann Automation Aktionen in Ihrer Umgebung ausführen, z. B. neue Instances starten und Aktionen in Ihrem Namen ausführen.

Erstellen einer IAM-Rolle und Gestatten der Automatisierung
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

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

  3. Wählen Sie unter Select type of trusted entity (Typ der vertrauenswürdigen Entität auswählen) die Option AWS -Service aus.

  4. Wählen Sie im Abschnitt Choose a use case (Anwendungsfall auswählen) die Option Systems Manager und wählen Sie dann Next: Permissions (Weiter: Berechtigungen).

  5. Suchen Sie auf der Seite „Angehängte Berechtigungsrichtlinie“ nach der AutomationRoleAmazonSSM-Richtlinie, wählen Sie sie aus und klicken Sie dann auf Weiter: Überprüfen.

  6. Geben Sie auf der Seite Review im Feld Role name einen Namen und anschließend eine Beschreibung ein.

  7. Wählen Sie Create role (Rolle erstellen) aus. Das System leitet Sie zur Seite Roles (Rollen) zurück.

  8. Wählen Sie auf der Seite Roles (Rollen) die gerade erstellte Rolle aus, um die Seite Summary (Übersicht) zu öffnen. Notieren Sie sich den Role Name (Rollenname) und Role ARN (Rollen-ARN). Sie geben den Rollen-ARN an, wenn Sie im nächsten Verfahren die iam: PassRole -Richtlinie an Ihr IAM-Konto anhängen. Sie können den Rollennamen und den ARN in Runbooks festlegen.

Anmerkung

Die AmazonSSMAutomationRole Richtlinie weist die Automatisierungs-Rollenberechtigung einer Teilmenge von AWS Lambda Funktionen in Ihrem Konto zu. Diese Funktionen beginnen mit „Automation“ (Automatisierung). Wenn Sie die Automatisierung mit Lambda-Funktionen verwenden möchten, muss der Lambda-ARN das folgende Format verwenden:

"arn:aws:lambda:*:*:function:Automation*"

Wenn Sie über bestehende Lambda-Funktionen verfügen, deren ARNs dieses Format nicht verwenden, müssen Sie Ihrer Automatisierungsrolle auch eine zusätzliche Lambda-Richtlinie hinzufügen, z. B. die Richtlinie. AWSLambdaRole Die zusätzliche Richtlinie oder Rolle muss umfassendere Zugriffsberechtigungen für Lambda-Funktionen im AWS-Konto bieten.

Nachdem Sie Ihre Servicerolle erstellt haben, sollten Sie die Vertrauensrichtlinie bearbeiten, um das serviceübergreifende Confused-Deputy-Problem zu vermeiden. Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine Entität, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine Entität mit größeren Rechten zwingen kann, die Aktion auszuführen. In der AWS Tat kann ein dienstübergreifender Identitätswechsel zum Problem des verwirrten Stellvertreters führen. Ein dienstübergreifender Identitätswechsel kann auftreten, wenn ein Dienst (der Anruf-Dienst) einen anderen Dienst anruft (den aufgerufenen Dienst). Der Anruf-Dienst kann so manipuliert werden, dass er seine Berechtigungen verwendet, um auf die Ressourcen eines anderen Kunden zu reagieren, auf die er sonst nicht zugreifen dürfte. Um dies zu verhindern, AWS bietet Tools, mit denen Sie Ihre Daten für alle Dienste mit Dienstprinzipalen schützen können, denen Zugriff auf Ressourcen in Ihrem Konto gewährt wurde.

Wir empfehlen die Verwendung der globalen Bedingungskontext-Schlüssel aws:SourceArn und aws:SourceAccount in ressourcenbasierten Richtlinien, um die Berechtigungen, die Automation einem anderen Service erteilt, auf eine bestimmte Ressource zu beschränken. Wenn der aws:SourceArn-Wert nicht die Konto-ID enthält, z. B. den ARN eines Amazon-S3-Buckets, müssen Sie beide globalen Bedingungskontext-Schlüssel verwenden, um Berechtigungen einzuschränken. Wenn Sie beide globale Bedingungskontextschlüssel verwenden und der aws:SourceArn-Wert die Konto-ID enthält, müssen der aws:SourceAccount-Wert und das Konto im aws:SourceArn-Wert dieselbe Konto-ID verwenden, wenn sie in der gleichen Richtlinienanweisung verwendet wird. Verwenden Sie aws:SourceArn, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten. Verwenden Sie aws:SourceAccount, wenn Sie zulassen möchten, dass Ressourcen in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft werden. Der Wert von aws:SourceArn muss für Automatisierungsausführungen der ARN sein. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Bedingungskontext-Schlüssel aws:SourceArn mit Platzhaltern (*) für die unbekannten Teile des ARN. z. B. arn:aws:ssm:*:123456789012:automation-execution/*.

Das folgende Beispiel zeigt, wie Sie die aws:SourceArn und aws:SourceAccount globale Bedingungskontext-Schlüssel für Automatisierung verwenden können, um das Confused-Deputy-Problem zu verhindern.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:automation-execution/*" } } } ] }
So ändern Sie die Vertrauensrichtinie einer Rolle
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Rollen aus.

  3. Wählen Sie in der Rollenliste in Ihrem Konto den Namen der Automation-Servicerolle aus.

  4. Klicken Sie auf der Registerkarte Trust Relationships (Vertrauensbeziehungen) auf Edit Trust Relationship (Vertrauensbeziehungen bearbeiten).

  5. Bearbeiten Sie die Vertrauensrichtlinie mit den globalen Bedingungskontext-Schlüsseln aws:SourceArn und aws:SourceAccount für Automation, um das Confused-Deputy-Problem zu verhindern.

  6. Wählen Sie Update Trust Policy (Vertrauensrichtlinie aktualisieren) aus, um die Änderungen zu speichern.

(Optional) Fügen Sie eine Inline-Automatisierungsrichtlinie oder eine vom Kunden verwaltete Richtlinie hinzu, um andere aufzurufen AWS-Services

Wenn Sie eine Automatisierung ausführen, die andere Dienste AWS-Services mithilfe einer IAM-Servicerolle aufruft, muss die Servicerolle so konfiguriert sein, dass sie berechtigt ist, diese Dienste aufzurufen. Diese Anforderung gilt für alle AWS Automatisierungs-Runbooks (AWS-*Runbooks) wie, und AWS-RestartEC2Instance Runbooks AWS-ConfigureS3BucketLoggingAWS-CreateDynamoDBBackup, um nur einige zu nennen. Diese Anforderung gilt auch für alle von Ihnen erstellten benutzerdefinierten Runbooks, die andere AWS-Services aufrufen, indem sie Aktionen verwenden, die andere Services aufrufen. Wenn Sie unter anderem aws:executeAwsApi-, aws:CreateStack- oder aws:copyImage-Aktionen verwenden, dann müssen Sie die Servicerolle mit der Berechtigung zum Aufrufen solcher Services konfigurieren. Sie können anderen Benutzern Berechtigungen erteilen, AWS-Services indem Sie der Rolle eine IAM-Inline-Richtlinie oder eine vom Kunden verwaltete Richtlinie hinzufügen.

So betten Sie eine eingebundene Richtlinie für eine Servicerolle ein (IAM-Konsole)
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Rollen aus.

  3. Wählen Sie in der Liste den Namen der Rolle aus, die Sie bearbeiten möchten.

  4. Wählen Sie die Registerkarte Berechtigungen.

  5. Wählen Sie in der Dropdown-Liste Berechtigungen hinzufügen die Option Richtlinien anhängen oder Inline-Richtlinie erstellen.

  6. Wenn Sie die Option Richtlinien anhängen wählen, aktivieren Sie das Kontrollkästchen neben der Richtlinie, die Sie hinzufügen möchten, und wählen Sie Berechtigungen hinzufügen.

  7. Wenn Sie Inline-Richtlinie erstellen wählen, wählen Sie die Registerkarte JSON.

  8. Geben Sie ein JSON-Richtliniendokument für das Dokument ein AWS-Services , das Sie aufrufen möchten. Nachfolgend sind zwei Beispiele für JSON-Richtliniendokumente aufgeführt.

    Amazon S3 PutObject und GetObject Beispiel

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

    Amazon EC2 CreateSnapshot und Beispiel DescribeSnapShots

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:DescribeSnapshots", "Resource":"*" } ] }

    Details zur IAM-Richtliniensprache und finden Sie in der IAM JSON Policy Reference im IAM-Benutzerhandbuch.

  9. Wählen Sie, wenn Sie fertig sind, Review policy (Richtlinie überprüfen) aus. Die Richtlinienvalidierung meldet mögliche Syntaxfehler.

  10. Geben Sie auf der Seite Review Policy (Richtlinie überprüfen) im Feld Name (Name) einen Namen für die zu erstellende Richtlinie ein. Überprüfen Sie unter Summary die Richtlinienzusammenfassung, um die Berechtigungen einzusehen, die von Ihrer Richtlinie gewährt werden. Wählen Sie dann Create policy aus, um Ihre Eingaben zu speichern.

  11. Nachdem Sie eine Inline-Richtlinie erstellt haben, wird sie automatisch in Ihre Rolle eingebettet.

Aufgabe 2: Hängen Sie die iam: PassRole -Richtlinie an Ihre Automation-Rolle an

Fügen Sie mit den folgenden Schritten die Richtlinie iam:PassRole Ihrer Automation-Servicerolle hinzu. Dies erlaubt dem Automation-Service, die Rolle anderen Services oder Systems Manager-Funktionen zu übergeben, wenn Automatisierungen ausgeführt werden.

So hängen Sie die iam: PassRole -Richtlinie an Ihre Automatisierungsrolle an
  1. Wählen Sie auf der Seite Summary für die gerade erstellte Rolle die Registerkarte Permissions.

  2. Wählen Sie Inline-Richtlinie hinzufügen.

  3. Wählen Sie auf der Seite Create policy die Registerkarte Visual editor aus.

  4. Wählen Sie Service (Service) und anschließend die Option IAM aus.

  5. Wählen Sie Select actions (Aktionen auswählen) aus.

  6. Geben Sie in das Textfeld Aktionen filtern die PassRoleOption einPassRole, und wählen Sie sie dann aus.

  7. Wählen Sie Resources aus. Stellen Sie sicher, dass Specific ausgewählt ist und wählen Sie dann Add ARN aus.

  8. Fügen Sie im Feld Specify ARN for role (ARN für die Rolle angeben) den ARN der Automation-Rolle ein, den Sie am Ende von Aufgabe 1 kopiert haben. Das System füllt die Felder Account (Konto) und Role name with path (Rollenname mit Pfad) automatisch aus.

    Anmerkung

    Wenn Sie möchten, dass die Automation-Servicerolle eine IAM-Instance-Profilrolle an eine EC2-Instance anfügt, müssen Sie den ARN der IAM-Instance-Profilrolle hinzufügen. Auf diese Weise kann die Automation-Servicerolle die IAM-Instance-Profilrolle an die Ziel-EC2-Instance übergeben.

  9. Wählen Sie Hinzufügen aus.

  10. Wählen Sie Richtlinie prüfen.

  11. Geben Sie auf der Seite Review Policy einen Namen ein und wählen Sie anschließend Create Policy aus.