

# Protección de los datos en AWS Glue
<a name="data-protection"></a>

AWS Glue ofrece varias características que están diseñadas para ayudar a proteger sus datos.

**Topics**
+ [Cifrado de datos en reposo](encryption-at-rest.md)
+ [Cifrado de datos en tránsito](encryption-in-transit.md)
+ [Conformidad con FIPS](fips-compliance.md)
+ [Administración de claves](key-management.md)
+ [Dependencia de AWS Glue en otros servicios de AWS](dependency-on-other-services.md)
+ [Puntos de conexión de desarrollo](dev-endpoints.md)

# Cifrado de datos en reposo
<a name="encryption-at-rest"></a>

AWS Glue admite el cifrado de datos en reposo para [Creación de trabajos de ETL visual](author-job-glue.md) y [Desarrollo de scripts usando puntos de conexión de desarrollo](dev-endpoint.md). Puede configurar trabajos de extracción, transformación y carga (ETL) y puntos de enlace de desarrollo para utilizar claves de [AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/) para escribir datos cifrados en reposo. También puede cifrar los metadatos almacenados en [AWS Glue Data Catalog](components-overview.md#data-catalog-intro) con claves que administre con AWS KMS. Además, puede usar las claves de AWS KMS para cifrar marcadores de trabajo y los registros que generan los [rastreadores](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) y los trabajos de ETL.

Puede cifrar objetos de metadatos en su AWS Glue Data Catalog además de los datos escritos en Amazon Simple Storage Service (Amazon S3) y Amazon CloudWatch Logs por trabajos, rastreadores y puntos de enlace de desarrollo. Cuando cree trabajos, rastreadores y puntos de enlace de desarrollo en AWS Glue, puede proporcionar valores de cifrado al asociar una configuración de seguridad. Las configuraciones de seguridad contienen claves de cifrado del servidor administradas por Amazon S3 (SSE-S3) o claves maestras de cliente (CMK) almacenadas en AWS KMS (SSE-KMS). Puede crear configuraciones de seguridad a través de la consola de AWS Glue.

También puede habilitar el cifrado de todo el Catálogo de datos en su cuenta. Para ello, especifique las CMK almacenadas en AWS KMS.

**importante**  
AWS Glue solo es compatible con las claves simétricas administradas por el cliente. Para obtener más información, consulte [Claves administradas por el cliente (CMK)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) en la *Guía para desarrolladores de AWS Key Management Service*.  


Si el cifrado está activado, al agregar objetos del Catálogo de datos, ejecutar rastreadores, ejecutar trabajos o iniciar puntos de enlace de desarrollo, se utilizan claves SSE-S3 o SSE-KMS para escribir datos en reposo. Además, puede configurar AWS Glue para que solo acceda a almacenamiento de datos de Java Database Connectivity (JDBC) a través de un protocolo de seguridad de la capa de transporte (TLS) de confianza. 

En AWS Glue, puede controlar la configuración de cifrado en los siguientes lugares:
+ La configuración del Catálogo de datos.
+ Las configuraciones de seguridad que cree.
+ Configuración del cifrado del lado del servidor (SSE-S3 o SSE-KMS) que se transfiere como parámetro a su trabajo de ETL (extracción, transformación y carga) de AWS Glue.

Para obtener más información acerca de cómo configurar el cifrado, consulte [Configuración del cifrado en AWS Glue](set-up-encryption.md). 

**Topics**
+ [Cifrado del Catálogo de datos](encrypt-glue-data-catalog.md)
+ [Cifrado de las contraseñas de conexión](encrypt-connection-passwords.md)
+ [Cifrado de datos escritos por AWS Glue](encryption-security-configuration.md)

# Cifrado del Catálogo de datos
<a name="encrypt-glue-data-catalog"></a>

El cifrado AWS Glue Data Catalog permite una seguridad mejorada para los datos confidenciales. AWS Glue se integra con AWS Key Management Service (AWS KMS) para cifrar los metadatos almacenados en el Catálogo de datos. 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](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html#key-state-cmk-type) 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.

## Claves administradas de AWS
<a name="AWS-managed-keys"></a>

 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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).

## Claves administradas por el cliente
<a name="customer-managed-keys"></a>

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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

**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](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) 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

## AWS GlueContexto de cifrado de
<a name="encryption-context"></a>

 Un [contexto de cifrado](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) 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](https://docs.aws.amazon.com/crypto/latest/userguide/cryptography-concepts.html#term-aad) para permitir el [cifrado autenticado](https://docs.aws.amazon.com/crypto/latest/userguide/cryptography-concepts.html#define-authenticated-encryption). 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
<a name="enable-encryption"></a>

 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. 

------
#### [ Console ]

**Para habilitar el cifrado mediante la consola**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS Glue en [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Seleccione **Catálogo de datos** en el panel de navegación. 

1. En la página **Configuraciones del Catálogo de datos**, seleccione la casilla **Cifrado de metadatos** y luego seleccione una clave de AWS KMS. 

   Al activar el cifrado, y si no se especificó una clave administrada por el cliente, las configuraciones de cifrado utilizan una clave de KMS administrada por AWS. 

1. (Opcional) Al utilizar una clave administrada por el cliente para cifrar el Catálogo de datos, el Catálogo ofrece una opción para registrar un rol de IAM para cifrar y descifrar los recursos. Debe conceder permisos de rol de IAM para que los asuma AWS Glue en su nombre. Esto incluye los permisos de AWS KMS para cifrar y descifrar datos.

   Al crear un recurso nuevo en el Catálogo de datos, AWS Glue asume el rol de IAM que se brindó para cifrar los datos. De forma similar, cuando un cliente accede al recurso, AWS Glue asume el rol de IAM para cifrar los datos. Si se registra un rol de IAM con los permisos necesarios, la entidad principal que realiza la llamada ya no necesita permisos para acceder a la clave y descifrar los datos. 
**importante**  
Las operaciones de KMS se pueden delegar a un rol de IAM solo cuando se utiliza una clave administrada por el cliente para cifrar los recursos del Catálogo de datos. La característica de delegación de roles de KMS no es compatible con la utilización de claves administradas de AWS para el cifrado de los recursos del Catálogo de datos en este momento.
**aviso**  
Al activar un rol de IAM para delegar las operaciones de KMS, ya no podrá acceder a los recursos del Catálogo de datos cifrados anteriormente con una clave administrada de AWS. 

   1. Para habilitar un rol de IAM que AWS Glue pueda asumir para cifrar y descifrar los datos en su nombre, seleccione la opción **Delegar operaciones de KMS a un rol de IAM**. 

   1. Luego, seleccione un rol de IAM.

      Para crear un rol de IAM;, consulte [Crear un rol de IAM para AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/create-an-iam-role.html).

      El rol de IAM asumido por AWS Glue para acceder al Catálogo de datos debe contar con los permisos para cifrar y descifrar los metadatos en el Catálogo de datos. Puede crear un rol de IAM y adjuntar las políticas integradas que me enumeran a continuación: 
      + La política que figura a continuación se puede agregar para incluir los permisos de AWS KMS para cifrar y descifrar el Catálogo de datos.

------
#### [ JSON ]

****  

        ```
        {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:GenerateDataKey"
              ],
              "Resource": "arn:aws:kms:us-east-1:111122223333:key/<key-id>"
            }
          ]
        }
        ```

------
      + Luego, agregue al rol la política a continuación para que el servicio de AWS Glue asuma el rol de IAM.

------
#### [ JSON ]

****  

        ```
        {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Sid": "",
              "Effect": "Allow",
              "Principal": {
                "Service": "glue.amazonaws.com"
              },
              "Action": "sts:AssumeRole"
            }
          ]
        }
        ```

------
      + Luego, agregue el permiso de `iam:PassRole` al rol de IAM.

------
#### [ JSON ]

****  

        ```
        {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "iam:PassRole"
              ],
              "Resource": [
                "arn:aws:iam::111122223333:role/<encryption-role-name>"
              ]
            }
          ]
        }
        ```

------

   Al activar el cifrado, y si no se especificó un rol de IAM para que AWS Glue asuma, la entidad principal que acceda al Catálogo de datos debe contar con los permisos para realizar las operaciones de API que se enumeran a continuación:
   + `kms:Decrypt`
   + `kms:Encrypt`
   + `kms:GenerateDataKey`

------
#### [ AWS CLI ]

**Para habilitar el cifrado mediante el SDK o AWS CLI**
+ Use la operación de la API `PutDataCatalogEncryptionSettings`. Si no se especifica ninguna clave, AWS Glue utiliza una clave de cifrado administrada por AWS para la cuenta del cliente para cifrar el Catálogo de datos.

  ```
  aws glue put-data-catalog-encryption-settings \
    --data-catalog-encryption-settings '{
        "EncryptionAtRest": {
        "CatalogEncryptionMode": "SSE-KMS-WITH-SERVICE-ROLE",
        "SseAwsKmsKeyId": "arn:aws:kms:<region>:<account-id>:key/<key-id>",
        "CatalogEncryptionServiceRole":"arn:aws:iam::<account-id>:role/<encryption-role-name>"
      }
  
    }'
  ```

------

 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.


|  | 
| --- |
|   La 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.   | 

## Monitoreo de las claves de KMS para AWS Glue
<a name="monitoring-keys"></a>

 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 de `Decrypt` y `GenerateDataKey`. 

------
#### [ Decrypt ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAXPHTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAXPHTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/Admin",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2024-01-10T14:33:56Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "glue.amazonaws.com"
    },
    "eventTime": "2024-01-10T15:18:11Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "eu-west-2",
    "sourceIPAddress": "glue.amazonaws.com",
    "userAgent": "glue.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "glue_catalog_id": "111122223333"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": "43b019aa-34b8-4798-9b98-ee968b2d63df",
    "eventID": "d7614763-d3fe-4f84-a1e1-3ca4d2a5bbd5",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:<region>:111122223333:key/<key-id>"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "sessionCredentialFromConsole": "true"
}
```

------
#### [ GenerateDataKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAXPHTESTANDEXAMPLE:V_00_GLUE_KMS_GENERATE_DATA_KEY_111122223333",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/V_00_GLUE_KMS_GENERATE_DATA_KEY_111122223333",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAXPHTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/Admin",
                "accountId": "AKIAIOSFODNN7EXAMPLE",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2024-01-05T21:15:47Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "glue.amazonaws.com"
    },
    "eventTime": "2024-01-05T21:15:47Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "eu-west-2",
    "sourceIPAddress": "glue.amazonaws.com",
    "userAgent": "glue.amazonaws.com",
    "requestParameters": {
        "keyId": "arn:aws:kms:eu-west-2:AKIAIOSFODNN7EXAMPLE:key/AKIAIOSFODNN7EXAMPLE",
        "encryptionContext": {
            "glue_catalog_id": "111122223333"
        },
        "keySpec": "AES_256"
    },
    "responseElements": null,
    "requestID": "64d1783a-4b62-44ba-b0ab-388b50188070",
    "eventID": "1c73689b-2ef2-443b-aed7-8c126585ca5e",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:eu-west-2:111122223333:key/AKIAIOSFODNN7EXAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------

```
      
```

# Cifrado de las contraseñas de conexión
<a name="encrypt-connection-passwords"></a>

Puede recuperar las contraseñas de conexión en AWS Glue Data Catalog mediante las operaciones de la API `GetConnection` y `GetConnections`. Estas contraseñas se almacenan en la conexión del Catálogo de datos y se utilizan cuando AWS Glue se conecta a un almacén de datos de Java Database Connectivity (JDBC). Cuando se creó o actualizó la conexión, una opción en la configuración del Catálogo de datos determinó si la contraseña estaba cifrada, y en caso afirmativo, qué clave AWS Key Management Service (AWS KMS) se especificó.

En la consola de AWS Glue, puede habilitar esta opción en la página **Data catalog settings (Configuración del Catálogo de datos)**.

**Para cifrar las contraseñas de conexión**

1. Inicie sesión en Consola de administración de AWS y abra la consola de AWS Glue en [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Seleccione **Settings (Configuración)** en el panel de navegación. 

1. En la página **Data catalog settings (Configuración del Catálogo de datos)**, seleccione **Encrypt connection passwords (Cifrar contraseñas de conexión)** y elija una clave AWS KMS.
**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.

   Para obtener más información, consulte [Configuración del Catálogo de datos](console-data-catalog-settings.md).

# Cifrado de datos escritos por AWS Glue
<a name="encryption-security-configuration"></a>

Una *configuración de seguridad* es un conjunto de propiedades de seguridad que AWS Glue puede usar. Puede utilizar una configuración de seguridad para cifrar los datos en reposo. En las siguientes situaciones se muestran algunas de las maneras en las que puede utilizar una configuración de seguridad. 
+ Asocie una configuración de seguridad a un rastreador de AWS Glue para escribir registros cifrados de Amazon CloudWatch Logs. Para obtener más información sobre cómo asociar las configuraciones de seguridad a los rastreadores, consulte [Paso 3: Establecer configuración de seguridad](define-crawler-configure-security-settings.md).
+ Asocie una configuración de seguridad a un trabajo de extracción, transformación y carga (ETL) para escribir destinos de Amazon Simple Storage Service (Amazon S3) cifrados y registros de CloudWatch Logs cifrados.
+ Asocie una configuración de seguridad a un trabajo de ETL para escribir sus marcadores de trabajo como datos de Amazon S3 cifrados.
+ Asocie una configuración de seguridad a un punto de enlace de desarrollo para escribir destinos de Amazon S3 cifrados.

**importante**  
En la actualidad, una configuración de seguridad reemplaza cualquier configuración de cifrado del lado del servidor (SSE-S3) que se haya pasado como un parámetro de flujo de trabajo de ETL. Por lo tanto, si un flujo de trabajo tiene asociados una configuración de seguridad y un parámetro de SSE-S3, este último se ignorará.

Para obtener más información acerca de las configuraciones de seguridad, consulte [Administración de las configuraciones de seguridad en la consola de AWS Glue](console-security-configurations.md).

**Topics**
+ [Configuración de AWS Glue para utilizar configuraciones de seguridad](#encryption-setup-Glue)
+ [Creación de una ruta a AWS KMS para rastreadores y trabajos de VPC](#encryption-kms-vpc-endpoint)
+ [Administración de las configuraciones de seguridad en la consola de AWS Glue](console-security-configurations.md)

## Configuración de AWS Glue para utilizar configuraciones de seguridad
<a name="encryption-setup-Glue"></a>

Siga estos pasos para configurar el entorno de AWS Glue para utilizar configuraciones de seguridad.

1. Cree o actualice las claves de AWS Key Management Service (AWS KMS) para conceder permisos de AWS KMS a los roles de IAM que se transfieren a los rastreadores y los trabajos de AWS Glue para cifrar registros de CloudWatch Logs. Para obtener más información, consulte [Cifrado de datos de registro en CloudWatch Logs con AWS KMS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html) en la *Guía del usuario de Amazon CloudWatch Logs*. 

   En el siguiente ejemplo, *"role1"*, *"role2"* y *"role3"* son roles de IAM que se transfieren a los rastreadores y los trabajos.

   ```
   {
          "Effect": "Allow",
          "Principal": { "Service": "logs.region.amazonaws.com",
          "AWS": [
                   "role1",
                   "role2",
                   "role3"
                ] },
                       "Action": [
                              "kms:Encrypt*",
                              "kms:Decrypt*",
                              "kms:ReEncrypt*",
                              "kms:GenerateDataKey*",
                              "kms:Describe*"
                       ],
                       "Resource": "*"
   }
   ```

   La instrucción `Service`, que se muestra como `"Service": "logs.region.amazonaws.com"`, es necesaria si utiliza la clave para cifrar CloudWatch Logs.

1. Asegúrese de que la clave AWS KMS es `ENABLED` antes de utilizarla.

**nota**  
Si utiliza Iceberg como marco de lago de datos, las tablas sw Iceberg tienen sus propios mecanismos para habilitar el cifrado del lado del servidor. Debe habilitar esta configuración además de las configuraciones de seguridad de AWS Glue. Para habilitar el cifrado del lado del servidor en las tablas de Iceberg, consulte las instrucciones de la [documentación de Iceberg.](https://iceberg.apache.org/docs/latest/aws/#s3-server-side-encryption)

## Creación de una ruta a AWS KMS para rastreadores y trabajos de VPC
<a name="encryption-kms-vpc-endpoint"></a>

Puede conectarse directamente a AWS KMS a través de un punto de enlace privado en su nube virtual privada (VPC) en lugar de conectarse a través de Internet. Cuando se utiliza un punto de enlace de la VPC, la comunicación entre la VPC y AWS KMS se realiza en su totalidad dentro de la red de AWS.

Puede crear un punto de enlace de la VPC de AWS KMS dentro de una VPC. Sin este paso, sus trabajos o rastreadores podrían generar un error con `kms timeout` en trabajos o con `internal service exception` en rastreadores. Para obtener instrucciones detalladas, consulte [Conexión a AWS KMS a través de un punto de enlace de la VPC](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html) en la *Guía para desarrolladores de AWS Key Management Service*. 

Cuando siga estas instrucciones, en la [consola de VPC](https://console.aws.amazon.com//vpc), debe hacer lo siguiente:
+ Seleccione **Enable Private DNS name (Habilitar nombre de DNS privado)**.
+ Elija el **Security group (Grupo de seguridad)** (con regla de autorreferencia) que utilice para su trabajo o rastreador que accede a Java Database Connectivity (JDBC). Para obtener más información acerca de las conexiones de AWS Glue, consulte [Conexión a datos](glue-connections.md).

Cuando agregue una configuración de seguridad a un rastreador o a un trabajo que accede a almacenes de datos de JDBC, AWS Glue debe tener una ruta al punto de enlace de la AWS KMS. Puede proporcionar la ruta con una gateway de conversión de las direcciones de red (NAT) o con un punto de enlace de las VPC de AWS KMS. Para crear una gateway NAT, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) en la *Guía del usuario de Amazon VPC*.

# Administración de las configuraciones de seguridad en la consola de AWS Glue
<a name="console-security-configurations"></a>

**aviso**  
Las configuraciones de seguridad de AWS Glue actualmente no son compatibles con los trabajos de Ray.

Una *configuración de seguridad* en AWS Glue contiene las propiedades que se necesitan cuando se escriben datos cifrados. Las configuraciones de seguridad se crean en la consola de AWS Glue para proporcionar las propiedades de cifrado que utilizan los rastreadores, los flujos de trabajo y los puntos de enlace de desarrollo. 

Para ver una lista de todas las configuraciones de seguridad que ha creado, abra la consola de AWS Glue en [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) y elija **Security configurations (Configuraciones de seguridad)** en el panel de navegación.

En la lista **Security configurations (Configuraciones de seguridad)**, se muestran las siguientes propiedades para cada configuración:

**Nombre**  
Nombre único proporcionado al crear la configuración. El nombre puede contener letras (A-Z), números (0-9), guiones (-) o guiones bajos (\$1) y tener un máximo de 255 caracteres.

**Habilite el cifrado de Amazon S3**  
Si está activado, el modo de cifrado de Amazon Simple Storage Service (Amazon S3), como `SSE-KMS` o `SSE-S3`, está habilitado para el almacenamiento de metadatos en el catálogo de datos.

**Habilite el cifrado de registros de Amazon CloudWatch**  
Si está activado, el modo de cifrado de Amazon S3, como `SSE-KMS`, se habilita al escribir registros en Amazon CloudWatch.

**Configuración avanzada: habilitar el cifrado de marcadores de trabajo**  
Si está activado, el modo de cifrado de Amazon S3, como `CSE-KMS`, se habilita cuando se marcan los trabajos.

Puede agregar o eliminar configuraciones en la sección **Security configurations (Configuraciones de seguridad)** en la consola. Para consultar más detalles sobre una configuración seleccione el nombre de la configuración en la lista. Los detalles incluirán la información que definió al crear la configuración.

## Agregado de una configuración de seguridad
<a name="console-security-configurations-wizard"></a>

 Para agregar una configuración de seguridad a través de la consola de AWS Glue, en la página **Security configurations (Configuraciones de seguridad)**, seleccione **Add security configuration (Agregar configuración de seguridad)**. 

![\[La captura de pantalla muestra la página Agregar configuración de seguridad.\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/add_security_configuration.png)


 **Propiedades de configuración de seguridad** 

 Introduzca un nombre de configuración de seguridad único. El nombre puede contener letras (A-Z), números (0-9), guiones (-) o guiones bajos (\$1) y tener un máximo de 255 caracteres. 

 **Configuración de cifrado** 

Puede habilitar el cifrado en reposo para los metadatos almacenados en el Data Catalog de Amazon S3 y los registros en Amazon CloudWatch. Para configurar el cifrado de datos y metadatos con claves de AWS Key Management Service (AWS KMS) en la consola de AWS Glue, agregue una política al usuario de la consola. Esta política debe especificar los recursos permitidos como los nombres de recurso de Amazon (ARN) de las claves que se utilizan para cifrar almacenes de datos de Amazon S3, tal y como se muestra en el siguiente ejemplo.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:GenerateDataKey",
      "kms:Decrypt",
      "kms:Encrypt"
    ],
    "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id"
  }
}
```

