¿Cómo puedo proteger los archivos de mi bucket de Amazon S3?
Quiero limitar los permisos a mis recursos de Amazon Simple Storage Service (Amazon S3) y supervisar el acceso a estos recursos.
Descripción breve
Para asegurarse de que sus archivos y buckets de Amazon S3 estén seguros, siga estas prácticas recomendadas:
- Restrinja el acceso a sus recursos de S3: Cuando utilice AWS, restrinja el acceso a sus recursos a las personas que realmente lo necesitan. Siga el principio del mínimo privilegio.
- Supervise sus recursos de S3: Supervise sus recursos mediante los registros de AWS CloudTrail, el registro de acceso al servidor S3, AWS Config, AWS Identity and Access Management (IAM) Access Analyzer, Amazon Macie, Amazon CloudWatch, o comprobación de permisos de bucket de AWS Trusted Advisor's S3.
- Utilice el cifrado para proteger sus datos: Amazon S3 admite el cifrado durante la transmisión, el cifrado del lado del servidor (SSE) y el cifrado del lado del cliente.
Resolución
Restrinja el acceso a sus recursos de S3
De forma predeterminada, todos los buckets de S3 son privados y solo pueden acceder a ellos los usuarios a los que se les haya otorgado el acceso de forma explícita.
Restrinja el acceso a sus buckets u objetos de S3 de la siguiente manera:
- Escribir políticas de usuario de IAM que especifiquen los usuarios que pueden acceder a cubos y objetos específicos. Las políticas de IAM proporcionan una forma programática de administrar los permisos de Amazon S3 para varios usuarios. Para obtener más información sobre cómo crear y probar políticas de usuario, consulte AWSPolicy Generator e IAM Policy Simulator.
- Escribir políticas de bucket que definan el acceso a bucket y objetos específicos. Puede utilizar una política de bucket para conceder el acceso a todas las cuentas de AWS, conceder permisos públicos o anónimos y permitir o bloquear el acceso en función de las condiciones. Para obtener más información sobre cómo crear y probar políticas de bucket, consulte el AWS Policy Generator.
Nota: Puede utilizar una sentencia de denegación en una política de bucket para restringir el acceso a usuarios de IAM específicos. Puede restringir el acceso incluso si se concede el acceso a los usuarios en virtud de una política de IAM. - Uso de Amazon S3 Block Public Access como forma centralizada de limitar el acceso público. Bloquear la configuración de acceso público anula las políticas de bucket y los permisos de objetos. Asegúrese de habilitar Block Public Access para todas las cuentas y buckets a los que no desee acceder públicamente.
- Configurar listas de control de acceso (ACL) en sus buckets y objetos.
Nota: Si necesita una forma programática de administrar los permisos, utilice políticas de IAM o políticas de bucket en lugar de las ACL. Sin embargo, puede utilizar las ACL cuando su política de bucket supere el tamaño máximo de archivo de 20 KB. O bien, puede utilizar las ACL para conceder acceso a los registros de acceso al servidor de Amazon S3 o a los registros de Amazon CloudFront.
Tenga en cuenta estas prácticas recomendadas cuando utilice las ACL para proteger sus recursos:
- Asegúrese de revisar los permisos de ACL que permiten las acciones de Amazon S3 en un bucket o un objeto. Para ver la lista de permisos de ACL y las acciones que permiten, consulte ¿Qué permisos puedo conceder?
- Sea estricto con respecto a quién tiene acceso de lectura y escritura a sus buckets.
- Analice detenidamente su caso de uso antes de conceder el acceso de Lectura al grupo Todos, ya que esto permite que cualquier persona acceda al bucket o al objeto.
- No permita nunca el acceso de Escritura al grupo Todos. Esta configuración permite que cualquier persona añada objetos a su bucket y, a continuación, se le facturará. Esta configuración también permite que cualquier persona elimine objetos del bucket.
- No permita nunca el acceso de Escritura al grupo de usuarios de AWS autenticados. Este grupo incluye a cualquier persona que tenga una cuenta de AWS activa, no solo a los usuarios de IAM de su cuenta. Para controlar el acceso de los usuarios de IAM a su cuenta, utilice una política de IAM en su lugar. Para obtener más información sobre cómo Amazon S3 evalúa las políticas de IAM, consulte Cómo Amazon S3 autoriza una solicitud.
Además de usar políticas, bloquear el acceso público y las ACL, también puede restringir el acceso a acciones específicas de las siguientes maneras:
- Active la eliminación de MFA, que requiere que el usuario se autentique mediante un dispositivo de autenticación multifactorial (MFA) antes de eliminar un objeto o deshabilitar el control de versiones del bucket.
- Configure el acceso a la API protegido por MFA, que requiere que los usuarios se autentiquen con un dispositivo de AWS MFA antes de realizar determinadas operaciones de la API de Amazon S3.
- Si comparte temporalmente un objeto de S3 con otro usuario, cree una URL prefirmada para conceder un acceso limitado al objeto. Para obtener más información, consulte Compartir objetos mediante URL prefirmadas.
Supervise sus recursos de S3
Puede habilitar el registro y supervisar sus recursos de S3 de las siguientes maneras:
- Configure los registros de AWS CloudTrail. De forma predeterminada, CloudTrail solo rastrea las acciones a nivel de bucket. Para realizar un seguimiento de las acciones a nivel de objeto (como GetObject), habilite los eventos de datos de Amazon S3.
- Habilite el registro de acceso al servidor Amazon S3. Para obtener más información sobre la revisión de estos registros, consulte el formato de registro de acceso al servidor Amazon S3.
- Utilice AWS Config para supervisar las ACL y las políticas de bucket para detectar cualquier infracción que permita el acceso público de lectura o escritura. Para obtener más información, consulte s3-bucket-public-read-prohibited y s3-bucket-public-write-prohibited.
- Utilice AWS IAM Access Analyzer como ayuda para revisar las políticas de bucket o IAM que permiten el acceso a sus recursos de S3 desde otra cuenta de AWS.
- Utilice Amazon Macie para automatizar la identificación de los datos confidenciales almacenados en sus buckets, el amplio acceso a los buckets y los buckets no cifrados de su cuenta.
- Utilice CloudTrail con otros servicios, como CloudWatch o AWS Lambda, para invocar procesos específicos cuando se realicen determinadas acciones en sus recursos de S3. Para obtener más información, consulte Registrar operaciones a nivel de objetos de Amazon S3 mediante CloudWatch Events.
- Si tiene un plan de soporte de negocio o un plan de soporte empresarial, puede utilizar la comprobación de permisos del bucket de S3 de AWS Trusted Advisor. Esta comprobación le informa sobre los buckets con permisos de acceso abierto.
Nota: Esta comprobación de Trusted Advisor no supervisa las políticas de bucket que anulan las ACL de bucket.
Utilice el cifrado para proteger sus datos
Si su caso práctico requiere el cifrado durante la transmisión, Amazon S3 admite el protocolo HTTPS, que cifra los datos en tránsito hacia y desde Amazon S3. Todos los AWS SDK y las herramientas de AWS utilizan HTTPS de forma predeterminada.
Nota: Si utiliza herramientas de terceros para interactuar con Amazon S3, póngase en contacto con los desarrolladores para confirmar si sus herramientas también admiten el protocolo HTTPS.
Si su caso de uso requiere el cifrado de los datos en reposo, Amazon S3 ofrece el cifrado del lado del servidor (SSE). Las opciones de SSE incluyen SSE-S3, SSE-KMS, o SSE-C. Puede especificar los parámetros de SSE al escribir objetos en el bucket. También puede habilitar el cifrado predeterminado en su bucket con SSE-S3 o SSE-KMS.
Si su caso de uso requiere el cifrado del lado del cliente, consulte Proteger los datos mediante el cifrado del lado del cliente.
Información relacionada
Identity y Access Management en Amazon S3
Protección de datos en Amazon S3
¿Cómo puedo ver quién ha accedido a mis buckets y objetos de Amazon S3?
Vídeos relacionados

Contenido relevante
- OFICIAL DE AWSActualizada hace un mes
- OFICIAL DE AWSActualizada hace 3 años