AWSSupport-TroubleshootS3PublicRead - AWS Systems Manager Référence du manuel d'automatisation

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 surtrue, l'automatisation envoie une HTTP demande partielle aux objets S3BucketName 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 surtrue, l'automatisation ignore les paramètres de blocage d'accès public du compartiment S3 que vous spécifiez dans le S3BucketName 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 surtrue. 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'il Requester 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'GetObjectAPIaction 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 le CloudWatchLogGroupName 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ètres MaxObjectsS3PrefixName, 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 ou FULL_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'GetObjectAPIaction.

    • 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