------

**importante**  
Cuando una configuración de seguridad se asocia a un rastreador o trabajo, el rol de IAM que se transfiere debe tener permisos de AWS KMS. Para obtener más información, consulte [Cifrado de datos escritos por AWS Glue](encryption-security-configuration.md).

Cuando se define una conexión, puede proporcionar valores para las siguientes propiedades:

**Habilitar el cifrado de S3**  
Al escribir los datos de Amazon S3, puede utilizar el cifrado en el lado del servidor con claves administradas de Amazon S3 (SSE-S3) o el cifrado del lado del servidor con claves administradas de AWS KMS (SSE-KMS). Este campo es opcional. Para habilitar el acceso a Amazon S3, elija una clave AWS KMS, o elija **Enter a key ARN** (Ingresar un ARN de clave) y proporcione el ARN de la clave. Escriba el ARN con la forma `arn:aws:kms:region:account-id:key/key-id`. También puede proporcionar el ARN como un alias de clave, como `arn:aws:kms:region:account-id:alias/alias-name`.   
Si habilita la interfaz de usuario de Spark para su trabajo, el archivo de registro de la interfaz de usuario de Spark cargado en Amazon S3 se aplicará con el mismo cifrado.  
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.

**Habilitar el cifrado de registros de CloudWatch**  
Se utiliza el cifrado del lado del servidor (SSE-KMS) para cifrar registros de CloudWatch Logs. Este campo es opcional. Para habilitarlo, elija una clave AWS KMS o elija **Enter a key ARN (Ingresar un ARN de clave)** y proporcione el ARN para la clave. Escriba el ARN con la forma `arn:aws:kms:region:account-id:key/key-id`. También puede proporcionar el ARN como un alias de clave, como `arn:aws:kms:region:account-id:alias/alias-name`. 

