View a markdown version of this page

AWSSupport-TroubleshootS3PublicRead - 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-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 Access Points, die öffentlichen Zugriff auf Objekte ermöglichen.

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

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

Art des Dokuments

Automatisierung

Eigentümer

Amazon

Plattformen

LinuxmacOS, Windows

Parameter

  • AutomationAssumeRole

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen auszufü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, an die Sie die Automatisierungsausgabe senden möchten. Wenn keine Protokollgruppe gefunden wird, die dem von Ihnen angegebenen Wert entspricht, erstellt die Automatisierung eine Protokollgruppe unter Verwendung dieses Parameterwerts. Die Aufbewahrungsfrist für die von dieser Automatisierung erstellte Protokollgruppe beträgt 14 Tage.

  • CloudWatchLogStreamName

    Typ: Zeichenfolge

    Beschreibung: (Optional) Der CloudWatch Logs-Log-Stream, an 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 für den Namen des Log-Streams.

  • HttpGet

    Typ: Boolescher Wert

    Zulässige Werte: true | false

    Standard: true

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

  • IgnoreBlockPublicAccess

    Typ: Boolescher Wert

    Zulässige Werte: true | false

    Standard: false

    Beschreibung: (Optional) Wenn dieser Parameter auf gesetzt isttrue, ignoriert die Automatisierung die Blockeinstellungen 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.

  • S3BucketName

    Typ: Zeichenfolge

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

  • S3PrefixName

    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, unter 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: Boolescher Wert

    Zulässige Werte: true | false

    Standard: false

    Beschreibung: (Optional) Um während der Automatisierung detailliertere Informationen zurückzugeben, setzen Sie diesen Parameter auftrue. Nur Warn- und Fehlermeldungen werden 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 die Automatisierung Protokolldaten an CloudWatch Logs senden soll.

JSON
{ "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 S3-Bucket-Standort und Ihre kanonische Benutzer-ID zurück.

  • aws:executeScript— Gibt die Blockierungseinstellungen für den öffentlichen Zugriff 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 S3-Bucket-Richtlinienstatus zurück und bestimmt, ob er 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 S3-Bucket-Richtlinie eine ausdrückliche Ablehnung für die GetObject API-Aktion enthält.

  • 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— Prüft auf der Grundlage der Werte, die Sie in den Runbook-Eingabeparametern angeben, ob eine der während der Automatisierung gesammelten S3-Bucket-Einstellungen den öffentlichen Zugriff auf Objekte verhindert. Dieses Skript erfüllt die folgenden Funktionen:

    • Wertet die Einstellungen für die Sperrung des öffentlichen Zugriffs 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 teilweise HTTP-Anfrage an die zurückgegebenen Objekte durch, wenn der HttpGet Parameter auf true gesetzt ist. Nur das erste Byte des Objekts wird mithilfe des Range-HTTP-Headers zurückgegeben.

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

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

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

    • Gibt die mit dem Objekt verknüpften Tags zurück.

    • Verwendet die simulierte IAM-Richtlinie, um zu bestätigen, ob dieses Objekt in der S3-Bucket-Richtlinie für die GetObject API-Aktion explizit verweigert wird.

    • 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 vom Kunden verwalteten AWS Key Management Service (AWS KMS) -Schlüssel verschlüsselt ist.

Ausgaben

AnalyzeObjects.bucket

AnalyzeObjects.object