Requisitos de permiso para el cifrado SSE-KMS de tablas de S3
Cuando utiliza el cifrado del servidor con claves de AWS Key Management Service (AWS KMS) (SSE-KMS) para tablas en buckets de tablas de S3, necesita conceder permisos para diferentes identidades en la cuenta. Como mínimo, la identidad de acceso y la entidad principal de mantenimiento de tablas de S3 necesitan acceso a la clave; los demás permisos necesarios dependen del caso de uso.
- Permisos necesarios
Para acceder a una tabla cifrada con una clave de KMS, necesita estos permisos en esa clave:
kms:GenerateDataKeykms:Decrypt
importante
Para usar SSE-KMS en las tablas, la entidad principal del servicio de mantenimiento de tablas de Amazon S3 (
maintenance.s3tables.amazonaws.com) necesita los permisoskms:GenerateDataKeyykms:Decrypten la clave.- Permisos adicionales
-
Se requieren estos permisos adicionales en función del caso de uso:
Permisos para servicios de análisis de AWS y acceso directo: si trabaja con tablas cifradas con SSE-KMS mediante servicios de análisis de AWS o motores de terceros que acceden directamente a las tablas de S3, el rol de IAM que utilice necesita permiso para usar la clave de KMS.
Permisos con Lake Formation habilitado: si ha optado por AWS Lake Formation para el control de acceso, el rol de servicio de Lake Formation necesita permiso para usar la clave de KMS.
Permisos para las tablas de metadatos de S3: si utiliza el cifrado SSE-KMS para las tablas de metadatos de S3, debe proporcionar a la entidad principal del servicio de metadatos de S3 (
metadata.s3.amazonaws.com) acceso a la clave de KMS. Esto permite a los metadatos de S3 actualizar las tablas cifradas para que reflejen los cambios de datos más recientes.
nota
En el caso de las claves de KMS entre cuentas, el rol de IAM necesita un permiso de acceso de claves y una autorización explícita en la política de claves. Para obtener más información sobre los permisos entre cuentas para las claves de KMS, consulte Permitir a las cuentas de AWS externas usar una clave de KMS en la Guía para desarrolladores de servicio de AWS Key Management Service.
Temas
Concesión de permisos de la entidad principal del servicio de mantenimiento de tablas de S3 a la clave de KMS
Este permiso es necesario para crear tablas cifradas con SSE-KMS y permitir el mantenimiento automático de las tablas, como la compactación, la administración de instantáneas y la eliminación de archivos no referenciados en las tablas cifradas.
nota
Siempre que solicita la creación de una tabla cifrada con SSE-KMS, las tablas de S3 comprueban que la entidad principal maintenance.s3tables.amazonaws.com tiene acceso a la clave de KMS. Para realizar esta comprobación, se crea temporalmente un objeto de cero bytes en el bucket de la tabla, que se eliminará automáticamente mediante las operaciones de mantenimiento de eliminación de archivos no referenciados. Si la clave de KMS que especificó para el cifrado no tiene acceso de mantenimiento, la operación createTable producirá un error.
Para conceder acceso de mantenimiento en las tablas cifradas con SSE-KMS, puede utilizar la siguiente política de claves de ejemplo. En esta política, a la entidad principal del servicio de maintenance.s3tables.amazonaws.com se le concede permiso para usar una clave de KMS específica para cifrar y descifrar las tablas de un bucket de tablas específico. Para utilizar la política, sustituya los marcadores de posición de entrada de usuario por información propia:
Concesión de permisos a las entidades principales de IAM para trabajar con tablas cifradas en servicios de análisis integrados de AWS
Para trabajar con tablas de S3 en los servicios de análisis de AWS, integre los buckets de tablas con AWS Glue Data Catalog. Esta integración permite que los servicios de análisis de AWS detecten automáticamente los datos de las tablas y accedan a ellos. Para obtener más información sobre la integración, consulte Integración de tablas de Amazon S3 con servicios de análisis de AWS.
Cuando trabaja con tablas cifradas de SSE-KMS mediante servicios de análisis de AWS o motores de terceros y de código abierto que acceden directamente a las tablas de S3, el rol de IAM que utilice necesita permiso para usar la clave de AWS KMS para las operaciones de cifrado.
Puede conceder acceso a la clave de KMS mediante una política de IAM asociada al rol o mediante una política de claves de KMS.
Concesión de permisos de entidades principales de IAM para trabajar con tablas cifradas cuando Lake Formation esté habilitado
Si ha optado por AWS Lake Formation para el control de acceso en la integración de tablas de S3, el rol de servicio de Lake Formation necesita permiso para usar la clave de AWS KMS en las operaciones de cifrado. Lake Formation usa este rol para vender credenciales en nombre de las entidades principales que acceden a las tablas.
El ejemplo de política de claves de KMS siguiente concede el permiso de rol de servicio de Lake Formation para usar una clave de KMS específica en la cuenta para las operaciones de cifrado. Sustituya los valores de los marcadores de posición por los suyos propios.
{ "Sid": "AllowTableRoleAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/S3TablesRoleForLakeFormation" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>" }
Concesión de permisos a la entidad principal del servicio de metadatos de S3 para usar la clave de KMS
Para permitir que Amazon S3 actualice las tablas de metadatos cifradas con SSE-KMS y realice el mantenimiento de esas tablas de metadatos, puede utilizar el siguiente ejemplo de política de claves. En esta política, permita a las entidades principales de servicio metadata.s3.amazonaws.com y maintenance.s3tables.amazonaws.com cifrar y descifrar las tablas en un bucket de tablas específico mediante una clave específica. Para utilizar la política, sustituya los marcadores de posición de entrada de usuario por información propia: