Cifrado del Catálogo de datos
El cifrado del AWS Glue Data Catalog proporciona una seguridad mejorada para su información confidencial. AWS Glue se integra con AWS Key Management Service (AWS KMS) para cifrar los metadatos almacenados en el Catálogo de datos, incluidos los activos registrados automáticamente que se enriquecen con el contexto empresarial para realizar búsquedas semánticas. Las configuraciones de cifrado para los recursos en el Catálogo de datos se pueden activar o desactivar a través de la consola de AWS Glue o el AWS CLI.
Si el cifrado está activado en el Catálogo de datos, se cifrarán todos los objetos nuevos que se creen. Si el cifrado está desactivado, no se cifrarán los objetos nuevos que se creen, pero los objetos que ya estén cifrados permanecerán cifrados.
Se puede cifrar el Catálogo de datos en su totalidad con las claves de cifrado administradas por AWS o con las claves de cifrado administradas por el cliente. Para obtener más información sobre los tipos y los estados de las claves, consulte Conceptos de AWS Key Management Service en la Guía para desarrolladores de AWS Key Management Service.
nota
Cuando utiliza el catálogo de datos cifrado con un rastreador, debe mantener la configuración de cifrado. La eliminación de la configuración de cifrado después de que un rastreador haya procesado un catálogo cifrado produce errores. Si necesita eliminar la configuración de cifrado, cree un rastreador nuevo en lugar de modificar el existente.
AWSClaves administradas de
Las claves administradas de AWS son claves KMS que aparecen en su cuenta y que un servicio de AWS integrado con AWS KMS crea, administra y utiliza en su nombre. Las claves administradas de AWS en su cuenta se pueden visualizar, junto con sus políticas de claves, y en los registros de AWS CloudTrail se puede auditar su utilización. Sin embargo, estas claves no se pueden administrar ni cambiar sus permisos.
El cifrado en reposo se integra de manera automática con AWS KMS para administrar las claves administradas de AWS para AWS Glue y que se utilizan para cifrar los metadatos. Si no existe una clave administrada por AWS cuando se active el cifrado de los metadatos, AWS KMS creará una nueva de manera automática.
Para obtener más información, consulte Claves administradas de AWS.
Claves administradas por el cliente
Las claves administradas por el cliente son claves KMS de su Cuenta de AWS, que usted ha creado, posee y administra. Usted tiene el control total sobre estas claves de KMS. Puede hacer lo siguiente:
-
Establecer y mantener las políticas de claves, las políticas de IAM y las subvenciones
-
Habilitar y deshabilitar las claves
-
Rotar su material de cifrado
-
Agregar etiquetas.
-
Crear alias que hagan referencia a las claves
-
Programar la eliminación de las claves
Para obtener más información sobre la administración de los permisos de una clave administrada por el cliente, consulte Claves administradas por el cliente.
importante
AWS Glue solo es compatible con las claves simétricas administradas por el cliente. La lista de claves de KMS solo muestra las claves simétricas. Sin embargo, si selecciona Seleccionar un ARN de clave de KMS, la consola le deja escribir un ARN para cualquier tipo de clave. Asegúrese de introducir sólo ARN para claves simétricas.
Para crear una clave simétrica administrada por el cliente, siga las instrucciones para la creación de claves simétricas administradas por el cliente en la Guía para desarrolladores de AWS Key Management Service.
Al activar el cifrado del Catálogo de datos en reposo, se cifran con claves MKS los tipos de recursos que se mencionan a continuación:
Bases de datos
Tablas
Particiones
Versiones de tablas
Estadísticas de las columnas
Funciones definidas por el usuario
Vistas del Catálogo de datos
Activos del catálogo
AWS GlueContexto de cifrado de
Un contexto de cifrado es un conjunto de pares de valor de clave opcional que pueden contener información contextual adicional sobre los datos. AWS KMS utiliza el contexto de cifrado como información autenticada adicional para permitir el cifrado autenticado. Cuando se incluye un contexto de cifrado en una solicitud para cifrar datos, AWS KMS vincula el contexto de cifrado a los datos cifrados. Para cifrar los datos, se incluye el mismo contexto de cifrado en la solicitud. AWS Glue utiliza el mismo contexto de cifrado en todas las operaciones de cifrado de AWS KMS, en las cuales glue_catalog_id es la clave y el valor es catalogId.
"encryptionContext": { "glue_catalog_id": "111122223333" }
Al utilizar una clave administrada por AWS o una clave simétrica administrada por el cliente para cifrar el Catálogo de datos, también se puede utilizar un contexto de cifrado en los documentos de la auditoría y en los registros para identificar la clave que se utiliza. El contexto de cifrado también aparece en los registros que generan los registros de AWS CloudTrail o de Amazon CloudWatch.
Habilitación del cifrado
El cifrado de los objetos de AWS Glue Data Catalog se puede activar en Configuraciones del Catálogo de datos en la consola de AWS Glue o con la AWS CLI.
Al activar el cifrado, se cifran todos los objetos que se creen en el Catálogo de datos. Si elimina la configuración, ya no se cifrarán los objetos que se creen en el Catálogo de datos. Puede seguir accediendo a los objetos que ya están cifrados en el Catálogo de datos con los permisos de KMS requeridos.
importanteLa clave AWS KMS debe permanecer disponible en el almacén de claves AWS KMS para todos los objetos que se cifran con ella en el Catálogo de datos. Si elimina la clave, los objetos ya no se podrán descifrar. Es posible que en determinados casos le interese esta opción para evitar el acceso a los metadatos del Catálogo de datos. |
Cifrado de los activos del Catálogo con una clave de AWS KMS administrada por el cliente
Los recursos del catálogo compatibles se registran automáticamente en su AWS Glue Data Catalog como activos. Agregue un contexto empresarial a estos activos, lo que le permite buscar y filtrar semánticamente estos metadatos en AWS Glue. Cuando activa el cifrado de metadatos con una clave administrada por el cliente, AWS Glue también cifra el índice de búsqueda de su Catálogo de datos con su clave de KMS. No se necesitan pasos adicionales: AWS Glue activa automáticamente el cifrado del índice de búsqueda como parte del cifrado de metadatos.
Si anteriormente habilitó el cifrado del Catálogo de datos con una clave administrada por el cliente y su política actual solo incluye kms:Decrypt, kms:Encrypt y kms:GenerateDataKey, debe agregar los siguientes permisos para admitir los activos del catálogo y la búsqueda semántica:
kms:DescribeKey: obligatorio para la validación de la clave.kms:CreateGrant: permite que AWS Glue cifre y vuelva a cifrar el índice de búsqueda en segundo plano. AWS Glue limita la concesión al contexto de cifrado deglue_catalog_id.
Para ver la política completa que incluye estos permisos, consulte Habilitación del cifrado. Si es la primera vez que configura el cifrado, la política de esa sección ya incluye todos los permisos necesarios.
importante
La búsqueda semántica de los activos del Catálogo de datos no admite la clave administrada de AWS (aws/glue). Si los metadatos del Catálogo de datos están cifrados con aws/glue, la búsqueda en ese catálogo no estará disponible hasta que cambie la configuración para usar una clave administrada por el cliente o elimine la configuración.
Activar el cifrado de metadatos es una operación asíncrona. AWS Glue acepta su solicitud y, a continuación, completa la configuración de cifrado, incluido el cifrado del índice de búsqueda existente. Activar el cifrado por primera vez puede tardar algún tiempo en función del tamaño del Catálogo de datos. Durante este tiempo, el contexto empresarial y las API de búsqueda devuelven un error hasta que el estado es Enabled.
En la siguiente tabla se describen los distintos estados de cifrado de los metadatos de los activos del Catálogo de datos:
| Estado | Descripción |
|---|---|
Habilitación |
AWS Glue está configurando el cifrado. Al activar el cifrado por primera vez, la búsqueda no estará disponible hasta que se complete la configuración. Al cambiar de una clave administrada por el cliente a otra, la búsqueda permanece disponible. |
Habilitado |
El cifrado está completo. Se pueden buscar los metadatos del Catálogo de datos. |
Activado (con errores) |
El cifrado está completo y la búsqueda está disponible, pero AWS Glue no ha podido procesar algunos metadatos. La consola muestra los mensajes de error. Para volver a intentar los elementos con errores, guarde de nuevo la configuración de cifrado después de corregir los errores. |
Failed |
No se pudo completar el cifrado y la búsqueda no está disponible. Revise el mensaje de error, corrija la configuración y vuelva a guardar la configuración de cifrado con una clave administrada por el cliente. |
Deshabilitación |
AWS Glue está desactivando el cifrado del índice de búsqueda con su clave de KMS. |
Deshabilitado |
Los metadatos y el índice de búsqueda del Catálogo de datos ya no se cifran con la clave de KMS. El contexto empresarial y las API de búsqueda siguen funcionando. |
Al cambiar el cifrado del Catálogo de datos de una clave administrada por el cliente a otra, AWS Glue vuelve a cifrar el índice de búsqueda con la nueva clave. La búsqueda permanece disponible mientras se realiza el nuevo cifrado. Al desactivar el cifrado de metadatos, AWS Glue elimina la clave de KMS del índice de búsqueda y el estado cambia a Disabled.
aviso
No desactive, elimine ni revoque el acceso a la clave de KMS anterior hasta que el estado de cifrado vuelva a Enabled (o Disabled, si desactivó el cifrado). Si AWS Glue pierde el acceso a la clave anterior antes de que finalice la operación, no podrá descifrar el índice de búsqueda, el estado cambiará a Failed y la búsqueda en el Catálogo de datos no estará disponible.
La entidad principal que activa o cambia el cifrado de los metadatos debe tener el permiso kms:CreateGrant descrito en Habilitación del cifrado. AWS Glue utiliza el contexto de cifrado de glue_catalog_id (el valor es su catalogId) en las operaciones de AWS KMS del índice de búsqueda, de forma coherente con AWS GlueContexto de cifrado de. Las llamadas de AWS KMS que AWS Glue realiza al índice de búsqueda se registran en AWS CloudTrail.
La entidad principal que accede al contexto empresarial y a la búsqueda también debe tener acceso a la clave de KMS. Si ha delegado las operaciones de AWS KMS a un rol de servicio de IAM, el rol de servicio debe tener acceso a la clave de KMS en su lugar.
Además de la política de identidad, debe agregar la siguiente instrucción a la política de claves de KMS para permitir que AWS Glue cree concesiones para el cifrado del índice de búsqueda. La condición kms:GrantIsForAWSResource limita la concesión a AWS Glue, y el contexto de cifrado de glue_catalog_id la limita a su Catálogo de datos. Para utilizar la instrucción, sustituya los marcadores de posición de entrada del usuario con su propia información.
{ "Sid": "AllowCreateGrantForSearchIndexEncryption", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:root" }, "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringLike": { "kms:CallerAccount": "account-id" }, "Bool": { "kms:GrantIsForAWSResource": "true" }, "StringEquals": { "kms:EncryptionContext:glue_catalog_id": "account-id" } } }
Monitoreo de las claves de KMS para AWS Glue
Al utilizar las claves de KMS para los recursos del Catálogo de datos, se pueden utilizar los Registros de AWS CloudTrail o de Amazon CloudWatch para rastrear las solicitudes que envía AWS Glue a AWS KMS. AWS CloudTrail monitorea y registra las operaciones de KMS a las cuales AWS Glue llama para acceder a los datos cifrados con las claves de KMS.
Los ejemplos que se muestran a continuación son eventos de AWS CloudTrail para las operaciones Decrypt, GenerateDataKey, CreateGrant y RetireGrant. Cuando activa el cifrado con una clave administrada por el cliente, AWS Glue crea una concesión de AWS KMS limitada al contexto de cifrado de glue_catalog_id para que pueda cifrar y volver a cifrar los metadatos del Catálogo de datos en segundo plano, y retira la concesión cuando AWS Glue ya no la necesita.