View a markdown version of this page

AWSSupport-ContainS3Resource - AWS Systems Manager Runbook-Referenz für Automation

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.

AWSSupport-ContainS3Resource

Beschreibung

Das AWSSupport-ContainS3Resource Runbook bietet eine automatisierte Lösung für das im Artikel Support Automation Workflow (SAW) -Runbook: Einen AWS kompromittierten Amazon S3-Bucket beschrieben

Wichtig
  • Dieses Runbook führt verschiedene Operationen aus, für die erhöhte Rechte erforderlich sind, z. B. das Ändern der Amazon S3-Bucket-Richtlinien, -Tags und Konfigurationen für den öffentlichen Zugriff. Diese Aktionen könnten möglicherweise zu einer Eskalation von Rechten führen oder sich auf andere Workloads auswirken, die vom Amazon S3-Ziel-Bucket abhängen. Sie sollten die Berechtigungen überprüfen, die der durch den AutomationAssumeRole Parameter angegebenen Rolle gewährt wurden, und sicherstellen, dass sie für den beabsichtigten Anwendungsfall geeignet sind. Weitere Informationen zu IAM-Berechtigungen finden Sie in der folgenden AWS Dokumentation: Identity and Access Management (IAM) Permissions AWS AWS Systems Manager Automation Permissions.

  • Dieses Runbook führt mutative Aktionen aus, die möglicherweise zur Nichtverfügbarkeit oder Unterbrechung Ihrer Workloads führen können. Insbesondere blockiert die Contain Aktion den gesamten Zugriff auf den angegebenen Amazon S3-Bucket, mit Ausnahme der im Parameter angegebenen Rollen. SecureRoles Dies könnte sich auf alle Anwendungen oder Dienste auswirken, die auf den Amazon S3-Ziel-Bucket angewiesen sind.

  • Während der Contain Aktion erstellt dieses Runbook möglicherweise einen zusätzlichen Amazon S3-Bucket (angegeben durch den BackupS3BucketName Parameter), um das Backup der ursprünglichen Bucket-Konfiguration zu speichern, falls dieser noch nicht vorhanden ist.

  • Wenn der Action Parameter auf gesetzt istRestore, versucht dieses Runbook, die Konfiguration des Amazon S3-Buckets auf der Grundlage des im Bucket gespeicherten Backups in den BackupS3BucketName ursprünglichen Zustand zurückzusetzen. Es besteht jedoch das Risiko, dass der Wiederherstellungsprozess fehlschlägt und der Amazon S3-Bucket in einem inkonsistenten Zustand zurückbleibt. Das Runbook enthält Anweisungen für die manuelle Wiederherstellung im Fall solcher Fehler. Sie sollten jedoch darauf vorbereitet sein, mögliche Probleme während des Wiederherstellungsvorgangs zu lösen.

Es wird empfohlen, das Runbook gründlich zu überprüfen, seine potenziellen Auswirkungen zu verstehen und es in einer Umgebung zu testen, die nichts mit der Produktion zu tun hat, bevor Sie es in Ihrer Produktionsumgebung ausführen.

Wie funktioniert es?

Dieses Runbook funktioniert je nach Ressourcentyp und Aktion unterschiedlich:

  • Für Amazon S3-Bucket für allgemeine ZweckeContainment: Die Automatisierung blockiert den öffentlichen Zugriff auf den Bucket, deaktiviert die ACL-Konfiguration, erzwingt den Besitz des Bucket Owner Objects und führt eine restriktive Bucket-Richtlinie ein, die alle Amazon S3-Aktionen für den Bucket ablehnt, mit Ausnahme der aufgelisteten IAM-Rollen.

  • Für Amazon S3-AllzweckobjekteContainment: Die Automatisierung blockiert den öffentlichen Zugriff auf den Bucket, deaktiviert die ACL-Konfiguration, erzwingt den Besitz des Bucket Owner Objects und legt eine restriktive Bucket-Richtlinie fest, die alle Amazon S3-Aktionen für das Objekt mit Ausnahme der erlaubten aufgelisteten IAM-Rollen verweigert.

  • Für Amazon S3 Directory-BucketContainment: Die Automatisierung legt eine restriktive Bucket-Richtlinie fest, die alle Amazon S3-Aktionen für den Bucket verweigert, mit Ausnahme der erlaubten aufgelisteten IAM-Rollen.

  • Für Amazon S3-Bucket für allgemeine ZweckeRestore: Durch die Automatisierung werden die Block-Public Access-Konfiguration, die Bucket-ACL-Konfiguration, der Besitz des Bucket Owner Objects und die Bucket-Richtlinie auf die ursprüngliche Konfiguration vor der Eindämmung zurückgesetzt.

  • Für Amazon S3-AllzweckobjekteRestore: Durch die Automatisierung werden die Block Public Access-Konfiguration, die Bucket-ACL-Konfiguration, die Objekt-ACL-Konfiguration, der Bucket Owner Object-Besitz und die Bucket Policy auf die ursprüngliche Konfiguration vor der Eingrenzung zurückgesetzt.

  • Für Amazon S3 Directory BucketRestore: Durch die Automatisierung wird die Bucket-Richtlinie auf die ursprüngliche Konfiguration vor der Eindämmung zurückgesetzt.

