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 ist
true
, sendet die Automatisierung eine teilweise HTTP Anforderung an die Objekte in der vonS3BucketName
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 ist
true
, ignoriert die Automatisierung die Einstellungen für den öffentlichen Zugriff des S3-Buckets, den Sie imS3BucketName
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 auf
true
. 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:CreateLogGroup
logs: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 aufBucketOwner
eingestellt ist. Wenn im S3-Bucket aktiviertRequester 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 dieGetObject
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 denCloudWatchLogGroupName
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
ParameternMaxObjects
S3PrefixName
, 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
BerechtigungenREAD
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