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 de recurso de Amazon (ARN) del rol de 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 en
true
, la automatización realiza una solicitud HTTP parcial a los objetos en elS3BucketName
que especifique. Solo se regresa el primer byte del objeto mediante el encabezado HTTP 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ámetroS3BucketName
. No se recomienda cambiar este parámetro del valor predeterminado. -
MaxObjects
Tipo: entero
Valores válidos: 1-25
Valor 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 enfalse
, solo se regresarán los mensajes de advertencia y error.
Permisos de IAM necesarios
El parámetro AutomationAssumeRole
requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
Los logs:PutLogEvents
permisos logs:CreateLogGroup
logs: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 enBucketOwner
. SiRequester 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 hay una denegación explícita en la política del bucket de S3 para la acción de la APIGetObject
. -
aws:executeAwsApi
: regresa la lista de control de acceso (ACL) para el bucket de S3. -
aws:executeScript
- Crea un grupo de CloudWatch registros y un flujo de registros si se especifica un valor para elCloudWatchLogGroupName
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
yStartAfter
. -
Regresa la política del bucket de S3 para simular una política de IAM personalizada para los objetos regresados desde su bucket de S3.
-
Realiza una solicitud HTTP parcial a los objetos regresados si el parámetro
HttpGet
está establecido entrue
. Solo se regresa el primer byte del objeto mediante el encabezado HTTP 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 la ACL del objeto concede permisos de
READ
oFULL_CONTROL
a usuarios anónimos. -
Regresa las etiquetas asociadas al objeto.
-
Utiliza la política de IAM simulada para confirmar si hay una denegación explícita de este objeto en la política de bucket de S3 para la acción de la API
GetObject
. -
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 AWS Key Management Service (AWS KMS) clave gestionada por el cliente.
-
Salidas
AnalyzeObjects.bucket
AnalyzeObjects.objeto