Führen Sie diese Automatisierung aus (Konsole)

Dokumenttyp

Automatisierung

Eigentümer

Amazon

Plattform

/

Erforderliche IAM-Berechtigungen

Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.

  • s3: CreateBucket

  • s3: DeleteBucketPolicy

  • s3: DeleteObjectTagging

  • s3: GetAccountPublicAccessBlock

  • s3: GetBucketAcl

  • s3: GetBucketLocation

  • s3: GetBucketOwnershipControls

  • s3: GetBucketPolicy

  • s3: GetBucketPolicyStatus

  • s3: GetBucketTagging

  • s3: GetEncryptionConfiguration

  • s3: GetObject

  • s3: GetObjectAcl

  • s3: GetObjectTagging

  • s3: GetReplicationConfiguration

  • s3: ListBucket

  • s3: PutAccountPublicAccessBlock

  • s3: PutBucket ACL

  • s3: PutBucketOwnershipControls

  • s3: PutBucketPolicy

  • s3: PutBucketPublicAccessBlock

  • s3: PutBucketTagging

  • s3: PutBucketVersioning

  • s3: PutObject

  • s3: PutObjectAcl

  • s3 ausdrücken: CreateSession

  • s3express: DeleteBucketPolicy

  • s3express: GetBucketPolicy

  • s3express: PutBucketPolicy

  • ssm: DescribeAutomationExecutions

Hier ist ein Beispiel für eine IAM-Richtlinie, die die erforderlichen Berechtigungen gewährt für: AutomationAssumeRole

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:DeleteBucketPolicy", "s3:DeleteObjectTagging", "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketOwnershipControls", "s3:GetBucketPolicy", "s3:GetBucketPolicyStatus", "s3:GetBucketTagging", "s3:GetEncryptionConfiguration", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetReplicationConfiguration", "s3:ListBucket", "s3:PutAccountPublicAccessBlock", "s3:PutBucketACL", "s3:PutBucketOwnershipControls", "s3:PutBucketPolicy", "s3:PutBucketPublicAccessBlock", "s3:PutBucketTagging", "s3:PutBucketVersioning", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "*" }, { "Sid": "S3ExpressPermissions", "Effect": "Allow", "Action": [ "s3express:CreateSession", "s3express:DeleteBucketPolicy", "s3express:GetBucketPolicy", "s3express:PutBucketPolicy" ], "Resource": "*" }, { "Sid": "SSMPermissions", "Effect": "Allow", "Action": [ "ssm:DescribeAutomationExecutions" ], "Resource": "*" } ] }

Anweisungen

