View a markdown version of this page

Cifrado - Amazon Simple Storage Service

Cifrado

Los archivos de S3 proporcionan capacidades de cifrado integrales para proteger los datos en reposo y en tránsito.

Cifrado en reposo

El bucket de S3 se cifra con los mecanismos de cifrado de Amazon S3. Para obtener más información sobre el cifrado de datos en S3, consulte Protección de datos con cifrado.

Los archivos de S3 cifran los datos en reposo en el sistema de archivos de S3 mediante el cifrado del servidor. El cifrado del lado del servidor es el cifrado de datos en su destino por la aplicación o servicio que los recibe. En los sistemas de archivos de S3, los datos y los metadatos se cifran de forma predeterminada antes de guardarlos en el almacenamiento y se descifran automáticamente cuando se leen. Estos procesos se administran de forma transparente por archivos de S3, por lo que no tiene que modificar las aplicaciones. Todos los datos en reposo en el sistema de archivos se cifran mediante claves de AWS Key Management Service (KMS) con uno de los siguientes métodos:

  • Cifrado del servidor (predeterminado) con claves de KMS propiedad de AWS (SSE-KMS)

  • Cifrado del servidor con claves de KMS administradas por el cliente (SSE-KMS-CMK)

La utilización de claves de AWS KMS conlleva cargos adicionales. Para obtener más información, consulte Conceptos clave de AWS KMS en la Guía para desarrolladores de AWS Key Management Service y Precios de AWS KMS.

Cifrado del servidor con claves de KMS propiedad de AWS (SSE-KMS)

Esta es la clave predeterminada para cifrar los datos en reposo en el sistema de archivos de S3. Las claves propiedad de AWS son una recopilación de claves de KMS que un servicio de AWS posee y administra. Los archivos de S3 poseen y administran el cifrado de los datos y metadatos en reposo en el sistema de archivos de S3 cuando utiliza una clave propiedad de AWS. Para obtener más información sobre las claves propiedad de AWS, visite Claves de AWS KMS.

Cifrado del servidor con claves de AWS KMS administradas por el cliente (SSE-KMS-CMK)

Al crear el sistema de archivos, tiene la opción de elegir configurar una clave de AWS Key Management Service (AWS KMS) que administre. Al utilizar el cifrado SSE-KMS con un sistema de archivos de S3, las claves de AWS KMS deben estar en la misma región que el sistema de archivos.

Políticas de claves de archivos de S3 para AWS KMS

Las políticas de claves son la forma principal de controlar el acceso a las claves administradas por el cliente. Para obtener más información acerca de las políticas de claves, consulte Políticas de claves en AWS KMS en la Guía para desarrolladores de AWS Key Management Service. En la siguiente lista se describen todos los permisos relacionados con AWS KMS que admiten los archivos de S3 para sistemas de archivos cifrados en reposo:

kms:Encrypt

(Opcional) Cifra texto plano en texto cifrado. Este permiso está incluido en la política de claves predeterminada.

kms:Decrypt

(Obligatorio) Descifra texto cifrado. El texto cifrado es texto no cifrado que se ha cifrado previamente. Este permiso está incluido en la política de claves predeterminada.

kms:ReEncrypt

(Opcional) Cifra datos del servidor con una nueva clave administrada por el cliente, sin exponer el texto no cifrado de los datos en el cliente. Los datos se descifran en primer lugar y luego se vuelven a cifrar. Este permiso está incluido en la política de claves predeterminada.

kms:GenerateDataKeyWithoutPlaintext

(Obligatorio) Devuelve una clave de cifrado de datos cifrada con una clave administrada por el cliente. Este permiso está incluido en la política de claves predeterminada en kms:GenerateDataKey*.

kms:CreateGrant

(Obligatorio) Agrega una concesión a una clave para especificar quién puede utilizar la clave y en qué condiciones. Las concesiones son mecanismos de permiso alternativo para las políticas de claves. Para obtener más información sobre las concesiones, consulte Concesiones en AWS KMS en la Guía para desarrolladores de AWS Key Management Service. Este permiso está incluido en la política de claves predeterminada.

kms:DescribeKey

(Obligatorio) Proporciona información detallada acerca de la clave administrada por el cliente especificada. Este permiso está incluido en la política de claves predeterminada.

kms:ListAliases

(Opcional) Muestra todos los alias de clave de la cuenta. Si utiliza la consola para crear un sistema de archivos cifrados, este permiso rellena la lista Seleccionar clave maestra de KMS. Le recomendamos que utilice este permiso para proporcionar la mejor experiencia de usuario. Este permiso está incluido en la política de claves predeterminada.

Estados de la clave y sus efectos

El estado de la clave de KMS afecta directamente al acceso al sistema de archivos cifrados:

Habilitado

Funcionamiento normal: acceso completo de lectura y escritura al sistema de archivos.

Deshabilitado

El sistema de archivos se vuelve inaccesible después de un tiempo. Se puede volver a habilitar.

Eliminación pendiente

El sistema de archivos se vuelve inaccesible. La eliminación se puede cancelar durante el período de espera. Tenga en cuenta que después de cancelar la eliminación de la clave, la clave debe pasar al estado habilitado.

Deleted (Eliminado)

El sistema de archivos está inaccesible de forma permanente. Esta acción no se puede revertir.

aviso

Si desactiva o elimina la clave de KMS utilizada para el sistema de archivos, o revoca el acceso de archivos de S3 a la clave, el sistema de archivos se volverá inaccesible. Esto puede provocar la pérdida de datos si no tiene copias de seguridad. Asegúrese siempre de contar con los procedimientos de copia de seguridad adecuados antes de realizar cambios en las claves de cifrado.

Cifrado en tránsito

Los archivos de S3 requieren cifrado de datos en tránsito mediante la seguridad de la capa de transporte (TLS). Al montar el sistema de archivos con el ayudante de montaje, todos los datos que viajan entre el cliente y el sistema de archivos se cifran mediante TLS. El ayudante de montaje inicializa el proceso efs-proxy para establecer una conexión de TLS segura con el sistema de archivos. El ayudante de montaje también crea un proceso denominado amazon-efs-mount-watchdog que supervisa el estado de los montajes y se inicia automáticamente la primera vez que se monta un sistema de archivos de S3. Asegura que cada proceso efs-proxy de montaje se está ejecutando y detiene el proceso cuando el sistema de archivos se desmonta. Si por alguna razón el proceso se termina de forma inesperada, el proceso del vigilancia lo reinicia.

A continuación, se describe cómo funciona el cifrado TLS en tránsito:

  1. se establece una conexión TLS segura entre el cliente y el sistema de archivos.

  2. Todo el tráfico de NFS se enruta a través de esta conexión cifrada.

  3. Los datos se cifran antes de la transmisión y se descifran al recibirlos.

El cifrado de datos en tránsito cambia la configuración del cliente NFS. Cuando inspecciona los sistemas de archivos montados activamente, verá uno montado en 127.0.0.1 o localhost, tal y como se muestra en el siguiente ejemplo.

$ mount | column -t 127.0.0.1:/ on /home/ec2-user/s3files type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20127,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

El sistema de archivos se monta con el ayudante de montaje, que siempre cifra los datos en tránsito mediante TLS. Por lo tanto, durante el montaje, el cliente NFS vuelve a configurar para montar en un puerto local.