Saltar al contenido

¿Cómo puedo proteger los archivos de mi bucket de Amazon S3?

8 minutos de lectura
0

Quiero proteger mi bucket de Amazon S3 con restricciones de acceso, supervisión de recursos y cifrado de datos para proteger mis archivos y cumplir con las prácticas recomendadas de seguridad.

Resolución

En primer lugar, debes saber si el tipo de bucket de Amazon S3 es de uso general, un directorio o una tabla. Luego, elige las medidas de seguridad y los servicios de supervisión que se ajusten a tu tipo de bucket.

Restricción del acceso a tus recursos de S3

De forma predeterminada, todos los buckets de S3 son privados. Solo los usuarios a los que concedas permisos de bucket de forma explícita pueden acceder al bucket.

Sigue estos pasos para restringir el acceso a tus buckets u objetos de S3:

  • Usa políticas basadas en la identidad que especifiquen los usuarios que pueden acceder a buckets y objetos específicos. Para crear y probar políticas de usuario, usa AWS Policy Generator y el simulador de política de IAM.
  • Escribe políticas de bucket que definan el acceso a buckets y objetos concretos. Puedes utilizar una política de bucket para conceder el acceso a todas las cuentas de AWS, conceder permisos públicos o anónimos, así como permitir o bloquear el acceso en función de ciertas condiciones.
    Nota: Puedes usar una instrucción Deny en una política de bucket para restringir el acceso a usuarios específicos de AWS Identity and Access Management (IAM), incluso cuando hayas otorgado acceso a esos usuarios en una política de IAM.
  • Usa Bloqueo del acceso público de Amazon S3 como forma centralizada de limitar el acceso público. La configuración de Bloqueo del acceso público anula las políticas de buckets y los permisos de objetos. Asegúrate de activar Bloqueo del acceso público en todas las cuentas y buckets a los que no quieras que se acceda públicamente. Amazon S3 activa la opción Bloqueo del acceso público de forma predeterminada en todas las cuentas y buckets nuevos. Desactiva la característica únicamente cuando necesites tener explícitamente un acceso público a tus recursos de S3. Si desactivas Bloqueo del acceso público en un bucket, audita el bucket con de forma periódica.
  • Configura las listas de control de acceso (ACL) en tus buckets y objetos.
    Nota: Si debes administrar los permisos mediante la programación, usa políticas de IAM o políticas de bucket en lugar de las ACL. Sin embargo, puedes utilizar las ACL cuando tu política de bucket supere el tamaño máximo de archivo de 20 KB. O bien, puedes utilizar las ACL para conceder acceso a los registros de acceso al servidor de Amazon S3 o a los registros de Amazon CloudFront.
  • Usa las políticas de control de servicios (SCP) para gestionar y aplicar de forma centralizada las políticas de seguridad de S3 en todas las cuentas de tu organización.
  • A nivel de red, restringe el acceso con puntos de enlace de nube virtual privada (VPC), restricciones basadas en direcciones IP en las políticas de bucket y AWS PrivateLink para S3. Los puntos de enlace de VPC permiten el acceso privado a Amazon S3 sin necesidad de tener acceso a Internet.
  • Utiliza los puntos de acceso de S3 para simplificar la administración de la seguridad de los buckets a los que acceden varias aplicaciones o equipos.
  • Implementa Object Lock de S3 para que los usuarios no puedan eliminar ni sobrescribir objetos dentro de un período de tiempo específico.

Si usas las ACL para proteger tus recursos, implementa las siguientes prácticas recomendadas:

  • Revisa los permisos de ACL que permiten las acciones de Amazon S3 en un bucket o un objeto. 
  • Restringe quién tiene acceso de Lectura y Escritura a tus buckets.
  • Concede acceso de Lectura al grupo Todos solo cuando quieras que todos los usuarios accedan al bucket o al objeto.
  • No concedas acceso de Escritura al grupo Todos. Cualquier persona que tenga acceso de Escritura puede añadir objetos a tu bucket y AWS te cobrará por cada objeto cargado. Además, cualquier persona con acceso de Escritura puede eliminar objetos del bucket.
  • No concedas acceso de Escritura al grupo Cualquier usuario de AWS autenticado, ya que incluye a cualquier persona que tenga una cuenta activa. Para controlar el acceso de los usuarios de IAM a su cuenta, utiliza 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, consulta Cómo Amazon S3 autoriza una solicitud.
  • Para los buckets nuevos, Amazon S3 establece Propiedad del objeto de S3 como Aplicada al propietario del bucket de forma predeterminada. Esto desactiva las ACL. Para mantener un control total sobre todos los objetos, se recomienda desactivar las ACL y utilizar políticas de bucket y de IAM para el control del acceso. 

También puedes restringir el acceso a acciones específicas de las siguientes maneras:

  • Para exigir a los usuarios que utilicen la autenticación multifactor antes de poder eliminar un objeto o desactivar el control de versiones de buckets, configura la eliminación de MFA.
  • Configura el acceso a la API protegido por MFA, para que los usuarios se autentiquen con un dispositivo de AWS MFA antes de realizar determinadas operaciones de la API de Amazon S3.
  • Si compartes temporalmente un objeto de S3 con otro usuario, crea una URL prefirmada para conceder acceso al objeto por tiempo limitado.

Supervisión de tus recursos de S3

Para activar el registro y supervisar los recursos de S3, sigue los pasos siguientes:

Uso del cifrado para proteger tus datos

Si necesitas realizar un cifrado durante la transmisión, utiliza el protocolo HTTPS para cifrar 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 utilizas herramientas de terceros para interactuar con Amazon S3, ponte en contacto con esa empresa para confirmar si sus herramientas también admiten el protocolo HTTPS.

Si necesitas cifrar los datos en reposo, utiliza las opciones de cifrado en el servidor (SSE): claves administradas de Amazon S3 (SSE-S3), claves de AWS Key Management Service (AWS KMS) (SSE-KMS) o claves proporcionadas por el cliente (SSE-C). SSE proporciona una capa adicional de protección y pistas de auditoría detalladas a través de CloudTrail. Puedes especificar los parámetros de SSE al escribir objetos en el bucket. También puedes activar el cifrado predeterminado en tu bucket con SSE-S3 o SSE-KMS.

Nota: Amazon S3 activa automáticamente SSE-S3 en todos los buckets nuevos.

Si necesitas usar el cifrado en el cliente, consulta Protección de los datos con el cifrado en el cliente.

Información relacionada

Administración de identidades y accesos para Amazon S3

Protección de datos en Amazon S3

¿Cómo exijo que los usuarios de otras cuentas de AWS usen MFA para acceder a mis buckets de Amazon S3?

¿Cómo puedo ver quién ha accedido a mis buckets y objetos de Amazon S3?