Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWSSupport-TroubleshootS3PublicRead
Description
Le AWSSupport-TroubleshootS3PublicRead
runbook diagnostique les problèmes de lecture des objets du compartiment public Amazon Simple Storage Service (Amazon S3) que vous spécifiez dans le paramètre. S3BucketName
Un sous-ensemble de paramètres est également analysé pour les objets du compartiment S3.
Exécuter cette automatisation (console)
Limites
-
Cette automatisation ne vérifie pas les points d'accès qui permettent au public d'accéder aux objets.
-
Cette automatisation n'évalue pas les clés de condition dans la politique du compartiment S3.
-
Si vous l'utilisez AWS Organizations, cette automatisation n'évalue pas les politiques de contrôle des services pour confirmer que l'accès à Amazon S3 est autorisé.
Type de document
Automatisation
Propriétaire
Amazon
Plateformes
LinuxmacOS, Windows
Paramètres
-
AutomationAssumeRole
Type : String
Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
-
CloudWatchLogGroupName
Type : String
Description : (Facultatif) Le groupe de CloudWatch journaux Amazon Logs dans lequel vous souhaitez envoyer le résultat d'automatisation. Si aucun groupe de journaux correspondant à la valeur que vous spécifiez n'est trouvé, l'automatisation créera un groupe de journaux à l'aide de cette valeur de paramètre. La période de conservation du groupe de journaux créé par cette automatisation est de 14 jours.
-
CloudWatchLogStreamName
Type : String
Description : (Facultatif) Le flux du journal CloudWatch des journaux dans lequel vous souhaitez envoyer la sortie d'automatisation. Si aucun flux de journal correspondant à la valeur que vous spécifiez n'est trouvé, l'automatisation créera un flux de journal à l'aide de cette valeur de paramètre. Si vous ne spécifiez pas de valeur pour ce paramètre, l'automatisation utilisera le
ExecutionId
pour le nom du flux de journal. -
HttpGet
Type : booléen
Valeurs valides : true | false
Valeur par défaut : true
Description : (Facultatif) Si ce paramètre est défini sur
true
, l'automatisation envoie une HTTP demande partielle aux objetsS3BucketName
que vous spécifiez. Seul le premier octet de l'objet est renvoyé à l'aide de l'HTTPen-tête Range. -
IgnoreBlockPublicAccess
Type : booléen
Valeurs valides : true | false
Valeur par défaut : false
Description : (Facultatif) Si ce paramètre est défini sur
true
, l'automatisation ignore les paramètres de blocage d'accès public du compartiment S3 que vous spécifiez dans leS3BucketName
paramètre. Il n'est pas recommandé de modifier ce paramètre par rapport à la valeur par défaut. -
MaxObjects
Type : entier
Valeurs valides : 1 à 25
Par défaut: 5
Description : (Facultatif) Le nombre d'objets à analyser dans le compartiment S3 que vous spécifiez dans le
S3BucketName
paramètre. -
S3 BucketName
Type : String
Description : (Obligatoire) Nom du compartiment S3 à dépanner.
-
S3 PrefixName
Type : String
Description : (Facultatif) Le préfixe du nom clé des objets que vous souhaitez analyser dans votre compartiment S3. Pour plus d'informations, consultez la section Clés d'objet dans le guide de l'utilisateur d'Amazon Simple Storage Service.
-
StartAfter
Type : String
Description : (Facultatif) Nom de la clé d'objet dans laquelle vous souhaitez que l'automatisation commence à analyser les objets de votre compartiment S3.
-
ResourcePartition
Type : String
Valeurs valides :
aws
|aws-us-gov
|aws-cn
Par défaut :
aws
Description : (Obligatoire) La partition dans laquelle se trouve votre compartiment S3.
-
Détaillée
Type : booléen
Valeurs valides : true | false
Valeur par défaut : false
Description : (Facultatif) Pour renvoyer des informations plus détaillées lors de l'automatisation, définissez ce paramètre sur
true
. Seuls les messages d'avertissement et d'erreur seront renvoyés si le paramètre est défini surfalse
.
IAMAutorisations requises
Le AutomationAssumeRole
paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
Les logs:PutLogEvents
autorisationslogs:CreateLogGroup
,logs:CreateLogStream
, et ne sont requises que si vous souhaitez que l'automatisation envoie des données de journal à CloudWatch Logs.
{ "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:::awsexamplebucket1/*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketRequestPayment", "s3:GetBucketPolicyStatus", "s3:GetBucketPolicy", "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::awsexamplebucket1", "Effect": "Allow" } ] }
Étapes de document
-
aws:assertAwsResourceProperty
- Confirme que le compartiment S3 existe et qu'il est accessible. -
aws:executeScript
- Renvoie l'emplacement du compartiment S3 et votre ID utilisateur canonique. -
aws:executeScript
- Renvoie les paramètres de blocage de l'accès public pour votre compte et le compartiment S3. -
aws:assertAwsResourceProperty
- Confirme que le payeur du compartiment S3 est réglé surBucketOwner
. S'ilRequester Pays
est activé sur le compartiment S3, l'automatisation prend fin. -
aws:executeScript
- Renvoie l'état de la politique du compartiment S3 et détermine s'il est considéré comme public. Pour plus d'informations sur les compartiments S3 publics, consultez La signification du terme « public » dans le guide de l'utilisateur d'Amazon Simple Storage Service. -
aws:executeAwsApi
- Renvoie la politique du compartiment S3. -
aws:executeAwsApi
- Renvoie toutes les clés de contexte présentes dans la politique du compartiment S3. -
aws:assertAwsResourceProperty
- Confirme s'il existe un refus explicite de l'GetObject
APIaction dans la politique du compartiment S3. -
aws:executeAwsApi
- Renvoie la liste de contrôle d'accès (ACL) pour le compartiment S3. -
aws:executeScript
- Crée un groupe de CloudWatch journaux et un flux de journaux si vous spécifiez une valeur pour leCloudWatchLogGroupName
paramètre. -
aws:executeScript
- Sur la base des valeurs que vous spécifiez dans les paramètres d'entrée du runbook, évalue si l'un des paramètres du compartiment S3 collectés lors de l'automatisation empêche le public d'accéder aux objets. Ce script exécute les fonctions suivantes :-
Évalue les paramètres de blocage de l'accès public
-
Renvoie les objets de votre compartiment S3 en fonction des valeurs que vous spécifiez dans les
StartAfter
paramètresMaxObjects
S3PrefixName
, et. -
Renvoie la politique du compartiment S3 pour simuler une IAM politique personnalisée pour les objets renvoyés par votre compartiment S3.
-
Exécute une HTTP demande partielle aux objets renvoyés si le
HttpGet
paramètre est défini surtrue
. Seul le premier octet de l'objet est renvoyé à l'aide de l'HTTPen-tête Range. -
Vérifie le nom de clé de l'objet renvoyé pour confirmer s'il se termine par un ou deux points. Les noms de clés d'objet qui se terminent par des points ne peuvent pas être téléchargés depuis la console Amazon S3.
-
Vérifie si le propriétaire de l'objet renvoyé correspond au propriétaire du compartiment S3.
-
Vérifie si l'objet ACL accorde
READ
ouFULL_CONTROL
autorise des utilisateurs anonymes. -
Renvoie les balises associées à l'objet.
-
Utilise la IAM politique simulée pour confirmer s'il existe un refus explicite pour cet objet dans la politique du compartiment S3 pour l'
GetObject
APIaction. -
Renvoie les métadonnées de l'objet pour confirmer que la classe de stockage est prise en charge.
-
Vérifie les paramètres de chiffrement côté serveur de l'objet pour vérifier si l'objet est chiffré à l'aide d'une clé gérée par le client AWS Key Management Service (AWS KMS).
-
Sorties
AnalyzeObjects.seau
AnalyzeObjects.objet