Configuración del cifrado en AWS Glue - AWS Glue

Configuración del cifrado en AWS Glue

En el siguiente flujo de trabajo de ejemplo se resaltan las opciones que se deben configurar al utilizar el cifrado con AWS Glue. El ejemplo ilustra el uso de claves de AWS Key Management Service (AWS KMS) específicas, pero puede elegir otras configuraciones en función de sus necesidades particulares. Este flujo de trabajo destaca solo las opciones que atañen al cifrado a la hora de configurar AWS Glue.

  1. Si el usuario de la consola de AWS Glue no utiliza una política de permisos que permita todas las operaciones de la API de AWS Glue (por ejemplo, "glue:*"), confirme que las siguientes acciones están permitidas:

    • "glue:GetDataCatalogEncryptionSettings"

    • "glue:PutDataCatalogEncryptionSettings"

    • "glue:CreateSecurityConfiguration"

    • "glue:GetSecurityConfiguration"

    • "glue:GetSecurityConfigurations"

    • "glue:DeleteSecurityConfiguration"

  2. Cualquier cliente que obtenga acceso a un catálogo de cifrado o escriba en él, es decir, cualquier usuario de la consola, rastreador, trabajo o punto de enlace de desarrollo, necesitará los siguientes permisos.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-data-catalog>" } }
  3. Cualquier usuario o rol que obtenga acceso a una contraseña de conexión cifrada necesitará los siguientes permisos:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "<key-arns-used-for-password-encryption>" } }
  4. El rol de cualquier trabajo de extracción, transformación y carga (ETL) que escriba datos cifrados en Amazon S3 necesitará los siguientes permisos.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "<key-arns-used-for-s3>" } }
  5. Cualquier rastreador o trabajo de ETL que escriba Registros de Amazon CloudWatch cifrados necesitará los siguientes permisos en la política de claves y las políticas de IAM.

    En la política de claves (no en la política de IAM):

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }

    Para obtener más información acerca de las políticas de claves, consulte Uso de las políticas de claves en AWS KMS en la Guía para desarrolladores de AWS Key Management Service.

    En la política de IAM, adjunte el permiso de logs:AssociateKmsKey:

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "logs:AssociateKmsKey" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }
  6. Cualquier flujo de trabajo de ETL que utilice un marcador de trabajo cifrado necesitará los siguientes permisos:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-job-bookmark-encryption>" } }
  7. En la consola de AWS Glue, elija Settings (Configuración) en el panel de navegación.

    1. En la página Data catalog settings (Configuración del Data Catalog), cifre su Data Catalog al seleccionar Metadata encryption (Cifrado de metadatos). Esta opción cifra todos los objetos del Data Catalog con la clave AWS KMS que usted elija.

    2. Para AWS KMS key (Clave KMS), elija aws/glue. También puede elegir una clave AWS KMS que haya creado.

    importante

    AWS Glue solo soporta claves maestras de cliente (CMK) simétricas. La lista de AWS KMS key (Clave KMS) muestra únicamente claves simétricas. Sin embargo, si selecciona Choose a AWS KMS key ARN (Elegir un ARN de clave KMS), la consola le permite introducir un ARN para cualquier tipo de clave. Asegúrese de introducir sólo ARN para claves simétricas.

    Cuando el cifrado está habilitado, el cliente que accede a Data Catalog debe tener permisos de AWS KMS.

  8. En el panel de navegación, seleccione Security configurations (Configuraciones de seguridad). Una configuración de seguridad es un conjunto de propiedades de seguridad que se pueden usar para configurar procesos de AWS Glue. A continuación, elija Add security configuration (Agregar configuración de seguridad). En la configuración, elija cualquiera de las siguientes opciones:

    1. Seleccione S3 encryption (Cifrado de S3). Para Encryption mode (Modo de cifrado), seleccione SSE-KMS. Para la AWS KMS key (Clave de), elija aws/s3 (asegúrese de que el usuario tiene permiso para usar esta clave). Esto permite a los datos escritos por el trabajo en Amazon S3, utilizar la clave AWS KMS de AWS Glue administrada por AWS.

    2. Seleccione CloudWatch logs encryption (Cifrado de registros de Cloudwatch) y una CMK. (Asegúrese de que el usuario tenga permiso para usar esta clave). Para obtener más información, consulte Cifrar datos de registro en CloudWatch Logs mediante AWS KMS en la Guía para desarrolladores de AWS Key Management Service.

      importante

      AWS Glue solo soporta claves maestras de cliente (CMK) simétricas. La lista de AWS KMS key (Clave KMS) muestra únicamente claves simétricas. Sin embargo, si selecciona Choose a AWS KMS key ARN (Elegir un ARN de clave KMS), la consola le permite introducir un ARN para cualquier tipo de clave. Asegúrese de introducir sólo ARN para claves simétricas.

    3. Seleccione Advanced properties (Propiedades avanzadas) y Job bookmark encryption (Cifrado de marcador de trabajos). Para la AWS KMS key (Clave de), elija aws/glue (asegúrese de que el usuario tiene permiso para usar esta clave). Esto permite el cifrado de marcadores de trabajo escritos en Amazon S3 con la clave AWS KMS de AWS Glue.

  9. En el panel de navegación, elija Connections (Conexiones).

    1. Seleccione Add connection (Agregar conexión) para crear una conexión al almacén de datos de Java Database Connectivity (JDBC) que es el destino de su flujo de trabajo de ETL.

    2. Para forzar el uso del cifrado de Capa de conexión segura (SSL), seleccione Require SSL connection (Exigir conexión SSL) y pruebe la conexión.

  10. En el panel de navegación, seleccione Trabajos.

    1. Seleccione Add job (Añadir trabajo) para crear una flujo de trabajo que transforma los datos.

    2. En la definición de trabajo, elija la configuración de seguridad que ha creado.

  11. En la consola de AWS Glue, ejecute el flujo de trabajo bajo demanda. Compruebe que todos los datos de Amazon S3 escritos por el trabajo, los CloudWatch Logs escritos por el trabajo y los marcadores de trabajo están cifrados.