AWSSupport-TroubleshootS3PublicRead - AWS Systems Manager Referencia del manual de automatización

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWSSupport-TroubleshootS3PublicRead

Descripción

El manual de procedimientos AWSSupport-TroubleshootS3PublicRead diagnostica problemas al leer objetos del bucket público de Amazon Simple Storage Service (Amazon S3) que especifique en el parámetro S3BucketName. También se analiza un subconjunto de configuraciones para detectar los objetos del bucket de S3.

Ejecuta esta automatización (consola)

Limitaciones

  • Esta automatización no comprueba los puntos de acceso que permiten el acceso público a los objetos.

  • Esta automatización no evalúa las claves de condición de la política de bucket de S3.

  • Si la utiliza AWS Organizations, esta automatización no evalúa las políticas de control de servicios para confirmar que se permite el acceso a Amazon S3.

Tipo de documento

Automatización

Propietario

Amazon

Plataformas

Linux, macOS, Windows

Parámetros

  • AutomationAssumeRole

    Tipo: cadena

    Descripción: (opcional) El nombre del recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.

  • CloudWatchLogGroupName

    Tipo: cadena

    Descripción: (opcional) El grupo de CloudWatch registros de Amazon Logs al que desea enviar el resultado de la automatización. Si no se encuentra ningún grupo de registro que coincida con el valor que ha especificado, la automatización creará un grupo de registro con este valor de parámetro. El período de retención del grupo de registro creado por esta automatización es de 14 días.

  • CloudWatchLogStreamName

    Tipo: cadena

    Descripción: (opcional) El flujo de registro de CloudWatch Logs al que desea enviar el resultado de la automatización. Si no se encuentra un flujo de registro que coincida con el valor especificado, la automatización creará un flujo de registro con este valor de parámetro. Si no especifica un valor para este parámetro, la automatización utilizará el ExecutionId como nombre del flujo de registro.

  • HttpGet

    Tipo: Booleano

    Valores válidos: true | false

    Predeterminado: true

    Descripción: (opcional) Si este parámetro está establecido entrue, la automatización realiza una HTTP solicitud parcial a los objetos del objeto S3BucketName que especifique. Solo se devuelve el primer byte del objeto mediante el HTTP encabezado Range.

  • IgnoreBlockPublicAccess

    Tipo: Booleano

    Valores válidos: true | false

    Predeterminado: false

    Descripción: (opcional) si este parámetro está establecido en true, la automatización ignora la configuración del bloque de acceso público del bucket de S3 que especifique en el parámetro S3BucketName. No se recomienda cambiar este parámetro del valor predeterminado.

  • MaxObjects

    Tipo: entero

    Valores válidos: 1-25

    Predeterminado: 5

    Descripción: (opcional) el número de objetos que se van a analizar en el bucket de S3 que especifique en el parámetro S3BucketName.

  • S3 BucketName

    Tipo: cadena

    Descripción: (obligatorio) el nombre del bucket S3 para solucionar problemas.

  • S3 PrefixName

    Tipo: cadena

    Descripción: (opcional) el prefijo del nombre clave de los objetos que desea analizar en su bucket de S3. Para obtener más información, consulte el tema para Claves de objetos en la Guía del usuario de Amazon Simple Storage Service.

  • StartAfter

    Tipo: cadena

    Descripción: (opcional) el nombre de la clave del objeto en el que desea que la automatización comience a analizar los objetos del bucket de S3.

  • ResourcePartition

    Tipo: cadena

    Valores válidos: aws | aws-us-gov | aws-cn

    Valor predeterminado: aws

    Descripción: (obligatorio) la partición donde está ubicado su bucket de S3.

  • Detallado

    Tipo: Booleano

    Valores válidos: true | false

    Predeterminado: false

    Descripción: (opcional) para obtener información más detallada durante la automatización, defina este parámetro en true. Si el parámetro está establecido en false, solo se regresarán los mensajes de advertencia y error.

IAMPermisos necesarios

El parámetro AutomationAssumeRole requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.

Los logs:PutLogEvents permisos logs:CreateLogGrouplogs:CreateLogStream, y solo son necesarios si deseas que la automatización envíe datos de registro a 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:::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" } ] }

Pasos de documentos

  • aws:assertAwsResourceProperty: confirma que el bucket de S3 existe y es accesible.

  • aws:executeScript: regresa la ubicación del bucket de S3 y su ID de usuario canónico.

  • aws:executeScript: regresa la configuración de bloqueo de acceso público de su cuenta y del bucket de S3.

  • aws:assertAwsResourceProperty: confirma que el pagador de bucket de S3 está configurado en BucketOwner. Si Requester Pays está habilitado en el bucket de S3, la automatización finaliza.

  • aws:executeScript: regresa el estado de la política del bucket de S3 y determina si se considera público. Para obtener más información acerca de los buckets S3 públicos, consulte El significado de “público” en la Guía del usuario de Amazon Simple Storage Service.

  • aws:executeAwsApi: regresa la política de bucket de S3.

  • aws:executeAwsApi: regresa todas las claves de contexto que se encuentran en la política de bucket de S3.

  • aws:assertAwsResourceProperty- Confirma si existe una denegación explícita de la GetObject API acción en la política de bucket de S3.

  • aws:executeAwsApi- Devuelve la lista de control de acceso (ACL) del bucket de S3.

  • aws:executeScript- Crea un grupo de CloudWatch registros y un flujo de registros si se especifica un valor para el CloudWatchLogGroupName parámetro.

  • aws:executeScript: en función de los valores que especifique en los parámetros de entrada del manual de procedimientos, evalúa si alguna de las configuraciones del bucket de S3 recopiladas durante la automatización impide que el público acceda a los objetos. Este script realiza las siguientes funciones:

    • Evalúa la configuración de los bloques de acceso público

    • Regresa los objetos de su bucket de S3 en función de los valores que especifique en los parámetros MaxObjects, S3PrefixName y StartAfter.

    • Devuelve la política del bucket de S3 para simular una IAM política personalizada para los objetos devueltos desde el bucket de S3.

    • Realiza una HTTP solicitud parcial a los objetos devueltos si el HttpGet parámetro está establecido entrue. Solo se devuelve el primer byte del objeto mediante el HTTP encabezado Range.

    • Comprueba el nombre clave del objeto regresado para confirmar si termina con uno o dos puntos. Los nombres de claves de objeto que terminan en puntos no se pueden descargar de la consola de Amazon S3.

    • Comprueba si el propietario del objeto regresado coincide con el propietario del bucket de S3.

    • Comprueba si el objeto ACL concede FULL_CONTROL permisos READ o concede permisos a usuarios anónimos.

    • Regresa las etiquetas asociadas al objeto.

    • Utiliza la IAM política simulada para confirmar si hay una denegación explícita de este objeto en la política de bucket de S3 relativa a la GetObject API acción.

    • Regresa los metadatos del objeto para confirmar que se admite la clase de almacenamiento.

    • Comprueba la configuración de cifrado del lado del servidor del objeto para confirmar si el objeto está cifrado mediante una clave AWS Key Management Service (AWS KMS) gestionada por el cliente.

Salidas

AnalyzeObjects.bucket

AnalyzeObjects.objeto