AWSSupport-TroubleshootS3PublicRead - AWS Systems Manager Referenz zum Automatisierungs-Runbook

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-TroubleshootS3PublicRead

Beschreibung

Das AWSSupport-TroubleshootS3PublicRead Runbook diagnostiziert Probleme beim Lesen von Objekten aus dem öffentlichen Amazon Simple Storage Service (Amazon S3) -Bucket, den S3BucketName Sie im Parameter angeben. Eine Teilmenge der Einstellungen wird auch für Objekte im S3-Bucket analysiert.

Führen Sie diese Automatisierung aus (Konsole)

Einschränkungen

  • Diese Automatisierung sucht nicht nach Zugriffspunkten, die öffentlichen Zugriff auf Objekte ermöglichen.

  • Diese Automatisierung wertet keine Bedingungsschlüssel in der S3-Bucket-Richtlinie aus.

  • Wenn Sie verwenden AWS Organizations, bewertet diese Automatisierung keine Richtlinien zur Servicekontrolle, um zu bestätigen, dass der Zugriff auf Amazon S3 zulässig ist.

Art des Dokuments

Automatisierung

Eigentümer

Amazon

Plattformen

Linux, macOS, Windows

Parameter

  • AutomationAssumeRole

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der Rolle AWS Identity and Access Management (IAM), der es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen durchzuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.

  • CloudWatchLogGroupName

    Typ: Zeichenfolge

    Beschreibung: (Optional) Die Amazon CloudWatch Logs-Protokollgruppe, in die Sie die Automatisierungsausgabe senden möchten. Wenn keine Protokollgruppe gefunden wird, die dem von Ihnen angegebenen Wert entspricht, erstellt die Automatisierung anhand dieses Parameterwerts eine Protokollgruppe. Die Aufbewahrungsfrist für die durch diese Automatisierung erstellte Protokollgruppe beträgt 14 Tage.

  • CloudWatchLogStreamName

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der CloudWatch Log-Log-Stream, in den Sie die Automatisierungsausgabe senden möchten. Wenn kein Log-Stream gefunden wird, der dem von Ihnen angegebenen Wert entspricht, erstellt die Automatisierung einen Log-Stream mit diesem Parameterwert. Wenn Sie keinen Wert für diesen Parameter angeben, verwendet die Automatisierung den ExecutionId als Namen des Log-Streams.

  • HttpGet

    Typ: Boolesch

    Zulässige Werte: true | false

    Standard: true

    Beschreibung: (Optional) Wenn dieser Parameter auf gesetzt isttrue, sendet die Automatisierung eine teilweise HTTP Anforderung an die Objekte in der von S3BucketName Ihnen angegebenen Liste. Nur das erste Byte des Objekts wird mithilfe des HTTP Range-Headers zurückgegeben.

  • IgnoreBlockPublicAccess

    Typ: Boolesch

    Zulässige Werte: true | false

    Standard: false

    Beschreibung: (Optional) Wenn dieser Parameter auf gesetzt isttrue, ignoriert die Automatisierung die Einstellungen für den öffentlichen Zugriff des S3-Buckets, den Sie im S3BucketName Parameter angeben. Es wird nicht empfohlen, diesen Parameter gegenüber dem Standardwert zu ändern.

  • MaxObjects

    Typ: Ganzzahl

    Gültige Werte: 1—25

    Standard: 5

    Beschreibung: (Optional) Die Anzahl der zu analysierenden Objekte im S3-Bucket, die Sie im S3BucketName Parameter angeben.

  • S3 BucketName

    Typ: Zeichenfolge

    Beschreibung: (Erforderlich) Der Name des S3-Buckets für die Fehlerbehebung.

  • S3 PrefixName

    Typ: Zeichenfolge

    Beschreibung: (Optional) Das Schlüsselnamenpräfix der Objekte, die Sie in Ihrem S3-Bucket analysieren möchten. Weitere Informationen finden Sie unter Objektschlüssel im Amazon Simple Storage Service-Benutzerhandbuch.

  • StartAfter

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der Name des Objektschlüssels, bei dem die Automatisierung mit der Analyse von Objekten in Ihrem S3-Bucket beginnen soll.

  • ResourcePartition

    Typ: Zeichenfolge

    Zulässige Werte: aws | aws-us-gov | aws-cn

    Standard: aws

    Beschreibung: (Erforderlich) Die Partition, auf der sich Ihr S3-Bucket befindet.

  • Verbose

    Typ: Boolesch

    Zulässige Werte: true | false

    Standard: false

    Beschreibung: (Optional) Um während der Automatisierung detailliertere Informationen zurückzugeben, setzen Sie diesen Parameter auftrue. Es werden nur Warn- und Fehlermeldungen zurückgegeben, wenn der Parameter auf gesetzt istfalse.