Folgen Sie diesen Schritten, um die Automatisierung zu konfigurieren:

  1. Navigieren Sie AWSSupport-ContainS3Resource im Systems Manager unter Dokumente zu.

  2. Wählen Sie Execute automation (Automatisierung ausführen).

  3. Geben Sie für die Eingabeparameter Folgendes ein:

    • BucketName (Erforderlich):

      • Beschreibung: (Erforderlich) Der Name des Amazon S3-Buckets.

      • Typ: AWS::S3::Bucket::Name

    • Aktion (erforderlich):

      • Beschreibung: (Erforderlich) Wählen Sie Contain diese Option, um die Amazon S3-Ressource Restore zu isolieren oder um zu versuchen, die Ressourcenkonfiguration in ihren ursprünglichen Zustand aus einer früheren Sicherung wiederherzustellen.

      • Typ: Zeichenfolge

      • Zulässige Werte: Contain|Restore

    • DryRun (Fakultativ):

      • Beschreibung: (Optional) Wenn der Wert auf „true“ gesetzt ist, nimmt die Automatisierung keine Änderungen an der Amazon S3-Zielressource vor, sondern gibt stattdessen aus, was sie versucht hätte zu ändern. Standardwert: true.

      • Typ: Boolescher Wert

      • Zulässige Werte: true|false

    • BucketKeyName (Fakultativ):

      • Beschreibung: (Optional) Der Schlüssel des Amazon S3-Objekts, das Sie enthalten oder wiederherstellen möchten. Wird bei der Eindämmung auf Objektebene verwendet.

      • Typ: Zeichenfolge

      • Zulässiges Muster: ^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$

    • BucketRestrictAccess(Befristet):

      • Beschreibung: (Befristet) Die ARN der IAM-Benutzer oder -Rollen, denen nach Ausführung der Eindämmungsmaßnahmen der Zugriff auf die Amazon S3-Zielressource gewährt wird. Dieser Parameter ist erforderlich, wenn er auf gesetzt Action ist. Contain

      • Typ: StringList

      • Zulässiges Muster: ^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$

    • TagIdentifier (Fakultativ):

      • Beschreibung: (Optional) Ein Tag im Format Key=BatchId, Value=78925, das den Ressourcen hinzugefügt wird, die von diesem Runbook während des Containment-Workflows erstellt oder geändert wurden.

      • Typ: Zeichenfolge

      • Zulässiges Muster: ^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$

    • BackupS3BucketName (Befristet):

      • Beschreibung: (Befristet) Der Amazon S3-Bucket, um die Zielressourcenkonfiguration zu sichern, wenn der auf gesetzt Action ist, Contain oder um die Konfiguration wiederherzustellen, wenn der auf gesetzt Action istRestore.

      • Typ: AWS::S3::Bucket::Name

    • BackupS3KeyName (Befristet):

      • Beschreibung: (Befristet) Wenn auf gesetzt Action istRestore, gibt dies den Amazon S3-Schlüssel an, den die Automatisierung verwendet, um zu versuchen, die Zielressourcenkonfiguration wiederherzustellen.

      • Typ: Zeichenfolge

      • Zulässiges Muster: ^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$

    • BackupS3BucketAccess(Befristet):

      • Beschreibung: (Befristet) Die ARN der IAM-Benutzer oder -Rollen, denen nach Ausführung der Eindämmungsmaßnahmen der Zugriff auf den Amazon S3-Backup-Bucket gewährt wird. Dieser Parameter ist erforderlich, wenn er Action ist. Contain

      • Typ: StringList

      • Zulässiges Muster: ^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$

    • AutomationAssumeRole (Fakultativ):

      • Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der IAM-Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen auszuführen.

      • Typ: AWS::IAM::Role::Arn

  4. Wählen Sie Ausführen aus.

  5. Die Automatisierung wird initiiert.

  6. Das Dokument führt die folgenden Schritte aus:

    • validieren RequiredInputs

      Validiert die erforderlichen Eingabeparameter für die Automatisierung auf der Grundlage der angegebenen Aktion.

    • bestätigen BucketExists

      Prüft, ob der Amazon S3-Ziel-Bucket existiert und darauf zugegriffen werden kann.

    • Sicherungskopie BucketPreChecks

      Prüft, ob der Amazon S3-Backup-Bucket möglicherweise öffentlichen Lese- oder Schreibzugriff auf seine Objekte gewährt.

    • Sicherungskopie TargetBucketMetadata

      Beschreibt die aktuelle Konfiguration des Amazon S3-Ziel-Buckets und lädt das Backup in den angegebenen Amazon S3-Backup-Bucket hoch.

    • Bucket enthalten

      Führt Operationen auf Bucket-Ebene durch, um den Amazon S3-Ziel-Bucket einzuschließen.

    • BranchOnActionAndMode

      Verzweigt die Automatisierung auf der Grundlage der Eingabeparameter Action und DryRun.

    • RestoreInstanceConfiguration

      Stellt die Amazon S3-Bucket-Konfiguration aus dem Backup wieder her.

    • enthalten FinalOutput

      Konsolidiert die Eindämmungsaktivitäten in einem lesbaren Format.

    • ReportContain

      Gibt Testlaufdetails für die Eindämmungsmaßnahmen aus.

    • ReportRestore

      Gibt Testlaufdetails für die Wiederherstellungsaktionen aus.

    • ReportRestoreFailure

      Enthält Anweisungen zur Wiederherstellung der ursprünglichen Amazon S3-Bucket-Konfiguration während eines Ausfallszenarios für den Wiederherstellungs-Workflow.

    • ReportContainmentFailure

      Enthält Anweisungen zur Wiederherstellung der ursprünglichen Amazon S3-Bucket-Konfiguration während eines Ausfallszenarios für den Containment-Workflow.

    • FinalOutput

      Gibt die Details der Eindämmungsmaßnahmen aus.

  7. Nach Abschluss der Ausführung finden Sie im Abschnitt Ausgaben die detaillierten Ergebnisse der Ausführung:

    • ContainFinalOutput.Output

      Gibt die Details der von diesem Runbook ausgeführten Eindämmungsaktionen aus, wenn der Wert auf DryRun False gesetzt ist.

    • RestoreFinalOutput.Output

      Gibt die Details der von diesem Runbook ausgeführten Wiederherstellungsaktionen aus, wenn der Wert auf False gesetzt DryRun ist.

    • ContainS3ResourceDryRun.Output

      Gibt die Details der von diesem Runbook ausgeführten Eindämmungsaktionen aus, wenn der Wert auf True gesetzt DryRun ist.

    • RestoreS3ResourceDryRun.Output

      Gibt die Details der von diesem Runbook ausgeführten Wiederherstellungsaktionen aus, wenn der Wert auf True gesetzt DryRun ist.

    • ReportContainmentFailure.Output

      Enthält Anweisungen zur Wiederherstellung der ursprünglichen Konfiguration der Amazon S3-Zielressource während eines Ausfallszenarios für den Containment-Workflow.

    • ReportRestoreFailure.Output

      Enthält Anweisungen zum Wiederherstellen der ursprünglichen Konfiguration der Amazon S3-Zielressource in einem Szenario, in dem der Wiederherstellungs-Workflow fehlschlägt.

Referenzen

Systems Manager Automation