**Configuración avanzada: cifrado de marcadores de trabajo**  
El cifrado del lado del cliente (CSE-KMS) se utiliza para cifrar marcadores de trabajos. Este campo es opcional. Los datos del marcador se cifran antes de enviarlos a Amazon S3 para su almacenamiento. Para habilitarlo, elija una clave AWS KMS o elija **Enter a key ARN (Ingresar un ARN de clave)** y proporcione el ARN para la clave. Escriba el ARN con la forma `arn:aws:kms:region:account-id:key/key-id`. También puede proporcionar el ARN como un alias de clave, como `arn:aws:kms:region:account-id:alias/alias-name`.

Para obtener más información, consulte los siguientes temas en la *Guía del usuario de Amazon Simple Storage Service*:
+ Para obtener más información acerca de `SSE-S3`, consulte [Protección de los datos con el cifrado del lado del servidor con claves de cifrado administradas por Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html). 
+ Para obtener más información sobre `SSE-KMS`, consulte [Protección de los datos con el cifrado del lado del servidor con AWS KMS keys](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html). 
+ Para obtener más información sobre `CSE-KMS`, consulte [Cómo usar una clave KMS almacenada en AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro). 

# Cifrado de datos en tránsito
<a name="encryption-in-transit"></a>



AWS ofrece cifrado de seguridad de la capa de transporte (TLS) para los datos en movimiento. Puede establecer la configuración de cifrado para rastreadores, trabajos de ETL y puntos de enlace de desarrollo mediante [configuraciones de seguridad](https://docs.aws.amazon.com/glue/latest/dg/console-security-configurations.html) en AWS Glue. Puede habilitar el cifrado AWS Glue Data Catalog a través de la configuración del Catálogo de datos.

A partir del 4 de septiembre de 2018, se soporta AWS KMS (*traiga su propia clave* y *cifrado del lado del servidor*) para ETL de AWS Glue y la AWS Glue Data Catalog.

# Conformidad con FIPS
<a name="fips-compliance"></a>

Si necesita módulos criptográficos validados FIPS 140-2 al acceder a AWS a través de una interfaz de línea de comandos o una API, utilice un punto de conexión de FIPS. Para obtener más información sobre los puntos de conexión de FIPS disponibles, consulte [Estándar de procesamiento de la información federal (FIPS) 140-2](https://aws.amazon.com/compliance/fips/).

# Administración de claves
<a name="key-management"></a>

Puede utilizar AWS Identity and Access Management (IAM) con AWS Glue para definir usuarios, recursos de AWS, grupos, roles y políticas detalladas en relación con el acceso, la denegación, etc.

Puede definir el acceso a los metadatos con ambas políticas basadas en recursos e identidades en función de las necesidades de su organización. Las políticas basadas en recursos enumeran las entidades principales a las que se le permite o deniega el acceso a sus recursos, lo que le permite configurar políticas como el acceso entre cuentas. Las políticas de identidades se asocian a los usuarios, grupos y roles dentro de IAM, de manera específica. 

Para obtener un ejemplo paso a paso, consulte [Restricción de acceso a AWS Glue Data Catalog con premisos de IAM a nivel de recursos y políticas con base en recursos](https://aws.amazon.com/blogs/big-data/restrict-access-to-your-aws-glue-data-catalog-with-resource-level-iam-permissions-and-resource-based-policies/) en el blog de Big Data de AWS.

La parte de acceso detallado de la política se define en la cláusula `Resource`. Esta parte define tanto el objeto de AWS Glue Data Catalog en el que se puede realizar la acción como los objetos resultantes devueltos por esa operación. 

Un *punto de enlace de desarrollo* es un entorno que puede utilizar para desarrollar y probar los scripts de AWS Glue. Puede agregar, eliminar o rotar la clave SSH de un punto de enlace de desarrollo. 

A partir del 4 de septiembre de 2018, se soporta AWS KMS (*traiga su propia clave* y *cifrado del lado del servidor*) para ETL de AWS Glue y la AWS Glue Data Catalog.

# Dependencia de AWS Glue en otros servicios de AWS
<a name="dependency-on-other-services"></a>

Para que un usuario pueda trabajar con la consola de AWS Glue, debe tener un conjunto mínimo de permisos que le permitan trabajar con los recursos de AWS Glue en su cuenta de AWS. Además de estos permisos de AWS Glue, la consola requiere permisos de los servicios a continuación: 
+ Permisos de Amazon CloudWatch Logs para mostrar registros.
+ Permisos de AWS Identity and Access Management (IAM) para enumerar y transferir roles.
+ Permisos CloudFormation para trabajar con pilas.
+ Permisos de Amazon Elastic Compute Cloud (Amazon EC2) para enumerar las nubes privadas virtuales (VPC), subredes, grupos de seguridad, instancias y otros objetos (para configurar elementos de Amazon EC2 como VPC cuando se ejecutan trabajos y rastreadores, y se crean puntos de enlace de desarrollo).
+ Permisos de Amazon Simple Storage Service (Amazon S3) para enumerar buckets y objetos, y recuperar y guardar scripts.
+ Permisos necesarios de Amazon Redshift para trabajar con clústeres.
+ Permisos de Amazon Relational Database Service (Amazon RDS) para enumerar instancias.

# Puntos de conexión de desarrollo
<a name="dev-endpoints"></a>

Un punto de enlace de desarrollo es un entorno que puede utilizar para desarrollar y probar los scripts de AWS Glue. Puede usar AWS Glue para crear, editar y eliminar puntos de enlace de desarrollo. Puede enumerar todos los puntos conexión de desarrollo creados. Puede agregar, eliminar o rotar la clave SSH de un punto de enlace de desarrollo. También puede crear blocs de notas que usen el punto de enlace de desarrollo.

Puede proporcionar valores de configuración para aprovisionar los entornos de desarrollo. Estos valores indican a AWS Glue cómo configurar la red para que pueda obtener acceso a su punto de enlace de desarrollo de forma segura y que su punto de enlace pueda obtener acceso a sus almacenes de datos. A continuación, puede crear un bloc de notas que se conecte al punto de enlace de desarrollo. Puede utilizar el bloc de notas para crear y probar su script de ETL.

Use un rol de AWS Identity and Access Management (IAM) con permisos similares al rol de IAM que utiliza para ejecutar trabajos de ETL de AWS Glue. Utilice una nube privada virtual (VPC), una subred, y un grupo de seguridad para crear un punto de enlace de desarrollo que se pueda conectar a sus recursos de datos de forma segura. Puede generar un par de claves SSH para conectarse al entorno de desarrollo mediante SSH.

Puede crear puntos de enlace de desarrollo para datos de Amazon S3 y dentro de una VPC que puede utilizar para acceder a conjuntos de datos a través de JDBC.

Puede instalar un cliente de cuaderno de Jupyter en su equipo local y utilizarlo para depurar y probar scripts ETL en un punto de conexión de desarrollo. O bien, puede usar un cuaderno de Sagemaker para crear scripts de ETL en JupyterLab en AWS. Consulte [Uso de un cuaderno de SageMaker con su punto de conexión de desarrollo](https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-tutorial-sage.html). 

AWS Glue etiqueta las instancias de Amazon EC2 con un nombre prefijado con `aws-glue-dev-endpoint`.

Puede configurar un servidor de cuadernos en un punto de conexión de desarrollo para ejecutar PySpark con extensiones de AWS Glue.