Erforderliche IAM Berechtigungen

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

Die logs:PutLogEvents Berechtigungen logs:CreateLogGrouplogs:CreateLogStream, und sind nur erforderlich, wenn Sie möchten, dass die Automatisierung Protokolldaten an CloudWatch Logs sendet.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:SimulateCustomPolicy", "iam:GetContextKeysForCustomPolicy", "s3:ListAllMyBuckets", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutRetentionPolicy", "s3:GetAccountPublicAccessBlock" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketRequestPayment", "s3:GetBucketPolicyStatus", "s3:GetBucketPolicy", "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1", "Effect": "Allow" } ] }

Dokumentschritte

  • aws:assertAwsResourceProperty- Bestätigt, dass der S3-Bucket existiert und zugänglich ist.

  • aws:executeScript- Gibt den Standort des S3-Buckets und Ihre kanonische Benutzer-ID zurück.

  • aws:executeScript- Gibt die Einstellungen für öffentliche Zugriffssperren für Ihr Konto und den S3-Bucket zurück.

  • aws:assertAwsResourceProperty— Bestätigt, dass der S3-Bucket-Payer auf BucketOwner eingestellt ist. Wenn im S3-Bucket aktiviert Requester Pays ist, endet die Automatisierung.

  • aws:executeScript- Gibt den Status der S3-Bucket-Richtlinie zurück und bestimmt, ob sie als öffentlich betrachtet wird. Weitere Informationen zu öffentlichen S3-Buckets finden Sie unter Die Bedeutung von „öffentlich“ im Amazon Simple Storage Service-Benutzerhandbuch.

  • aws:executeAwsApi— Gibt die S3-Bucket-Richtlinie zurück.

  • aws:executeAwsApi- Gibt alle Kontextschlüssel zurück, die in der S3-Bucket-Richtlinie gefunden wurden.

  • aws:assertAwsResourceProperty— Bestätigt, ob die GetObject API Aktion in der S3-Bucket-Richtlinie ausdrücklich abgelehnt wurde.

  • aws:executeAwsApi— Gibt die Zugriffskontrollliste (ACL) für den S3-Bucket zurück.

  • aws:executeScript- Erstellt eine CloudWatch Logs-Log-Gruppe und einen Log-Stream, wenn Sie einen Wert für den CloudWatchLogGroupName Parameter angeben.

  • aws:executeScript- Basierend auf den Werten, die Sie in den Runbook-Eingabeparametern angeben, bewertet es, ob irgendwelche der während der Automatisierung gesammelten S3-Bucket-Einstellungen verhindern, dass Objekte von der Öffentlichkeit abgerufen werden. Dieses Skript führt die folgenden Funktionen aus:

    • Wertet die Einstellungen für öffentliche Zugangssperren aus

    • Gibt Objekte aus Ihrem S3-Bucket auf der Grundlage der Werte zurück, die Sie in den StartAfter Parametern MaxObjectsS3PrefixName, und angeben.

    • Gibt die S3-Bucket-Richtlinie zurück, um eine benutzerdefinierte IAM Richtlinie für die von Ihrem S3-Bucket zurückgegebenen Objekte zu simulieren.

    • Führt eine HTTP Teilanforderung an die zurückgegebenen Objekte durch, wenn der HttpGet Parameter auf gesetzt isttrue. Nur das erste Byte des Objekts wird mithilfe des HTTP Range-Headers zurückgegeben.

    • Überprüft den Schlüsselnamen des zurückgegebenen Objekts, um zu bestätigen, ob er mit einem oder zwei Punkten endet. Objektschlüsselnamen, die mit Punkten enden, können nicht von der Amazon S3 S3-Konsole heruntergeladen werden.

    • Prüft, ob der Besitzer des zurückgegebenen Objekts mit dem Besitzer des S3-Buckets übereinstimmt.

    • Prüft, ob die FULL_CONTROL Berechtigungen READ oder Berechtigungen des Objekts anonymen Benutzern ACL gewährt werden.

    • Gibt mit dem Objekt verknüpfte Tags zurück.

    • Verwendet die simulierte IAM Richtlinie, um zu bestätigen, ob es in der S3-Bucket-Richtlinie für die GetObject API Aktion eine ausdrückliche Ablehnung für dieses Objekt gibt.

    • Gibt die Metadaten des Objekts zurück, um zu bestätigen, dass die Speicherklasse unterstützt wird.

    • Überprüft die serverseitigen Verschlüsselungseinstellungen des Objekts, um zu bestätigen, ob das Objekt mit einem AWS Key Management Service (AWS KMS) vom Kunden verwalteten Schlüssel verschlüsselt ist.

Ausgaben

AnalyzeObjects.bucket

AnalyzeObjects.objekt