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 en
true
, la automatización realiza una HTTP solicitud parcial a los objetos del objetoS3BucketName
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ámetroS3BucketName
. 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 enfalse
, 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: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 existe una denegación explícita de laGetObject
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 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
. -
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
permisosREAD
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