

# Administración de identidades y accesos para AWS Glue
<a name="security-iam"></a>



AWS Identity and Access Management (IAM) es un Servicio de AWS que ayuda a los administradores a controlar de forma segura el acceso a los recursos de AWS. Los administradores de IAM controlan quién está *autenticado* (ha iniciado sesión) y *autorizado* (tiene permisos) para utilizar recursos de AWS Glue. IAM es un servicio de Servicio de AWS que se puede utilizar sin cargo adicional.

**nota**  
Puede conceder acceso a sus datos en el Catálogo de datos de AWS Glue mediante métodos de AWS Glue o concesiones de AWS Lake Formation. Puede utilizar las políticas de AWS Identity and Access Management (IAM) para controlar de manera precisa el acceso con métodos de AWS Glue. Lake Formation utiliza un modelo de permisos `GRANT/REVOKE` más simple que es similar a los comandos `GRANT/REVOKE` en un sistema de base de datos relacional.  
Esta sección incluye información sobre cómo usar los métodos de AWS Glue. Para obtener más información sobre cómo utilizar las concesiones de Lake Formation, consulte [Concesión de permisos de Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html) en la *Guía para desarrolladores de AWS Lake Formation*.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticación con identidades](#security_iam_authentication)
+ [Administración del acceso con políticas](#security_iam_access-manage)
+ [Funcionamiento de AWS Glue con IAM](security_iam_service-with-iam.md)
+ [Configuración de permisos de IAM para AWS Glue](configure-iam-for-glue.md)
+ [Ejemplos de políticas de control de acceso de AWS Glue](glue-policy-examples.md)
+ [Concesión de políticas administradas de AWS para AWS Glue](security-iam-awsmanpol.md)
+ [Otorgamiento de políticas con un alcance dinámico para la ejecución de trabajos](dynamically-scoped-policies.md)
+ [Especificación de ARN del recurso de AWS Glue](glue-specifying-resource-arns.md)
+ [Concesión de acceso entre cuentas](cross-account-access.md)
+ [Solución de problemas de identidad y acceso en AWS Glue](security_iam_troubleshoot.md)

## Público
<a name="security_iam_audience"></a>

La forma de utilizar AWS Identity and Access Management (IAM) varía en función del rol:
+ **Usuario del servicio:** solicite permisos al administrador si no puede acceder a las características (consulte [Solución de problemas de identidad y acceso en AWS Glue](security_iam_troubleshoot.md)).
+ **Administrador del servicio:** determine el acceso de los usuarios y envíe las solicitudes de permiso (consulte [Funcionamiento de AWS Glue con IAM](security_iam_service-with-iam.md)).
+ **Administrador de IAM**: escribe las políticas para administrar el acceso (consulte [Ejemplos de políticas basadas en identidades para AWS Glue](security_iam_id-based-policy-examples.md)).

## Autenticación con identidades
<a name="security_iam_authentication"></a>

La autenticación es la manera de iniciar sesión en AWS mediante credenciales de identidad. Debe autenticarse como el Usuario raíz de la cuenta de AWS, como un usuario de IAM o asumiendo un rol de IAM.

Se puede iniciar sesión como una identidad federada con las credenciales de un origen de identidad, como AWS IAM Identity Center (IAM Identity Center), la autenticación de inicio de sesión único o las credenciales de Google/Facebook. Para obtener más información sobre el inicio de sesión, consulte [Cómo iniciar sesión en la Cuenta de AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) en la *Guía del usuario de AWS Sign-In*.

Para el acceso mediante programación, AWS proporciona un SDK y una CLI para firmar criptográficamente las solicitudes. Para obtener más información, consulte [AWS Signature Version 4 para solicitudes de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) en la *Guía del usuario de IAM*.

### Usuario raíz de la Cuenta de AWS
<a name="security_iam_authentication-rootuser"></a>

 Cuando se crea una Cuenta de AWS, se comienza con una identidad de inicio de sesión denominada *usuario raíz* de la Cuenta de AWS que tiene acceso completo a todos los Servicios de AWS y recursos. Se recomiendaencarecidamente que no utilice el usuario raíz para las tareas diarias. Para ver las tareas que requieren credenciales de usuario raíz, consulte [Tareas que requieren credenciales de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) en la *Guía del usuario de IAM*. 

### Identidad federada
<a name="security_iam_authentication-federated"></a>

Como práctica recomendada, exija a los usuarios humanos que utilicen la federación con un proveedor de identidades para acceder a Servicios de AWS con credenciales temporales.

Una *identidad federada* es un usuario del directorio empresarial, proveedor de identidad web o Directory Service que accede a los Servicios de AWS mediante credenciales de un origen de identidad. Las identidades federadas asumen roles que proporcionan credenciales temporales.

Para una administración de acceso centralizada, se recomienda AWS IAM Identity Center. Para obtener más información, consulte [¿Qué es el Centro de identidades de IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) en la *Guía del usuario de AWS IAM Identity Center*.

### Usuarios y grupos de IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* es una identidad con permisos específicos para una sola persona o aplicación. Recomendamos el uso de credenciales temporales en lugar de usuarios de IAM con credenciales de larga duración. Para obtener más información, consulte [Exigir que los usuarios humanos utilicen la federación con un proveedor de identidades para acceder a AWS con credenciales temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) en la *Guía del usuario de IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica un conjunto de usuarios de IAM y facilita la administración de los permisos para grupos grandes de usuarios. Para obtener más información, consulte [Casos de uso para usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) en la *Guía del usuario de IAM*.

### Roles de IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[Rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* es una identidad con permisos específicos que proporciona credenciales temporales. Se puede asumir un rol [cambiando de un usuario a un rol de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o llamando a una operación de la API de la AWS CLI o AWS. Para obtener más información, consulte [Métodos para asumir un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) en la *Guía del usuario de IAM*.

Los roles de IAM son útiles para el acceso de usuario federado, los permisos de usuario de IAM temporales, el acceso entre cuentas, el acceso entre servicios y las aplicaciones que se ejecutan en Amazon EC2. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Administración del acceso con políticas
<a name="security_iam_access-manage"></a>

Para controlar el acceso en AWS, se crean políticas y se adjuntan a identidades o recursos de AWS. Una política define los permisos cuando se asocia a una identidad o un recurso. AWS evalúa estas políticas cuando una entidad principal realiza una solicitud. La mayoría de las políticas se almacenan en AWS como documentos JSON. Para obtener más información sobre los documentos de políticas de JSON, consulte [Información general de políticas de JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) en la *Guía del usuario de IAM*.

Mediante las políticas, los administradores especifican quién tiene acceso a qué, definiendo qué **entidad principal** puede realizar **acciones** sobre qué **recursos** y en qué **condiciones**.

De forma predeterminada, los usuarios y los roles no tienen permisos. Un administrador de IAM crea políticas de IAM y las agrega a roles, que los usuarios pueden asumir posteriormente. Las políticas de IAM definen permisos independientemente del método que se utilice para realizar la operación.

### Políticas basadas en identidades
<a name="security_iam_access-manage-id-based-policies"></a>

Las políticas basadas en identidad son documentos de política de permisos JSON que asocia a una identidad (usuario, grupo o rol). Estas políticas controlan qué acciones pueden realizar las identidades, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Las políticas basadas en identidad pueden ser *políticas insertadas* (incrustadas directamente en una sola identidad) o *políticas administradas* (políticas independientes asociadas a varias identidades). Para obtener información sobre cómo elegir entre políticas administradas e insertadas, consulte [Selección entre políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) en la *Guía del usuario de IAM*.

### Políticas basadas en recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Las políticas basadas en recursos son documentos de políticas JSON que se asocian a un recurso. Los ejemplos incluyen las *Políticas de confianza de roles* de IAM y las *Políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos.

Las políticas basadas en recursos son políticas insertadas que se encuentran en ese servicio. No se pueden utilizar políticas de IAM administradas por AWS en una política basada en recursos.

### Otros tipos de políticas
<a name="security_iam_access-manage-other-policies"></a>

AWS admite tipos de políticas adicionales que pueden establecer el máximo de permisos concedidos por los tipos de políticas más frecuentes:
+ **Límites de permisos:** establecen los permisos máximos que una política basada en identidad puede conceder a una entidad de IAM. Para obtener más información, consulte [Límites de permisos para las entidades de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) en la *Guía del usuario de IAM*.
+ **Políticas de control de servicios (SCP):** especifican los permisos máximos para una organización o unidad organizativa en AWS Organizations. Para obtener más información, consulte [Políticas de control de servicios](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) en la *Guía del usuario de AWS Organizations*.
+ **Políticas de control de recursos (RCP):** definen los permisos máximos disponibles para los recursos de las cuentas. Para obtener más información, consulte [Políticas de control de recursos (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) en la *Guía del usuario de AWS Organizations*.
+ **Políticas de sesión:** políticas avanzadas que se pasan como parámetro cuando se crea una sesión temporal para un rol o un usuario federado. Para obtener más información, consulte [Políticas de sesión](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) en la *Guía del usuario de IAM*.

### Varios tipos de políticas
<a name="security_iam_access-manage-multiple-policies"></a>

Cuando se aplican varios tipos de políticas a una solicitud, los permisos resultantes son más complicados de entender. Para obtener información acerca de cómo AWS decide si permitir o no una solicitud cuando hay varios tipos de políticas implicados, consulte [Lógica de evaluación de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) en la *Guía del usuario de IAM*.

# Funcionamiento de AWS Glue con IAM
<a name="security_iam_service-with-iam"></a>

Antes de utilizar IAM para administrar el acceso a AWS Glue, conozca qué características de IAM se pueden utilizar con AWS Glue.






**Características de IAM que puede utilizar con AWS Glue**  

| Característica de IAM | Compatibilidad de AWS Glue | 
| --- | --- | 
|  [Políticas basadas en identidades](#security_iam_service-with-iam-id-based-policies)  |   Sí  | 
|  [Políticas basadas en recursos](#security_iam_service-with-iam-resource-based-policies)  |   Parcial  | 
|  [Acciones de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |   Sí  | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |   Sí  | 
|  [Claves de condición de política (específicas del servicio)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sí  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   No   | 
|  [ABAC (etiquetas en políticas)](#security_iam_service-with-iam-tags)  |   Parcial  | 
|  [Credenciales temporales](#security_iam_service-with-iam-roles-tempcreds)  |   Sí  | 
|  [Permisos de entidades principales](#security_iam_service-with-iam-principal-permissions)  |   No   | 
|  [Roles de servicio](#security_iam_service-with-iam-roles-service)  |   Sí  | 
|  [Roles vinculados al servicio](#security_iam_service-with-iam-roles-service-linked)  |   No   | 

Para obtener una perspectiva general sobre cómo funcionan AWS Glue y otros servicios de AWS con la mayoría de las características de IAM, consulte [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

## Políticas basadas en identidades de AWS Glue
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatibilidad con las políticas basadas en identidad:** sí

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Para obtener más información sobre los elementos que puede utilizar en una política de JSON, consulte [Referencia de los elementos de la política de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

AWS Glue admite políticas basadas en identidad (políticas de IAM) para todas las operaciones de AWS Glue. Al asociar una política, puede conceder permisos para crear o modificar un recurso de AWS Glue, como una tabla en AWS Glue Data Catalog, o para acceder a él.

### Ejemplos de políticas basadas en identidades para AWS Glue
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver ejemplos de políticas basadas en identidades de AWS Glue, consulte [Ejemplos de políticas basadas en identidades para AWS Glue](security_iam_id-based-policy-examples.md).

## Políticas basadas en recursos de AWS Glue
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Compatibilidad con las políticas basadas en recursos:** parcial

Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. Los ejemplos de políticas basadas en recursos son las *políticas de confianza de roles* de IAM y las *políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se asocia la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos. Las entidades principales pueden incluir cuentas, usuarios, roles, usuarios federados o Servicios de AWS.

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política en función de recursos. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

**nota**  
Solo puede usar una política de recursos de AWS Glue para administrar los permisos de los recursos del Catálogo de datos. No se puede adjuntar a otros recursos de AWS Glue como trabajos, disparadores, puntos de enlace de desarrollo, rastreadores o clasificadores.  
Solo se permite *una* política de recursos por catálogo y su tamaño se limita a 10 KB.

En AWS Glue, una política de recursos se asocia a un *catálogo*, que es un contenedor virtual para todos los tipos de recursos del Catálogo de datos mencionados antes. Cada cuenta de AWS posee un único catálogo en una región de AWS, cuyo ID de catálogo es el mismo que el ID de cuenta de AWS. No puede eliminar ni modificar un catálogo.

Una política de recursos se evalúa para todas las llamadas a la API en el catálogo donde el principal del intermediario se incluye en el bloque `"Principal"` del documento de política.



Para ver ejemplos de políticas basadas en recursos de AWS Glue, consulte [Ejemplos de políticas basadas en recursos para AWS Glue](security_iam_resource-based-policy-examples.md).

## Acciones de política para AWS Glue
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatibilidad con las acciones de políticas:** sí

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.



Para ver una lista de las acciones de AWS Glue, consulte [Acciones definidas por AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-actions-as-permissions) en la *Referencia de autorizaciones de servicio*.

Las acciones de políticas de AWS Glue utilizan el siguiente prefijo antes de la acción:

```
glue
```

Para especificar varias acciones en una única instrucción, sepárelas con comas.

```
"Action": [
      "glue:action1",
      "glue:action2"
         ]
```





Puede utilizar caracteres comodín (\$1) para especificar varias acciones . Por ejemplo, para especificar todas las acciones que comiencen con la palabra `Get`, incluya la siguiente acción:

```
"Action": "glue:Get*"
```

Para ver ejemplos de políticas, consulte [Ejemplos de políticas de control de acceso de AWS Glue](glue-policy-examples.md).

## Recursos de políticas para AWS Glue
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatibilidad con los recursos de políticas:** sí

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```

Para obtener más información sobre cómo controlar el acceso a los recursos de AWS Glue con los ARN, consulte [Especificación de ARN del recurso de AWS Glue](glue-specifying-resource-arns.md).

Para ver una lista de los tipos de recursos de AWS Glue y sus ARN, consulte [Recursos definidos por AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-resources-for-iam-policies) en la *Referencia de autorizaciones de servicio*. Para averiguar cuáles son las acciones que puede usar para especificar el ARN de cada recurso, consulte [Acciones definidas por AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-actions-as-permissions).



## Claves de condición de política para AWS Glue
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatibilidad con claves de condición de políticas específicas del servicio:** sí

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición globales de AWS, consulte [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Para ver una lista de las claves de condición de AWS Glue, consulte [Claves de condición para AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-policy-keys) en la *Referencia de autorizaciones de servicio*. Para averiguar qué acciones y recursos puede usar con una clave de condición, consulte [Acciones definidas por AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-actions-as-permissions).

Para ver ejemplos de políticas, consulte [Controlar la configuración mediante claves de condición o claves de contexto](security_iam_id-based-policy-examples.md#glue-identity-based-policy-condition-keys).

## ACL en AWS Glue
<a name="security_iam_service-with-iam-acls"></a>

**Compatibilidad con ACL**: no 

Las listas de control de acceso (ACL) controlan qué entidades principales (miembros de cuentas, usuarios o roles) tienen permisos para acceder a un recurso. Las ACL son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.

## ABAC con AWS Glue
<a name="security_iam_service-with-iam-tags"></a>

**Compatibilidad con ABAC (etiquetas en las políticas):** parcial

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos denominados etiquetas. Puede asociar etiquetas a entidades de IAM y recursos de AWS y, a continuación, diseñar políticas de ABAC para permitir operaciones cuando la etiqueta de la entidad principal coincida con la etiqueta del recurso.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de una política utilizando las claves de condición `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es **Sí** para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es **Parcial**.

*Para obtener más información sobre ABAC, consulte [Definición de permisos con la autorización de ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) en la Guía del usuario de IAM*. Para ver un tutorial con los pasos para configurar ABAC, consulte [Uso del control de acceso basado en atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) en la *Guía del usuario de IAM*.

**importante**  
Las claves de contexto de condición se aplican únicamente a las acciones de API de AWS Glue que se realizan en los rastreadores, los trabajos, los desencadenadores y los puntos de conexión de desarrollo. Para obtener más información sobre las operaciones de API que se ven afectadas, consulte [Claves de condición para AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-policy-keys).  
Las operaciones de API del Catálogo de datos de AWS Glue no admiten actualmente las claves de contexto de condiciones globales `aws:referer` y `aws:UserAgent`.

Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte [Conceder acceso mediante etiquetas](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-allow).

## Uso de credenciales temporales con AWS Glue
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatibilidad con credenciales temporales:** sí

Las credenciales temporales proporcionan acceso a corto plazo a los recursos de AWS y se crean automáticamente cuando se utiliza la federación o se cambia de rol. AWS recomienda generar credenciales temporales de forma dinámica en lugar de usar claves de acceso a largo plazo. Para obtener más información, consulte [Credenciales de seguridad temporales en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) y [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

## Permisos de entidades principales entre servicios para AWS Glue
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Compatibilidad con sesiones de acceso directo (FAS):** no 

 Las sesiones de acceso directo (FAS) utilizan los permisos de la entidad principal para llamar a un Servicio de AWS, combinados con el Servicio de AWS solicitante para realizar solicitudes a servicios posteriores. Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte [Sesiones de acceso directo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Roles de servicio para AWS Glue
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatible con roles de servicio:** sí

 Un rol de servicio es un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte [Crear un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*. 

**aviso**  
Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de AWS Glue. Edite los roles de servicio solo cuando AWS Glue proporcione orientación para hacerlo.

Para obtener instrucciones detalladas sobre cómo crear un rol de servicio para AWS Glue, consulte [Paso 1: Crear una política de IAM para el servicio AWS Glue](create-service-policy.md) y [Paso 2: creación de un rol de IAM para AWS Glue](create-an-iam-role.md).

## Roles vinculados a servicios para AWS Glue
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatibilidad con roles vinculados al servicio:** no 

 Un rol vinculado a servicios es un tipo de rol de servicio que está vinculado a un Servicio de AWS. El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados a servicios aparecen en la Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios. 

Para más información sobre cómo crear o administrar roles vinculados a servicios, consulta [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Busque un servicio en la tabla que incluya `Yes` en la columna **Rol vinculado a un servicio**. Seleccione el vínculo **Sí** para ver la documentación acerca del rol vinculado a servicios para ese servicio.

# Configuración de permisos de IAM para AWS Glue
<a name="configure-iam-for-glue"></a>

AWS Identity and Access Management (IAM) se utiliza para definir políticas y roles que AWS Glue utiliza para acceder a recursos. Los siguientes pasos lo guiarán a través de varias opciones para configurar los permisos para AWS Glue. Según las necesidades de su negocio, es posible que tenga que añadir o reducir el acceso a los recursos.

**nota**  
Para empezar a utilizar los permisos de IAM básicos para AWS Glue en su lugar, consulte [Configuración de permisos de IAM para AWS Glue](set-up-iam.md).

1. [Crear una política de IAM para el servicio AWS Glue](create-service-policy.md): cree una política de servicio que le permita acceder a los recursos de AWS Glue.

1. [Crear un rol de IAM para AWS Glue](create-an-iam-role.md): cree un rol de IAM y adjunte la política de servicio de AWS Glue y una política para los recursos de Amazon Simple Storage Service (Amazon S3) utilizados por AWS Glue.

1. [Adjuntar una política a los usuarios o los grupos que acceden a AWS Glue](attach-policy-iam-user.md): adjunte políticas a todo usuario o grupo que inicie sesión en la consola de AWS Glue.

1. [Crear una política de IAM para los blocs de notas](create-notebook-policy.md): cree una política de servidor de blocs de notas para utilizarla en la creación de servidores de blocs de notas en los puntos de conexión de desarrollo.

1. [Crear un rol de IAM para los blocs de notas](create-an-iam-role-notebook.md): cree un rol de IAM y adjunte la política de servidor de blocs de notas.

1. [Crear una política de IAM para los cuadernos de IA de Amazon SageMaker](create-sagemaker-notebook-policy.md): cree una política de IAM para utilizarla al crear cuadernos de IA de Amazon SageMaker en puntos de conexión de desarrollo.

1. [Crear un rol de IAM para los cuadernos de IA de Amazon SageMaker](create-an-iam-role-sagemaker-notebook.md): cree un rol de IAM y adjunte la política para otorgar permisos al crear cuadernos de IA de Amazon SageMaker en puntos de conexión de desarrollo.

# Paso 1: Crear una política de IAM para el servicio AWS Glue
<a name="create-service-policy"></a>

Para cualquier operación que obtenga acceso a datos que estén en otro recurso de AWS, como el acceso a sus objetos en Amazon S3, AWS Glue necesita permiso para obtener acceso al recurso en su nombre. Estos permisos los concede utilizando AWS Identity and Access Management (IAM). 

**nota**  
Puede omitir este paso si utiliza la política administrada de AWS, `AWSGlueServiceRole`.

En este paso, crea una política que es similar a `AWSGlueServiceRole`. Puede encontrar la versión más actualizada de `AWSGlueServiceRole` en la consola de IAM.

**Para crear una política de IAM para AWS Glue**

Esta política concede permiso para que algunas acciones de Amazon S3 administren recursos de su cuenta que AWS Glue necesita cuando asume el rol con esta política. Algunos de los recursos especificados en esta política hacen referencia a nombres predeterminados que AWS Glue utiliza para buckets de Amazon S3, scripts de ETL de Amazon S3, CloudWatch Logs y recursos de Amazon EC2. De forma predeterminada y para mayor simplicidad, AWS Glue escribe algunos objetos de Amazon S3 en buckets de su cuenta con el prefijo `aws-glue-*`.

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

1. En el panel de navegación izquierdo, elija **Políticas**.

1. Seleccione **Crear política**.

1. En la pantalla **Create Policy** (Crear política) vaya a una pestaña para editar JSON. Cree un documento de política con las instrucciones JSON siguientes y, a continuación, elija **Review policy** (Revisar política).
**nota**  
Agregue todos los permisos necesarios para los recursos de Amazon S3. Es posible que le interese que la sección de recursos de su política de acceso abarque solo los recursos necesarios.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:*",
           "s3:GetBucketLocation",
           "s3:ListBucket",
           "s3:ListAllMyBuckets",
           "s3:GetBucketAcl",
           "ec2:DescribeVpcEndpoints",
           "ec2:DescribeRouteTables",
           "ec2:CreateNetworkInterface",
           "ec2:DeleteNetworkInterface",
           "ec2:DescribeNetworkInterfaces",
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcAttribute",
           "iam:ListRolePolicies",
           "iam:GetRole",
           "iam:GetRolePolicy",
           "cloudwatch:PutMetricData"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:CreateBucket",
           "s3:PutBucketPublicAccessBlock"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:PutObject",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*/*",
           "arn:aws:s3:::*/*aws-glue-*/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject"
         ],
         "Resource": [
           "arn:aws:s3:::crawler-public*",
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents",
           "logs:AssociateKmsKey"
         ],
         "Resource": [
           "arn:aws:logs:*:*:log-group:/aws-glue/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags",
           "ec2:DeleteTags"
         ],
         "Condition": {
           "ForAllValues:StringEquals": {
             "aws:TagKeys": [
               "aws-glue-service-resource"
             ]
           }
         },
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:instance/*"
         ]
       }
     ]
   }
   ```

------

   En la siguiente tabla se describen los permisos que esta política concede.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/create-service-policy.html)

1. En la pantalla **Review Policy (Revisar política)**, escriba su **Policy Name (Nombre de política)**; por ejemplo, **GlueServiceRolePolicy**. Escriba una descripción opcional y, cuando quede satisfecho con la política, elija **Create Policy (Crear política)**.

# Paso 2: creación de un rol de IAM para AWS Glue
<a name="create-an-iam-role"></a>

Tiene que conceder sus permisos de rol de IAM que AWS Glue pueda asumir cuando llame a otros servicios en su nombre. Esto incluye el acceso a Amazon S3 para todos los orígenes, los destinos, los scripts y los directorios temporales que utilice con AWS Glue. Los rastreadores, los trabajos y los puntos de enlace de desarrollo necesitan permiso.

Estos permisos los concede utilizando AWS Identity and Access Management (IAM). Agregue una política al rol de IAM que transfiera a AWS Glue.

****Para crear un rol de IAM en el editor de trabajos****

1. Al crear un trabajo en la consola de AWS Glue, busque la sección del rol.

1. Elija **Crear nuevo rol**.

1. Se abre un formulario de creación de roles en línea que le permite:
   + Especificar **el nombre del rol**; por ejemplo, `AWSGlueServiceRoleDefault`.
   + La política administrada `AWSGlueServiceRole` se selecciona automáticamente.
   + Revise la política de confianza para asumir el rol.
   + Añada etiquetas opcionales para los metadatos.

1. Elija **Crear rol**.

1. El rol recién creado se selecciona automáticamente para su trabajo.

También puede utilizar la consola de IAM para crear el rol:

****Para crear un rol de IAM para la AWS Glue con la consola de IAM****

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

1. En el panel de navegación izquierdo, elija **Roles**.

1. Elija **Creación de rol**.

1.  Elija **Servicio de AWS** como tipo de entidad de confianza. Luego, para el servicio o caso de uso, busque y elija **AWS Glue**. Elija **Siguiente**. 

1. En la página **Agregar permisos**, elija las políticas que contienen los permisos necesarios; por ejemplo, la política administrada por AWS, `AWSGlueServiceRole`, para permisos de AWS Glue generales y la política administrada de AWS, **AmazonS3FullAccess**, para obtener acceso a los recursos de Amazon S3. A continuación, elija **Siguiente**.
**nota**  
Asegúrese de que una de las políticas de este rol conceda permisos a sus orígenes y destinos de Amazon S3. Es posible que le interese proporcionar su propia política para obtener acceso a determinados recursos de Amazon S3. Los orígenes de datos requieren permisos `s3:ListBucket` y `s3:GetObject`. Los destinos de datos requieren permisos `s3:ListBucket`, `s3:PutObject` y `s3:DeleteObject`. Para obtener más información acerca de la creación de una política de Amazon S3 para sus recursos, consulte [Especificación de recursos en una política](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html). Para ver un ejemplo de política de Amazon S3, consulte [Cómo escribir políticas de IAM: cómo conceder acceso a un bucket de Amazon S3](https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/).   
Si tiene previsto obtener acceso a orígenes y destinos de Amazon S3 cifrados con SSE-KMS, asocie una política que permita a los rastreadores, trabajos y puntos de enlace de desarrollo de AWS Glue descifrar los datos. Para obtener más información, consulte [Proteger los datos utilizando cifrado del lado del servidor con claves administradas por AWS KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).   
A continuación se muestra un ejemplo.  

****  

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

1.  Asigne un nombre a su función y añada una descripción (opcional) y, a continuación, revise la política de confianza y los permisos. En **Role Name (Nombre del rol)**, escriba un nombre para el rol, por ejemplo, `AWSGlueServiceRoleDefault`. Cree el rol con el nombre prefijado con la cadena `AWSGlueServiceRole` para permitir que se transfiera el rol desde usuarios de la consola al servicio. Las políticas proporcionadas por AWS Glue esperan que los roles de servicio de IAM comiencen con `AWSGlueServiceRole`. De lo contrario, deberá agregar una política para permitir a sus usuarios que el permiso `iam:PassRole` para roles de IAM coincida con la convención de denominación. Seleccione **Creación de rol**.
**nota**  
Cuando se crea un cuaderno con un rol, ese rol se pasa a las sesiones interactivas para que se pueda utilizar el mismo rol en ambos lugares. Como tal, el permiso `iam:PassRole` debe formar parte de la política del rol.   
Cree una nueva política para el rol mediante el siguiente ejemplo. Reemplace el número de cuenta por el suyo y por el nombre del rol.   

****  

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

1.  Añada etiquetas a su rol (opcional). Las etiquetas son pares clave-valor que puede añadir a los recursos AWS para ayudar a identificar, organizar o buscar recursos. A continuación, elija **Create role** (Crear rol). 

# Paso 3: Adjuntar una política a los usuarios o los grupos que accedan a AWS Glue
<a name="attach-policy-iam-user"></a>

El administrador debe asignar permisos a cualquier usuario, grupo o rol mediante la consola de AWS Glue o la AWS Command Line Interface (AWS CLI). Estos permisos los concede con AWS Identity and Access Management (IAM), mediante políticas. En este paso, se describe la asignación de permisos a usuarios o grupos.

Cuando termine este paso, el usuario o el grupo tendrán las siguientes políticas adjuntas:
+ Política administrada de AWS, `AWSGlueConsoleFullAccess`, o política personalizada **GlueConsoleAccessPolicy**
+ **`AWSGlueConsoleSageMakerNotebookFullAccess`**
+ **`CloudWatchLogsReadOnlyAccess`**
+ **`AWSCloudFormationReadOnlyAccess`**
+ **`AmazonAthenaFullAccess`**

**Para adjuntar una política insertada e integrarla a un usuario o un grupo**

Puede adjuntar una política administrada de AWS o una política insertada a un usuario o un grupo para obtener acceso a la consola de AWS Glue. Algunos de los recursos especificados en esta política hacen referencia a nombres predeterminados que AWS Glue utiliza para buckets de Amazon S3, scripts de ETL de Amazon S3, CloudWatch Logs, CloudFormation y recursos de Amazon EC2. De forma predeterminada y para mayor simplicidad, AWS Glue escribe algunos objetos de Amazon S3 en buckets de su cuenta con el prefijo `aws-glue-*`. 
**nota**  
Puede omitir este paso si utiliza la política administrada de AWS **`AWSGlueConsoleFullAccess`**.
**importante**  
AWS Glue necesita permiso para asumir un rol que se utiliza para realizar flujo de trabajo en su nombre. **Para ello, debe agregar los permisos `iam:PassRole` a los usuarios o los grupos de AWS Glue.** Esta política concede permiso a roles que comienzan por `AWSGlueServiceRole` para roles de servicio de AWS Glue y `AWSGlueServiceNotebookRole` para roles que son necesarios cuando crea un servidor de blocs de notas. También puede crear su propia política para permisos `iam:PassRole` que sigue su convención de denominación.  
Según las mejores prácticas de seguridad, se recomienda restringir el acceso mediante políticas más estrictas para limitar aún más el acceso al bucket de Amazon S3 y grupos de registros de Amazon CloudWatch. Para ver un ejemplo de política de Amazon S3, consulte [Cómo escribir políticas de IAM: cómo conceder acceso a un bucket de Amazon S3](https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/). 

En este paso, crea una política que es similar a `AWSGlueConsoleFullAccess`. Puede encontrar la versión más actualizada de `AWSGlueConsoleFullAccess` en la consola de IAM.

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

1. En el panel de navegación, elija **Usuarios** o **Grupos de usuarios**.

1. En la lista, seleccione el nombre del usuario o del grupo en el que integrará una política.

1. Elija la pestaña **Permissions (Permisos)** y, si es necesario, expanda la sección **Permissions Policies (Políticas de permisos)**.

1. Elija el enlace **Add Inline policy** (Añadir política en línea).

1. En la pantalla **Create Policy** (Crear política) vaya a una pestaña para editar JSON. Cree un documento de política con las instrucciones JSON siguientes y, a continuación, elija **Review policy** (Revisar política).

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:*",
           "redshift:DescribeClusters",
           "redshift:DescribeClusterSubnetGroups",
           "iam:ListRoles",
           "iam:ListUsers",
           "iam:ListGroups",
           "iam:ListRolePolicies",
           "iam:GetRole",
           "iam:GetRolePolicy",
           "iam:ListAttachedRolePolicies",
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcs",
           "ec2:DescribeVpcEndpoints",
           "ec2:DescribeRouteTables",
           "ec2:DescribeVpcAttribute",
           "ec2:DescribeKeyPairs",
           "ec2:DescribeInstances",
           "rds:DescribeDBInstances",
           "rds:DescribeDBClusters",
           "rds:DescribeDBSubnetGroups",
           "s3:ListAllMyBuckets",
           "s3:ListBucket",
           "s3:GetBucketAcl",
           "s3:GetBucketLocation",
           "cloudformation:DescribeStacks",
           "cloudformation:GetTemplateSummary",
           "dynamodb:ListTables",
           "kms:ListAliases",
           "kms:DescribeKey",
           "cloudwatch:GetMetricData",
           "cloudwatch:ListDashboards"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:PutObject"
         ],
         "Resource": [
           "arn:aws:s3:::*/*aws-glue-*/*",
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "tag:GetResources"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:CreateBucket",
           "s3:PutBucketPublicAccessBlock"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:GetLogEvents"
         ],
         "Resource": [
           "arn:aws:logs:*:*:/aws-glue/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "cloudformation:CreateStack",
           "cloudformation:DeleteStack"
         ],
         "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*"
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:RunInstances"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:instance/*",
           "arn:aws:ec2:*:*:key-pair/*",
           "arn:aws:ec2:*:*:image/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:subnet/*",
           "arn:aws:ec2:*:*:volume/*"
         ]
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "ec2.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*"
         ],
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       }
     ]
   }
   ```

------

   En la siguiente tabla se describen los permisos que esta política concede.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/attach-policy-iam-user.html)

1. En la pantalla **Review Policy (Revisar política)**, escriba un nombre para la política; por ejemplo, **GlueConsoleAccessPolicy**. Cuando esté satisfecho con la política, elija **Crear política**. Asegúrese de que no aparece ningún error en un cuadro rojo en la parte superior de la pantalla. Corrija todos los errores notificados.
**nota**  
Si la opción **Use autoformatting** está seleccionada, la política se vuelve a formatear cada vez que abra una política o elija la opción **Validate Policy**.

**Para asociar la política administrada AWSGlueConsoleFullAccess**

Puede asociar la política `AWSGlueConsoleFullAccess` para proporcionar permisos que el usuario de la consola de AWS Glue necesita.
**nota**  
Puede omitir este paso si ha creado su propia política para el acceso a la consola de AWS Glue.

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

1. En el panel de navegación, seleccione **Políticas**.

1. En la lista de políticas, seleccione la casilla de verificación situada junto a **AWSGlueConsoleFullAccess**. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista de políticas.

1. Seleccione **Policy actions (Acciones de la política)** y, a continuación, **Attach (Adjuntar)**.

1. Seleccione el usuario al que asociará la política. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista entidades principales. Después de seleccionar el usuario al que asociará la política, seleccione **Attach policy** (Asociar política).

**Asocie la política administrada, `AWSGlueConsoleSageMakerNotebookFullAccess`**

Puede asociar la política `AWSGlueConsoleSageMakerNotebookFullAccess` a un usuario para administrar blocs de notas de IA de SageMaker creados en la consola de AWS Glue. Además de otros permisos de la consola de AWS Glue necesarios, esta política concede acceso a los recursos que se necesitan para administrar blocs de notas de IA de SageMaker. 

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

1. En el panel de navegación, seleccione **Políticas**. 

1. En la lista de políticas, seleccione la casilla de verificación situada junto a **AWSGlueConsoleSageMakerNotebookFullAccess**. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista de políticas.

1. Seleccione **Policy actions (Acciones de la política)** y, a continuación, **Attach (Adjuntar)**.

1. Seleccione el usuario al que asociará la política. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista entidades principales. Después de seleccionar el usuario al que asociará la política, seleccione **Attach policy** (Asociar política).

**Para asociar la política administrada CloudWatchLogsReadOnlyAccess**

Puede asociar la política **CloudWatchLogsReadOnlyAccess** a un usuario para ver los registros que AWS Glue crea en la consola de CloudWatch Logs.

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

1. En el panel de navegación, seleccione **Políticas**. 

1. En la lista de políticas, seleccione la casilla de verificación situada junto a la política **CloudWatchLogsReadOnlyAccess**. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista de políticas.

1. Seleccione **Policy actions (Acciones de la política)** y, a continuación, **Attach (Adjuntar)**.

1. Seleccione el usuario al que asociará la política. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista entidades principales. Después de seleccionar el usuario al que asociará la política, seleccione **Attach policy** (Asociar política).

**Para asociar la política administrada AWSCloudFormationReadOnlyAccess**

Puede asociar la política **AWSCloudFormationReadOnlyAccess** a un usuario para ver las pilas de CloudFormation que AWS Glue utiliza en la consola de CloudFormation.

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

1. En el panel de navegación, seleccione **Políticas**. 

1. En la lista de políticas, seleccione la casilla de verificación situada junto a **AWSCloudFormationReadOnlyAccess**. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista de políticas.

1. Seleccione **Policy actions (Acciones de la política)** y, a continuación, **Attach (Adjuntar)**.

1. Seleccione el usuario al que asociará la política. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista entidades principales. Después de seleccionar el usuario al que asociará la política, seleccione **Attach policy** (Asociar política).

**Para asociar la política administrada AmazonAthenaFullAccess**

Puede asociar la política **AmazonAthenaFullAccess** a un usuario para ver datos de Amazon S3 en la consola de Athena.

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

1. En el panel de navegación, seleccione **Políticas**. 

1. En la lista de políticas, seleccione la casilla de verificación situada junto a **AmazonAthenaFullAccess**. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista de políticas.

1. Seleccione **Policy actions (Acciones de la política)** y, a continuación, **Attach (Adjuntar)**.

1. Seleccione el usuario al que asociará la política. Puede utilizar el menú **Filtro** y el cuadro de búsqueda para filtrar la lista entidades principales. Después de seleccionar el usuario al que asociará la política, seleccione **Attach policy** (Asociar política).

# Paso 4: Crear una política de IAM para servidores de blocs de notas
<a name="create-notebook-policy"></a>

Si pretende utilizar blocs de notas con puntos de enlace de desarrollo, debe especificar permisos al crear el servidor de bloc de notas. Estos permisos los concede utilizando AWS Identity and Access Management (IAM).

Esta política concede permiso para que algunas acciones de Amazon S3 administren recursos de su cuenta que AWS Glue necesita cuando asume el rol con esta política. Algunos de los recursos que se especifican en esta política hacen referencia a nombres predeterminados que AWS Glue utiliza para buckets de Amazon S3, scripts de ETL de Amazon S3 y recursos de Amazon EC2. De forma predeterminada y para mayor simplicidad, AWS Glue escribe algunos objetos de Amazon S3 en buckets de su cuenta con el prefijo `aws-glue-*`. 

**nota**  
Puede omitir este paso si utiliza la política administrada de AWS, **`AWSGlueServiceNotebookRole`**.

En este paso, crea una política que es similar a `AWSGlueServiceNotebookRole`. Puede encontrar la versión más actualizada de `AWSGlueServiceNotebookRole` en la consola de IAM.

**Para crear una política de IAM para blocs de notas**

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

1. En el panel de navegación izquierdo, elija **Políticas**.

1. Seleccione **Crear política**.

1. En la pantalla **Create Policy** (Crear política) vaya a una pestaña para editar JSON. Cree un documento de política con las instrucciones JSON siguientes y, a continuación, elija **Review policy** (Revisar política).

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:CreateDatabase",
           "glue:CreatePartition",
           "glue:CreateTable",
           "glue:DeleteDatabase",
           "glue:DeletePartition",
           "glue:DeleteTable",
           "glue:GetDatabase",
           "glue:GetDatabases",
           "glue:GetPartition",
           "glue:GetPartitions",
           "glue:GetTable",
           "glue:GetTableVersions",
           "glue:GetTables",
           "glue:UpdateDatabase",
           "glue:UpdatePartition",
           "glue:UpdateTable",
           "glue:GetJobBookmark",
           "glue:ResetJobBookmark",
           "glue:CreateConnection",
           "glue:CreateJob",
           "glue:DeleteConnection",
           "glue:DeleteJob",
           "glue:GetConnection",
           "glue:GetConnections",
           "glue:GetDevEndpoint",
           "glue:GetDevEndpoints",
           "glue:GetJob",
           "glue:GetJobs",
           "glue:UpdateJob",
           "glue:BatchDeleteConnection",
           "glue:UpdateConnection",
           "glue:GetUserDefinedFunction",
           "glue:UpdateUserDefinedFunction",
           "glue:GetUserDefinedFunctions",
           "glue:DeleteUserDefinedFunction",
           "glue:CreateUserDefinedFunction",
           "glue:BatchGetPartition",
           "glue:BatchDeletePartition",
           "glue:BatchCreatePartition",
           "glue:BatchDeleteTable",
           "glue:UpdateDevEndpoint",
           "s3:GetBucketLocation",
           "s3:ListBucket",
           "s3:ListAllMyBuckets",
           "s3:GetBucketAcl"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject"
         ],
         "Resource": [
           "arn:aws:s3:::crawler-public*",
           "arn:aws:s3:::aws-glue*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags",
           "ec2:DeleteTags"
         ],
         "Condition": {
           "ForAllValues:StringEquals": {
             "aws:TagKeys": [
               "aws-glue-service-resource"
             ]
           }
         },
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:instance/*"
         ]
       }
     ]
   }
   ```

------

   En la siguiente tabla se describen los permisos que esta política concede.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/create-notebook-policy.html)

1. En la pantalla **Review Policy (Revisar política)**, escriba su **Policy Name (Nombre de política)**; por ejemplo, **GlueServiceNotebookPolicyDefault**. Escriba una descripción opcional y, cuando quede satisfecho con la política, elija **Create Policy (Crear política)**.

# Paso 5: Crear un rol de IAM para servidores de blocs de notas
<a name="create-an-iam-role-notebook"></a>

Si pretende utilizar blocs de notas con puntos de enlace de desarrollo, debe conceder los permisos de rol de IAM. Estos permisos los concede al utilizar IAM de AWS Identity and Access Management, mediante un rol de IAM.

**nota**  
Cuando se crea un rol de IAM utilizando la consola de IAM, esta crea automáticamente un perfil de instancia y le da el mismo nombre que el rol al que corresponde.

**Para crear un rol de IAM para blocs de notas**

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

1. En el panel de navegación izquierdo, elija **Roles**.

1. Elija **Creación de rol**.

1. Para el tipo de rol, elija **Servicio de AWS**, encuentre y elija **EC2** y seleccione el caso de uso de **EC2**; por último, elija **Siguiente: Permisos**.

1. En la página **Adjuntar política de permisos**, elija las políticas que contienen los permisos necesarios; por ejemplo, **AWSGlueServiceNotebookRole**, para permisos de AWS Glue generales, y la política administrada por AWS, **AmazonS3FullAccess**, para obtener acceso a recursos de Amazon S3. A continuación, seleccione **Next: Review**.
**nota**  
Asegúrese de que una de las políticas de este rol conceda permisos a sus orígenes y destinos de Amazon S3. También confirme que su política le permite obtener acceso completo a la ubicación en la que almacena su bloc de notas cuando crea un servidor de blocs de notas. Es posible que le interese proporcionar su propia política para obtener acceso a determinados recursos de Amazon S3. Para obtener más información acerca de la creación de una política de Amazon S3 para sus recursos, consulte [Especificación de recursos en una política](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html).  
Si tiene previsto obtener acceso a orígenes y destinos de Amazon S3 cifrados con SSE-KMS, asocie una política que permita a los blocs de notas descifrar los datos. Para obtener más información, consulte [Proteger los datos utilizando cifrado del lado del servidor con claves administradas por AWS KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).   
A continuación se muestra un ejemplo.  

****  

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

1. Escriba un nombre para el rol en **Nombre de rol**. Cree el rol con el nombre prefijado con la cadena `AWSGlueServiceNotebookRole` para permitir que se transfiera el rol desde usuarios de la consola al servidor de blocs de notas. Las políticas proporcionadas por AWS Glue esperan que los roles de servicio de IAM comiencen con `AWSGlueServiceNotebookRole`. De lo contrario, deberá agregar una política a sus usuarios para permitir que el permiso `iam:PassRole` para roles de IAM coincida con su convención de denominación. Por ejemplo, escriba . `AWSGlueServiceNotebookRoleDefault`. A continuación, elija **Crear rol**. 

# Paso 6: Crear una política de IAM para cuadernos de IA de SageMaker
<a name="create-sagemaker-notebook-policy"></a>

Si pretende utilizar cuadernos de IA de SageMaker con puntos de conexión de desarrollo, debe especificar los permisos al crear el cuaderno. Estos permisos los concede utilizando AWS Identity and Access Management (IAM).

**Creación de una política de IAM para cuadernos de IA de SageMaker**

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

1. En el panel de navegación izquierdo, elija **Políticas**.

1. Seleccione **Crear política**.

1. En la página **Create Policy (Crear política)** vaya a una pestaña para editar JSON. Cree un documento de política con las siguientes instrucciones JSON. Modifique el *nombre-del-bucket*, el *código-de-región* y el *identificador-de-cuenta* del entorno.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:ListBucket"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket"
               ]
           },
           {
               "Action": [
                   "s3:GetObject"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket*"
               ]
           },
           {
               "Action": [
                   "logs:CreateLogStream",
                   "logs:DescribeLogStreams",
                   "logs:PutLogEvents",
                   "logs:CreateLogGroup"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/*",
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/*:log-stream:aws-glue-*"
               ]
           },
           {
               "Action": [
                   "glue:UpdateDevEndpoint",
                   "glue:GetDevEndpoint",
                   "glue:GetDevEndpoints"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:glue:us-east-1:111122223333:devEndpoint/*"
               ]
           },
           {
               "Action": [
                   "sagemaker:ListTags"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:sagemaker:us-east-1:111122223333:notebook-instance/*"
               ]
           }
       ]
   }
   ```

------

   A continuación, elija **Review policy (Revisar política)**. 

   En la siguiente tabla se describen los permisos que esta política concede.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/create-sagemaker-notebook-policy.html)

1. En la pantalla **Review Policy (Revisar política)**, escriba su **Policy Name (Nombre de política)**; por ejemplo, `AWSGlueSageMakerNotebook`. Escriba una descripción opcional y, cuando quede satisfecho con la política, elija **Create Policy (Crear política)**.

# Paso 7: Crear un rol de IAM para cuadernos de IA de SageMaker
<a name="create-an-iam-role-sagemaker-notebook"></a>

Si pretende utilizar cuadernos de IA de SageMaker con puntos de conexión de desarrollo, debe conceder los permisos del rol de IAM. Estos permisos los concede al utilizar AWS Identity and Access Management (IAM), mediante un rol de IAM.

**Creación de un rol de IAM para cuadernos de IA de SageMaker**

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

1. En el panel de navegación izquierdo, elija **Roles**.

1. Elija **Creación de rol**.

1. Para el tipo de rol, elija **Servicio de AWS**, busque y elija **SageMaker** y seleccione el caso de uso **SageMaker: ejecución**. A continuación, elija **Siguiente: Permisos)**.

1. En la página **Attach permissions policy (Asociar la política de permisos)**, elija las políticas que contengan los permisos necesarios; por ejemplo, **AmazonSageMakerFullAccess**. Elija **Siguiente: Revisar**.

   Si tiene previsto obtener acceso a orígenes y destinos de Amazon S3 que se cifran con SSE-KMS, asocie una política que permita a los blocs de notas descifrar los datos, como se muestra en el siguiente ejemplo. Para obtener más información, consulte [Proteger los datos utilizando cifrado del lado del servidor con claves administradas por AWS KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html). 

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

****  

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

------

1. Escriba un nombre para el rol en **Nombre de rol**. Para permitir que se transfiera el rol desde usuarios de la consola a la IA de SageMaker, use un nombre que tenga como prefijo la cadena `AWSGlueServiceSageMakerNotebookRole`. Las políticas proporcionadas por AWS Glue esperan que los roles de IAM comiencen con `AWSGlueServiceSageMakerNotebookRole`. De lo contrario, deberá agregar una política a sus usuarios para permitir que el permiso `iam:PassRole` para roles de IAM coincida con su convención de denominación. 

   Por ejemplo, ingrese `AWSGlueServiceSageMakerNotebookRole-Default`, y luego elija **Create role (Crear rol)**. 

1. Después de crear el rol, asocie la política que permite los permisos adicionales necesarios para crear cuadernos de IA de SageMaker desde AWS Glue.

   Abra el rol que acaba de crear, `AWSGlueServiceSageMakerNotebookRole-Default`, y elija **Attach policies (Asociar políticas)**. Asocie la política que creó, denominada `AWSGlueSageMakerNotebook`, al rol. 

# Ejemplos de políticas de control de acceso de AWS Glue
<a name="glue-policy-examples"></a>

En esta sección se incluyen ejemplos de las políticas de control de acceso basadas en identidad (IAM) y las políticas de recursos de AWS Glue.

**Contents**
+ [Ejemplos de políticas basadas en identidades para AWS Glue](security_iam_id-based-policy-examples.md)
  + [Prácticas recomendadas sobre las políticas](security_iam_id-based-policy-examples.md#security_iam_service-with-iam-policy-best-practices)
  + [Los permisos de nivel de recursos solo se aplican a objetos específicos de AWS Glue.](security_iam_id-based-policy-examples.md#glue-identity-based-policy-limitations)
  + [Uso de la consola de AWS Glue](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-console)
  + [Cómo permitir a los usuarios consultar sus propios permisos](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-view-own-permissions)
  + [Conceder permiso de solo lectura a una tabla](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-read-only-table-access)
  + [Filtrar tablas por permiso GetTables](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-filter-tables)
  + [Conceder acceso completo a una tabla y todas las particiones](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-full-access-tables-partitions)
  + [Controlar el acceso mediante prefijo de nombre y denegación explícita](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-deny-by-name-prefix)
  + [Conceder acceso mediante etiquetas](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-allow)
  + [Denegar acceso mediante etiquetas](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-deny)
  + [Usar etiquetas con las operaciones de API List y Batch](security_iam_id-based-policy-examples.md#tags-control-access-example-triggers-list-batch)
  + [Controlar la configuración mediante claves de condición o claves de contexto](security_iam_id-based-policy-examples.md#glue-identity-based-policy-condition-keys)
    + [Políticas que controlan la configuración mediante claves de condición](security_iam_id-based-policy-examples.md#glue-identity-based-policy-condition-key-vpc)
    + [Políticas que controlan la configuración mediante claves de contexto](security_iam_id-based-policy-examples.md#glue-identity-based-policy-context-key-glue)
  + [Cómo denegar a una identidad la capacidad de crear sesiones de vista previa de datos](security_iam_id-based-policy-examples.md#deny-data-preview-sessions-per-identity)
+ [Ejemplos de políticas basadas en recursos para AWS Glue](security_iam_resource-based-policy-examples.md)
  + [Consideraciones para el uso de políticas basadas en recursos con AWS Glue](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-considerations)
  + [Uso de una política de recursos para controlar el acceso en la misma cuenta](security_iam_resource-based-policy-examples.md#glue-policy-resource-policies-example-same-account)

# Ejemplos de políticas basadas en identidades para AWS Glue
<a name="security_iam_id-based-policy-examples"></a>

De forma predeterminada, los usuarios y los roles no tienen permiso para crear ni para modificar recursos de AWS Glue. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte [Creación de políticas de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las acciones y los tipos de recursos definidos por AWS Glue, incluido el formato de los ARN para cada tipo de recurso, consulte [Acciones, recursos y claves de condición para AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html) en la *Referencia de autorizaciones de servicio*.

**nota**  
Todos los ejemplos que se proporcionan en esta sección utilizan la región `us-west-2`. Puede reemplazarla por la región de AWS que desee usar.

**Topics**
+ [Prácticas recomendadas sobre las políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Los permisos de nivel de recursos solo se aplican a objetos específicos de AWS Glue.](#glue-identity-based-policy-limitations)
+ [Uso de la consola de AWS Glue](#security_iam_id-based-policy-examples-console)
+ [Cómo permitir a los usuarios consultar sus propios permisos](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Conceder permiso de solo lectura a una tabla](#security_iam_id-based-policy-examples-read-only-table-access)
+ [Filtrar tablas por permiso GetTables](#security_iam_id-based-policy-examples-filter-tables)
+ [Conceder acceso completo a una tabla y todas las particiones](#security_iam_id-based-policy-examples-full-access-tables-partitions)
+ [Controlar el acceso mediante prefijo de nombre y denegación explícita](#security_iam_id-based-policy-examples-deny-by-name-prefix)
+ [Conceder acceso mediante etiquetas](#tags-control-access-example-triggers-allow)
+ [Denegar acceso mediante etiquetas](#tags-control-access-example-triggers-deny)
+ [Usar etiquetas con las operaciones de API List y Batch](#tags-control-access-example-triggers-list-batch)
+ [Controlar la configuración mediante claves de condición o claves de contexto](#glue-identity-based-policy-condition-keys)
+ [Cómo denegar a una identidad la capacidad de crear sesiones de vista previa de datos](#deny-data-preview-sessions-per-identity)

## Prácticas recomendadas sobre las políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Las políticas basadas en identidades determinan si alguien puede crear o eliminar los recursos de AWS Glue en la cuenta y también si pueden acceder a ellos. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
+ **Comience a utilizar las políticas administradas de AWS y avance hacia permisos de privilegios mínimos**. Para empezar a conceder permisos a los usuarios y cargas de trabajo, utilice las *políticas administradas de AWS* que otorgan permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas administradas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las [políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o las [políticas administradas por AWS para funciones de tarea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) en la *Guía de usuario de IAM*.
+ **Aplique permisos de privilegio mínimo**: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como *permisos de privilegios mínimos*. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte [Políticas y permisos en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) en la *Guía del usuario de IAM*.
+ **Utilice condiciones en las políticas de IAM para restringir aún más el acceso**: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, CloudFormation. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la *Guía del usuario de IAM*.
+ **Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos**: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte [Validación de políticas con el Analizador de acceso de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) en la *Guía del usuario de IAM*.
+ **Solicite la autenticación multifactor (MFA)**: si se encuentra en una situación en la que necesite usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para obtener una mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte [Acceso seguro a la API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

## Los permisos de nivel de recursos solo se aplican a objetos específicos de AWS Glue.
<a name="glue-identity-based-policy-limitations"></a>

Solo puede definir un control detallado para los objetos específicos de AWS Glue. Por lo tanto, debe escribir la política de IAM de sus clientes de modo que las operaciones API que permiten utilizar nombres de recursos de Amazon (Amazon Resource Names, ARN) con la instrucción `Resource` no se mezclen con las operaciones API que no permiten el uso de ARN. 

Por ejemplo, la siguiente política de IAM permite operaciones de la API para `GetClassifier` y `GetJobRun`. Define el `Resource` como `*` porque AWS Glue no permite ARN para clasificadores y ejecuciones de trabajo. Dado que se permite utilizar ARN con determinadas operaciones API, como `GetDatabase` y `GetTable`, se pueden especificar ARN en la segunda mitad de la política.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetClassifier*",
        "glue:GetJobRun*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "glue:Get*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/default",
        "arn:aws:glue:us-east-1:111122223333:table/default/e*1*",
        "arn:aws:glue:us-east-1:111122223333:connection/connection2"
      ]
    }
  ]
}
```

------

Para ver una lista de objetos de AWS Glue que permiten el uso de ARN, consulte [Especificación de ARN del recurso de AWS Glue](glue-specifying-resource-arns.md). 

## Uso de la consola de AWS Glue
<a name="security_iam_id-based-policy-examples-console"></a>

Para acceder a la consola de AWS Glue, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y consultar detalles sobre los recursos de AWS Glue en su Cuenta de AWS. Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.

No es necesario conceder permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permita el acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.

Para asegurarse de que los usuarios y los roles puedan seguir utilizando la consola de AWS Glue, también asocie a las entidades la política administrada por AWS `ConsoleAccess` o `ReadOnly` de AWS Glue. Para obtener más información, consulte [Adición de permisos a un usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) en la *Guía del usuario de IAM*:

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.
+ AWS Identity and Access ManagementPermisos de (IAM) para enumerar y transferir roles.
+ AWS CloudFormationPermisos para trabajar con pilas.
+ Permisos de Amazon Elastic Compute Cloud (Amazon EC2) para enumerar VPC, subredes, grupos de seguridad, instancias y otros objetos.
+ 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.

Para obtener más información sobre los permisos que necesitan los usuarios para ver y trabajar con la consola de AWS Glue, consulte [Paso 3: Adjuntar una política a los usuarios o los grupos que accedan a AWS Glue](attach-policy-iam-user.md).

Si crea una política de IAM que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para los usuarios con esa política de IAM. Para asegurarse de que esos usuarios puedan seguir usando la consola de AWS Glue, asocie también la política administrada `AWSGlueConsoleFullAccess`, según se explica en [AWS Políticas administradas (predefinidas) por para AWS Glue](security-iam-awsmanpol.md#access-policy-examples-aws-managed).

## Cómo permitir a los usuarios consultar sus propios permisos
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de AWS.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Conceder permiso de solo lectura a una tabla
<a name="security_iam_id-based-policy-examples-read-only-table-access"></a>

La siguiente política concede permiso de solo lectura a una tabla `books` en la base de datos `db1`. Para obtener más información sobre nombres de recursos de Amazon (Amazon Resource Names, ARN), consulte [ARN de Data Catalog](glue-specifying-resource-arns.md#data-catalog-resource-arns).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesActionOnBooks",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables",
        "glue:GetTable"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/books"
      ]
    }
  ]
}
```

------

Esta política concede permisos de solo lectura a una tabla denominada `books` en la base de datos denominada `db1`. Para conceder un permiso `Get` a una tabla, también se requiere permiso para el catálogo y los recursos de la base de datos. 

La siguiente política concede los permisos mínimos necesarios crear una tabla `tb1` en la base de datos `db1`:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:CreateTable"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:table/db1/tbl1",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:catalog"
      ]
    }
  ]
}
```

------

## Filtrar tablas por permiso GetTables
<a name="security_iam_id-based-policy-examples-filter-tables"></a>

Supongamos que hay tres tablas: `customers`, `stores` y `store_sales` en base de datos `db1`. La siguiente política concede permiso `GetTables` a `stores` y `store_sales`, pero no a `customers`. Cuando llama a `GetTables` con esta política, el resultado contiene únicamente las dos tablas autorizadas (la tabla `customers` no se devuelve).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesExample",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/store_sales",
        "arn:aws:glue:us-east-1:111122223333:table/db1/stores"
      ]
    }
  ]
}
```

------

Puede simplificar la política anterior mediante `store*` para hacer coincidir los nombres de las tablas que comienzan por `store`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesExample2",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/store*"
      ]
    }
  ]
}
```

------

Del mismo modo, utilizando `/db1/*` para que coincida con todas las tablas de `db1`, la siguiente política concede a `GetTables` acceso a todas las tablas de `db1`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesReturnAll",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/*"
      ]
    }
  ]
}
```

------

Si no se proporciona un ARN de tabla, se lleva a cabo correctamente una llamada a `GetTables`, pero devuelve una lista vacía.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesEmptyResults",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1"
      ]
    }
  ]
}
```

------

Si el ARN de base de datos no se encuentra en la política, se produce un error con una llamada a `GetTables` con `AccessDeniedException`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GetTablesAccessDeny",
      "Effect": "Allow",
      "Action": [
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:table/db1/*"
      ]
    }
  ]
}
```

------

## Conceder acceso completo a una tabla y todas las particiones
<a name="security_iam_id-based-policy-examples-full-access-tables-partitions"></a>

La siguiente política concede todos los permisos a una tabla denominada `books` en la base de datos `db1`. Esto incluye permisos de lectura y escritura en la propia tabla, en las versiones archivadas de ella y en todas sus particiones.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "FullAccessOnTable",
      "Effect": "Allow",
      "Action": [
        "glue:CreateTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:BatchDeleteTable",
        "glue:GetTableVersion",
        "glue:GetTableVersions",
        "glue:DeleteTableVersion",
        "glue:BatchDeleteTableVersion",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/books"
      ]
    }
  ]
}
```

------

La política anterior se puede simplificar en la práctica.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "FullAccessOnTable",
      "Effect": "Allow",
      "Action": [
        "glue:*Table*",
        "glue:*Partition*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1",
        "arn:aws:glue:us-east-1:111122223333:table/db1/books"
      ]
    }
  ]
}
```

------

Tenga en cuenta que la granularidad mínima del control de acceso detallado se encuentra en el nivel de tabla. Esto significa que no puede conceder a un usuario acceso a algunas particiones de una tabla pero no a otras, o a algunas columnas de la tabla pero no a otras. Un usuario tiene acceso a toda una tabla o a nada de ella.

## Controlar el acceso mediante prefijo de nombre y denegación explícita
<a name="security_iam_id-based-policy-examples-deny-by-name-prefix"></a>

En este ejemplo, supongamos que las bases de datos y las tablas de su AWS Glue Data Catalog están organizadas con prefijos de nombre. Las bases de datos en la fase de desarrollo tienen el prefijo de nombre `dev-` y las que están en fase de producción tienen el prefijo de nombre `prod-`. Utilice la siguiente política para conceder a los desarrolladores acceso completo a todas las bases de datos, tablas, UDF, etc., que tengan el prefijo `dev-`. Sin embargo, debe conceder acceso de solo lectura a todo lo que incluya el prefijo `prod-`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DevAndProdFullAccess",
      "Effect": "Allow",
      "Action": [
        "glue:*Database*",
        "glue:*Table*",
        "glue:*Partition*",
        "glue:*UserDefinedFunction*",
        "glue:*Connection*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/dev-*",
        "arn:aws:glue:us-east-1:111122223333:database/prod-*",
        "arn:aws:glue:us-east-1:111122223333:table/dev-*/*",
        "arn:aws:glue:us-east-1:111122223333:table/*/dev-*",
        "arn:aws:glue:us-east-1:111122223333:table/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:table/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/dev-*/*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/*/dev-*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:connection/dev-*",
        "arn:aws:glue:us-east-1:111122223333:connection/prod-*"
      ]
    },
    {
      "Sid": "ProdWriteDeny",
      "Effect": "Deny",
      "Action": [
        "glue:*Create*",
        "glue:*Update*",
        "glue:*Delete*"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:database/prod-*",
        "arn:aws:glue:us-east-1:111122223333:table/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:table/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/prod-*/*",
        "arn:aws:glue:us-east-1:111122223333:userDefinedFunction/*/prod-*",
        "arn:aws:glue:us-east-1:111122223333:connection/prod-*"
      ]
    }
  ]
}
```

------

La segunda instrucción de la política anterior utiliza explícito `deny`. Puede utilizar `deny` explícito para sobrescribir los permisos `allow` que se conceden al principal. Esto le permite bloquear el acceso a los recursos de vital importancia y evitar que otra política conceda accidentalmente acceso a ellos.

En el ejemplo anterior, aunque la primera instrucción concede acceso completo a los recursos de `prod-`, la segunda instrucción revoca explícitamente el acceso de escritura a ellos, lo que deja acceso de solo lectura a los recursos de `prod-`.

## Conceder acceso mediante etiquetas
<a name="tags-control-access-example-triggers-allow"></a>

Por ejemplo, supongamos que desea limitar el acceso de un usuario específico de la cuenta denominado `t2` a un desencadenador `Tom`. Todos los demás usuarios, entre los que se incluye `Sam`, tienen acceso para desencadenar `t1`. Los desencadenadores `t1` y `t2` tienen las siguientes propiedades. 

```
aws glue get-triggers
{
    "Triggers": [
        {
            "State": "CREATED",
            "Type": "SCHEDULED",
            "Name": "t1",
            "Actions": [
                {
                    "JobName": "j1"
                }
            ],
            "Schedule": "cron(0 0/1 * * ? *)"
        },
        {
            "State": "CREATED",
            "Type": "SCHEDULED",
            "Name": "t2",
            "Actions": [
                {
                    "JobName": "j1"
                }
            ],
            "Schedule": "cron(0 0/1 * * ? *)"
        }
    ]
}
```

El administrador de AWS Glue asoció un valor de etiqueta `Tom` (`aws:ResourceTag/Name": "Tom"`) al desencadenador `t2`. El administrador de AWS Glue también le proporcionó a Tom una política de IAM con una declaración de condición basada en la etiqueta. Por tanto, Tom solamente puede utilizar una operación de AWS Glue que actúe sobre los recursos con el valor de etiqueta `Tom`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "glue:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Name": "Tom"
        }
      }
    }
  ]
}
```

------

Cuando Tom intenta obtener acceso al desencadenador `t1`, recibe un mensaje de acceso denegado. Sin embargo, puede recuperar correctamente el desencadenador `t2`. 

```
aws glue get-trigger --name t1

An error occurred (AccessDeniedException) when calling the GetTrigger operation: User: Tom is not authorized to perform: glue:GetTrigger on resource: arn:aws:glue:us-east-1:123456789012:trigger/t1

aws glue get-trigger --name t2
{
    "Trigger": {
        "State": "CREATED",
        "Type": "SCHEDULED",
        "Name": "t2",
        "Actions": [
            {
                "JobName": "j1"
            }
        ],
        "Schedule": "cron(0 0/1 * * ? *)"
    }
}
```

Tom no puede usar la operación de API `GetTriggers` plural para mostrar los desencadenadores, ya que esta operación no admite el filtrado de etiquetas.

Para proporcionar a Tom acceso a `GetTriggers`, el administrador de AWS Glue crea una política que estructura los permisos en dos secciones. Una sección permite que Tom tenga acceso a todos los desencadenadores con la operación API `GetTriggers`. La segunda sección permite que Tom tenga acceso a las operaciones API etiquetadas con el valor `Tom`. Con esta política, Tom puede utilizar `GetTriggers` y `GetTrigger` para obtener acceso al desencadenador `t2`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "glue:GetTriggers",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "glue:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Name": "Tom"
        }
      }
    }
  ]
}
```

------

## Denegar acceso mediante etiquetas
<a name="tags-control-access-example-triggers-deny"></a>

Otra estrategia para la política de recursos consiste en denegar el acceso a los recursos explícitamente.

**importante**  
Las políticas de denegación explícita no funcionan con las operaciones de API plurales, como `GetTriggers`. 

En la siguiente política de ejemplo, se permiten todas las operaciones de trabajo de AWS Glue. Sin embargo, la segunda declaración `Effect` niega *explícitamente* el acceso a los trabajos etiquetados con la clave `Team` y el valor `Special`. 

Cuando un administrador asocia la siguiente política a una identidad, esta puede acceder a todos los trabajos, *excepto* los que están etiquetados con la clave `Team` y el valor `Special`. 

## Usar etiquetas con las operaciones de API List y Batch
<a name="tags-control-access-example-triggers-list-batch"></a>

Un tercer enfoque para elaborar una política de recursos consiste en permitir el acceso a los recursos utilizando una operación API `List` que muestre los recursos de un valor de etiqueta. A continuación, se utilizará la operación API `Batch` correspondiente, que permitirá obtener acceso a los detalles de recursos específicos. Con este enfoque, el administrador no necesita permitir el acceso las operaciones API `GetCrawlers`, `GetDevEndpoints`, `GetJobs` o `GetTriggers` plurales. En su lugar, puede proporcionar la capacidad para mostrar los recursos con las siguientes operaciones API:
+ `ListCrawlers`
+ `ListDevEndpoints`
+ `ListJobs`
+ `ListTriggers`

También puede proporcionar la posibilidad de obtener detalles sobre recursos específicos con las siguientes operaciones API:
+ `BatchGetCrawlers`
+ `BatchGetDevEndpoints`
+ `BatchGetJobs`
+ `BatchGetTriggers`

Como administrador, para utilizar este enfoque, puede realizar el siguiente procedimiento:

1. Añadir etiquetas a los rastreadores, puntos de enlace de desarrollo, trabajos y desencadenadores.

1. Denegar a los usuarios el acceso a las operaciones API `Get`, como `GetCrawlers`, `GetDevEndponts`, `GetJobs` y `GetTriggers`.

1. Para que los usuarios puedan saber a qué recursos etiquetados tienen acceso, proporcióneles acceso a las operaciones API `List`, como `ListCrawlers`, `ListDevEndponts`, `ListJobs` y `ListTriggers`.

1. Denegar a los usuarios el acceso a las API de etiquetado de AWS Glue, como `TagResource` y `UntagResource`.

1. Permitir el acceso de los usuarios a los detalles de los recursos con operaciones API `BatchGet`, como `BatchGetCrawlers`, `BatchGetDevEndponts`, `BatchGetJobs` y `BatchGetTriggers`.

Por ejemplo, cuando llame a la operación `ListCrawlers`, proporcione un valor de etiqueta que coincida con el nombre de usuario. El resultado es una lista de rastreadores que coincide con los valores de etiquetas proporcionados. Proporcione la lista de nombres a `BatchGetCrawlers` para obtener información sobre cada uno de los rastreadores con la etiqueta especificada.

Por ejemplo, si Tom solo puede recuperar información sobre los desencadenadores con la etiqueta `Tom`, el administrador puede agregar etiquetas a los desencadenadores de `Tom`, denegar a todos los usuarios el acceso a la operación de API `GetTriggers` y permitir a todos los usuarios el acceso a `ListTriggers` y `BatchGetTriggers`. 

A continuación, se muestra la política de recursos que al administrador de AWS Glue concede a Tom. En la primera sección de la política, todas las operaciones API de AWS Glue están denegadas para `GetTriggers`. En la segunda sección de la política, la operación API `ListTriggers` está permitida en todos los recursos. Sin embargo, en la tercera sección, los recursos con la etiqueta `Tom` tienen permitido el acceso mediante `BatchGetTriggers`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "glue:GetTriggers",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListTriggers"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "glue:BatchGetTriggers"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Name": "Tom"
        }
      }
    }
  ]
}
```

------

Si utilizamos los mismos desencadenadores que en el ejemplo anterior, Tom tendrá acceso al desencadenador `t2`, pero no al desencadenador `t1`. En el siguiente ejemplo, se muestran los resultados cuando Tom intenta obtener acceso a `t1` y `t2` con `BatchGetTriggers`. 

```
aws glue batch-get-triggers --trigger-names t2
{
    "Triggers": {
        "State": "CREATED",
        "Type": "SCHEDULED",
        "Name": "t2",
        "Actions": [
            {
                "JobName": "j2"
            }
        ],
        "Schedule": "cron(0 0/1 * * ? *)"
    }
}

aws glue batch-get-triggers  --trigger-names t1

An error occurred (AccessDeniedException) when calling the BatchGetTriggers operation: No access to any requested resource.
```

En el siguiente ejemplo, se muestran los resultados cuando Tom intenta obtener acceso a los desencadenadores `t2` y `t3` (que no existe) en la misma llamada a `BatchGetTriggers`. Tenga en cuenta que, como Tom tiene acceso al desencadenador `t2` y dicho desencadenador existe, solo se devuelve `t2`. Aunque Tom tenga autorización para obtener acceso al desencadenador `t3`, el desencadenador `t3` no existe, por lo que, al devolver la respuesta, `t3` estará incluido en una lista de `"TriggersNotFound": []`. 

```
aws glue batch-get-triggers --trigger-names t2 t3
{
    "Triggers": {
        "State": "CREATED",
        "Type": "SCHEDULED",
        "Name": "t2",
        "Actions": [
            {
                "JobName": "j2"
            }
        ],
        "TriggersNotFound": ["t3"],
        "Schedule": "cron(0 0/1 * * ? *)"
    }
}
```

## Controlar la configuración mediante claves de condición o claves de contexto
<a name="glue-identity-based-policy-condition-keys"></a>

Puede utilizar claves de condición o claves de contexto al conceder permisos para crear y actualizar trabajos. En estas secciones, se analizan las claves:
+ [Políticas que controlan la configuración mediante claves de condición](#glue-identity-based-policy-condition-key-vpc)
+ [Políticas que controlan la configuración mediante claves de contexto](#glue-identity-based-policy-context-key-glue)

### Políticas que controlan la configuración mediante claves de condición
<a name="glue-identity-based-policy-condition-key-vpc"></a>

AWS Glue proporciona tres claves de condición de IAM: `glue:VpcIds`, `glue:SubnetIds` y `glue:SecurityGroupIds`. Puede utilizar claves de condición en políticas de IAM al conceder permisos para crear y actualizar trabajos. Puede utilizar esta configuración para asegurarse de que no se creen trabajos ni sesiones (ni se actualicen) para ejecutarse fuera del entorno de VPC deseado. La información de configuración de la VPC no es una entrada directa de la solicitud `CreateJob`, sino que se infiere del campo “conexiones” del trabajo que apunta a una conexión de AWS Glue.

**Ejemplo de uso**  
Cree una conexión de tipo de red de AWS Glue denominada “traffic-monitored-connection” con el ID de la VPC deseado: “vpc-id1234”, SubnetIds y SecurityGroupIds.

Especifique la condición de las claves de condición para las acciones `CreateJob` y `UpdateJob` en la política de IAM.

```
{
  "Effect": "Allow",
  "Action": [
    "glue:CreateJob",
    "glue:UpdateJob"
  ],
  "Resource": [
    "*"
  ],
  "Condition": {
    "ForAnyValue:StringLike": {
      "glue:VpcIds": [
        "vpc-id1234"
      ]
    }
  }
}
```

 Puede establecer una política de IAM similar para prohibir la creación de un trabajo de AWS Glue sin especificar información de conexión. 

**Restricción de sesiones en las VPC**

 Para hacer que las sesiones creadas se ejecuten en una VPC específica, debe restringir el permiso del rol al agregar un efecto `Deny` a la acción `glue:CreateSession` con la condición de que glue:vpc-id no sea igual a vpc-<123>. Por ejemplo: 

```
"Effect": "Deny",
"Action": [
    "glue:CreateSession"
 ],
"Condition": {
    "StringNotEquals" : {"glue:VpcIds" : ["vpc-123"]} 
}
```

 También puede hacer que las sesiones creadas se ejecuten en una VPC al agregar un `Deny` efecto en la `glue:CreateSession` acción con la condición de que `glue:vpc-id` sea nulo. Por ejemplo: 

```
{
    "Effect": "Deny",
    "Action": [
        "glue:CreateSession"
    ],
      "Condition": {
        "Null": {"glue:VpcIds": true}
    }
}, 
{
    "Effect": "Allow",
    "Action": [
        "glue:CreateSession"
    ],
    "Resource": ["*"]
}
```

### Políticas que controlan la configuración mediante claves de contexto
<a name="glue-identity-based-policy-context-key-glue"></a>

AWS Glue proporciona una clave de contexto (`glue:CredentialIssuingService= glue.amazonaws.com`) a cada sesión de rol que AWS Glue pone a disposición del punto de conexión del trabajo y del desarrollador. Esto le permite implementar controles de seguridad para las acciones llevadas a cabo por scripts de AWS Glue. AWS Glue proporciona otra clave de contexto (`glue:RoleAssumedBy=glue.amazonaws.com`) a cada sesión de rol en la que AWS Glue realice una llamada a otro servicio de AWS en nombre del cliente (no mediante un punto de conexión del trabajo o el desarrollador, sino directamente mediante el servicio de AWS Glue). 

**Ejemplo de uso**  
Especifique el permiso condicional en una política de IAM y asócielo al rol que utilizará un trabajo de AWS Glue. Esto garantiza que se permitan o denieguen determinadas acciones en función de si la sesión de rol se utiliza para el entorno de tiempo de ejecución de un trabajo de AWS Glue.

```
{
    "Effect": "Allow",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {
        "StringEquals": {
            "glue:CredentialIssuingService": "glue.amazonaws.com"
        }
    }
}
```

## Cómo denegar a una identidad la capacidad de crear sesiones de vista previa de datos
<a name="deny-data-preview-sessions-per-identity"></a>

En esta sección, se incluye un ejemplo de política de IAM que se usa para denegar a una identidad la capacidad de crear sesiones de vista previa de datos. Adjunte esta política a la identidad, que es independiente del rol que se usa en la sesión de vista previa de datos durante su ejecución.

```
{
    "Sid": "DatapreviewDeny",
    "Effect": "Deny",
     "Action": [
           "glue:CreateSession"
     ],
     "Resource": [
          "arn:aws:glue:*:*:session/glue-studio-datapreview*"
      ]
 }
```

# Ejemplos de políticas basadas en recursos para AWS Glue
<a name="security_iam_resource-based-policy-examples"></a>

Esta sección contiene ejemplos de políticas basadas en recursos, incluidas las políticas que conceden acceso entre cuentas.

Los ejemplos utilizan la AWS Command Line Interface (AWS CLI) para interactuar con las operaciones de API del servicio AWS Glue. Puede realizar las mismas operaciones en la consola de AWS Glue o mediante uno de los SDK de AWS.

**importante**  
Al cambiar una política de recursos de AWS Glue, puede revocar accidentalmente permisos de los usuarios existentes de AWS Glue en su cuenta y causar interrupciones inesperadas. Pruebe estos ejemplos únicamente en las cuentas de desarrollo o prueba y asegúrese de que no rompen ningún flujo de trabajo existente antes de realizar los cambios.

**Topics**
+ [Consideraciones para el uso de políticas basadas en recursos con AWS Glue](#security_iam_resource-based-policy-examples-considerations)
+ [Uso de una política de recursos para controlar el acceso en la misma cuenta](#glue-policy-resource-policies-example-same-account)

## Consideraciones para el uso de políticas basadas en recursos con AWS Glue
<a name="security_iam_resource-based-policy-examples-considerations"></a>

**nota**  
Tanto las políticas de IAM como una política de recursos de AWS Glue tardan unos segundos en propagarse. Después de asociar una nueva política, es posible que observe que la política anterior sigue en vigor hasta que la nueva política se haya propagado por el sistema.

Puede utilizar un documento de política escrito en formato JSON para crear o modificar una política de recursos. La sintaxis de la política es la misma que para una política de IAM basada en identidades (consulte [Referencia de políticas JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)), con las siguientes excepciones:
+ Un bloque `"Principal"` o `"NotPrincipal"` es obligatorio para cada instrucción de política.
+ `"Principal"` o `"NotPrincipal"` deben identificar a las entidades principales válidas. Los patrones de comodín (como `arn:aws:iam::account-id:user/*`) no están permitidos.
+ El bloque `"Resource"` en la política requiere que todos los ARN de recursos se correspondan con la siguiente sintaxis de expresiones regulares (donde el primer `%s` es la *región* y el segundo `%s` es el *ID de cuenta*):

  ```
  *arn:aws:glue:%s:%s:(\*|[a-zA-Z\*]+\/?.*)
  ```

  Por ejemplo, `arn:aws:glue:us-west-2:account-id:*` y `arn:aws:glue:us-west-2:account-id:database/default` están permitidos, pero `*` no está permitido.
+ A diferencia de las políticas basadas en identidades, una política de recursos de AWS Glue solo debe contener nombres de recursos de Amazon (ARN) que pertenecen al catálogo al que se asocia dicha política. Estos ARN siempre empiezan por `arn:aws:glue:`.
+ Una política no puede impedir que la identidad que la cree genere o modifique otras políticas.
+ Un documento JSON de política de recursos no puede superar los 10 KB de tamaño.

## Uso de una política de recursos para controlar el acceso en la misma cuenta
<a name="glue-policy-resource-policies-example-same-account"></a>

En este ejemplo, un usuario administrador en la cuenta A crea una política de recursos que concede al usuario de IAM, `Alice`, de la cuenta A un acceso completo al catálogo. Alice no tiene ninguna política de IAM asociada.

Para ello, el usuario administrador ejecuta el siguiente comando de la AWS CLI.

```
# Run as admin of Account A
$ aws glue put-resource-policy --profile administrator-name --region us-west-2 --policy-in-json '{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-A-id:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:*"
      ],
      "Resource": [
        "arn:aws:glue:us-west-2:account-A-id:*"
      ]
    }
  ]
}'
```

En lugar de especificar el documento de política JSON como parte de su comando de AWS CLI, puede guardar un documento de política en un archivo y hacer referencia a la ruta del archivo en el comando de AWS CLI, con el prefijo `file://`. A continuación, se muestra un ejemplo de cómo podría hacerlo.

```
$ echo '{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-A-id:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:*"
      ],
      "Resource": [
        "arn:aws:glue:us-west-2:account-A-id:*"
      ]
    }
  ]
}' > /temp/policy.json

$ aws glue put-resource-policy --profile admin1 \
    --region us-west-2 --policy-in-json file:///temp/policy.json
```

Después de que esta política de recurso se haya propagado, Alice puede acceder a todos los recursos de AWS Glue de la cuenta A; de la siguiente manera.

```
# Run as user Alice
$ aws glue create-database --profile alice --region us-west-2 --database-input '{
    "Name": "new_database",
    "Description": "A new database created by Alice",
    "LocationUri": "s3://amzn-s3-demo-bucket"
}'

$ aws glue get-table --profile alice --region us-west-2 --database-name "default" --table-name "tbl1"}
```

En respuesta a la llamada `get-table` de Alice, el servicio de AWS Glue devuelve lo siguiente.

```
{
  "Table": {
    "Name": "tbl1",
    "PartitionKeys": [],
    "StorageDescriptor": {
        ......
    },
    ......
  }
}
```

# Concesión de políticas administradas de AWS para AWS Glue
<a name="security-iam-awsmanpol"></a>

Una política administrada por AWS es una política independiente que AWS crea y administra. Las políticas administradas por AWS se diseñan para ofrecer permisos para muchos casos de uso comunes, por lo que puede empezar a asignar permisos a los usuarios, grupos y roles.

Considere que es posible que las políticas administradas por AWS no concedan permisos de privilegio mínimo para los casos de uso concretos, ya que están disponibles para que las utilicen todos los clientes de AWS. Se recomienda definir [políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) específicas para sus casos de uso a fin de reducir aún más los permisos.

No puede cambiar los permisos definidos en las políticas administradas AWS. Si AWS actualiza los permisos definidos en una política administrada de AWS, la actualización afecta a todas las identidades de entidades principales (usuarios, grupos y roles) a las que está asociada la política. Lo más probable es que AWS actualice una política administrada de AWS cuando se lance un nuevo Servicio de AWS o las operaciones de la API nuevas estén disponibles para los servicios existentes.

Para obtener más información, consulte [Políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) en la *Guía del usuario de IAM*.

## AWS Políticas administradas (predefinidas) por para AWS Glue
<a name="access-policy-examples-aws-managed"></a>

AWS aborda muchos casos de uso comunes dando políticas de IAM independientes creadas y administradas por AWS. Estas políticas administradas por AWS conceden los permisos necesarios para casos de uso comunes, lo que le evita tener que investigar los permisos necesarios. Para obtener más información, consulte [Políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) en la *Guía del usuario de IAM*. 

Las siguientes políticas administradas de AWS, que puede asociar a las identidades de su cuenta, son específicas de AWS Glue y se agrupan según los escenarios de caso de uso:
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): concede acceso total a los recursos de AWS Glue cuando una identidad a la que está asociada la política utiliza laConsola de administración de AWS. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Por lo general, esta política se asocia a los usuarios de la consola de AWS Glue.
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole): da acceso a recursos que precisan diversos procesos de AWS Glue para ejecutarse en su nombre. Entre estos recursos se incluyen AWS Glue, Amazon S3, IAM, CloudWatch Logs y Amazon EC2. Si aplica la convención de nomenclatura en los recursos especificados en esta política, los procesos de AWS Glue tienen los permisos necesarios. Normalmente, esta política se asocia a los roles que se especifican a la hora de definir rastreadores, trabajos y puntos de conexión de desarrollo.
+ [AwsGlueSessionUserRestrictedServiceRole](https://console.aws.amazon.com/iam/home#policies/details/arn:aws:iam::aws:policy%2Fservice-role%2FAwsGlueSessionUserRestrictedServiceRole): da acceso completo a todos los recursos de AWS Glue, a excepción de las sesiones. Permite a los usuarios crear y utilizar solo las sesiones interactivas que están asociadas al usuario. Esta política incluye otros permisos que AWS Glue necesita para administrar recursos de AWS Glue en otros servicios de AWS. La política también permite agregar etiquetas a recursos de AWS Glue en otros servicios de AWS.
**nota**  
Para obtener todos los beneficios de seguridad, no conceda esta política a un usuario al que se le haya asignado la política `AWSGlueServiceRole`, `AWSGlueConsoleFullAccess` o `AWSGlueConsoleSageMakerNotebookFullAccess`.
+ [AwsGlueSessionUserRestrictedPolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AwsGlueSessionUserRestrictedPolicy): proporciona acceso para crear sesiones interactivas de AWS Glue mediante la operación de la API `CreateSession` solo si se proporcionan un “propietario” de la clave de etiqueta y un valor que coincida con el ID de usuario de AWS del asignado. Esta política de identidad está asociada al usuario de IAM que invoca a la operación de la API `CreateSession`. Esta política también permite al asignado interactuar con los recursos de sesión interactiva de AWS Glue creados con una etiqueta de “propietario” y un valor que coincide con su ID de usuario de AWS. Esta política deniega el permiso para cambiar o eliminar las etiquetas de “propietario” de un recurso de sesión de AWS Glue luego de que se crea la sesión.
**nota**  
Para obtener los beneficios de seguridad completos, no conceda esta política a un usuario al que se le haya asignado la política `AWSGlueServiceRole`, `AWSGlueConsoleFullAccess` o `AWSGlueConsoleSageMakerNotebookFullAccess`.
+ [AwsGlueSessionUserRestrictedNotebookServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AwsGlueSessionUserRestrictedNotebookServiceRole): proporciona suficiente acceso a la sesión del cuaderno de AWS Glue Studio para interactuar con recursos de sesión interactivos de AWS Glue específicos. Estos son recursos se crean con el valor de etiqueta de “propietario” que coincide con el ID de usuario de AWS de la entidad principal (usuario o rol de IAM) que crea el cuaderno. Para obtener más información sobre estas etiquetas, consulte el gráfico [Valores clave de la entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infotouse) en la *Guía del usuario de IAM*.

  Esta política de rol de servicio se asocia al rol que se especifica con un comando mágico dentro del cuaderno o que se transfiere como un rol a la operación de la API `CreateSession`. Esta política también permite a la entidad principal crear una sesión interactiva de AWS Glue desde la interfaz del cuaderno de AWS Glue Studio solo si una clave de etiqueta de “propietario” y un valor coinciden con el ID de usuario de AWS de la entidad principal. Esta política deniega el permiso para cambiar o eliminar las etiquetas de “propietario” de un recurso de sesión de AWS Glue luego de que se crea la sesión. Esta política también incluye permisos para escribir y leer desde los buckets de Amazon S3, escribir registros de CloudWatch, y crear y eliminar etiquetas para los recursos de Amazon EC2 que utiliza AWS Glue.
**nota**  
Para obtener todos los beneficios de seguridad, no conceda esta política a un rol al que se le haya asignado la política `AWSGlueServiceRole`, `AWSGlueConsoleFullAccess` o `AWSGlueConsoleSageMakerNotebookFullAccess`.
+ [AwsGlueSessionUserRestrictedNotebookPolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AwsGlueSessionUserRestrictedNotebookPolicy): proporciona acceso para crear una sesión interactiva de AWS Glue desde la interfaz del cuaderno de AWS Glue Studio solo si hay una clave de etiqueta de “propietario” y un valor que coinciden con el ID de usuario de AWS de la entidad principal (usuario o rol de IAM) que crea el cuaderno. Para obtener más información sobre estas etiquetas, consulte el gráfico [Valores clave de la entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infotouse) en la *Guía del usuario de IAM*.

  Esta política se adjunta a la entidad principal (usuario o rol de IAM) que crea sesiones a partir de la interfaz del cuaderno de AWS Glue Studio. Esta política también permite un acceso suficiente al cuaderno de AWS Glue Studio para interactuar con recursos de sesión interactivos de AWS Glue específicos. Se trata de recursos que se crean con el valor de la etiqueta “propietario” que coincide con el ID de usuario de AWS de la entidad principal. Esta política deniega el permiso para cambiar o eliminar las etiquetas de “propietario” de un recurso de sesión de AWS Glue luego de que se crea la sesión.
+ [AWSGlueServiceNotebookRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceNotebookRole): concede acceso a sesiones de AWS Glue iniciadas en un cuaderno de AWS Glue Studio. Esta política permite enumerar y obtener información de sesión de todas las sesiones, pero solo permite a los usuarios crear y utilizar las sesiones etiquetadas con su ID de usuario de AWS. Esta política deniega el permiso para cambiar o eliminar etiquetas de “propietario” de recursos de sesión de AWS Glue etiquetados con sus ID de AWS. 

  Asigne esta política al usuario de AWS que crea trabajos con la interfaz del bloc de notas en AWS Glue Studio. 
+ [AWSGlueConsoleSageMakerNotebookFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleSageMakerNotebookFullAccess): concede acceso completo a los recursos de AWS Glue e IA de SageMaker cuando la identidad a la que la política está asociada utiliza la Consola de administración de AWS. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Por lo general, esta política se asocia a los usuarios de la consola de AWS Glue que administran los cuadernos de IA de SageMaker.
+ [AWSGlueSchemaRegistryFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueSchemaRegistryFullAccess): concede acceso completo a recursos de Schema Registry de AWS Glue cuando la identidad a la que la política está asociada utiliza la Consola de administración de AWS o la AWS CLI. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Por lo general, esta política se asocia a los usuarios de la consola de AWS Glue o la AWS CLI que administran Schema Registry de AWS Glue.
+ [AWSGlueSchemaRegistryReadonlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueSchemaRegistryReadonlyAccess): concede acceso de solo lectura a recursos de Schema Registry de AWS Glue cuando una identidad a la que la política está asociada utiliza la Consola de administración de AWS o la AWS CLI. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Por lo general, esta política se asocia a los usuarios de la consola de AWS Glue o la AWS CLI que utilizan Schema Registry de AWS Glue.

**nota**  
Para consultar estas políticas de permisos, inicie sesión en la consola de IAM y busque las políticas específicas.

También puede crear sus propias políticas de IAM personalizadas para conceder permisos a las acciones y recursos de AWS Glue. Puede asociar estas políticas personalizadas a los grupos o usuarios de IAM que requieran esos permisos. 

Para crear una conexión con una configuración de VPC mientras se utiliza un rol de IAM personalizado, este debe tener las siguientes acciones de acceso a la VPC:
+ secretsmanager:GetSecretValue
+ secretsmanager:PutSecretValue
+ secretsmanager:DescribeSecret
+ ec2:CreateNetworkInterface
+ ec2:DeleteNetworkInterface
+ ec2:DescribeNetworkInterfaces
+ ec2:DescribeSubnets

## AWS Glue se actualiza a las políticas administradas de AWS
<a name="security-iam-awsmanpol-updates"></a>



Es posible consultar los detalles sobre las actualizaciones de AWS las políticas administradas de para AWS Glue debido a que este servicio comenzó a realizar el seguimiento de estos cambios. Para obtener alertas automáticas sobre cambios en esta página, suscríbase a la fuente RSS en la página de historial de documentos de AWS Glue.




| Cambio | Descripción | Fecha | 
| --- | --- | --- | 
| AWSGlueSessionUserRestrictedNotebookPolicy: actualización menor de una política ya existente. | Agregue el permiso de acción glue:TagResource en la clave de la etiqueta de propietario. Necesario para admitir tag-on-create para las sesiones con clave de etiqueta de propietario. | 30 de agosto de 2024 | 
| AWSGlueSessionUserRestrictedNotebookServiceRole: actualización menor de una política existente. | Agregue el permiso de acción glue:TagResource en la clave de la etiqueta de propietario. Necesario para admitir tag-on-create para las sesiones con clave de etiqueta de propietario. | 30 de agosto de 2024 | 
| AWSGlueSessionUserRestrictedPolicy: actualización menor de una política existente. | Agregue el permiso de acción glue:TagResource en la clave de la etiqueta de propietario. Necesario para admitir tag-on-create para las sesiones con clave de etiqueta de propietario. | 5 de agosto de 2024 | 
| AWSGlueSessionUserRestrictedServiceRole: actualización menor de una política existente. | Agregue el permiso de acción glue:TagResource en la clave de la etiqueta de propietario. Necesario para admitir tag-on-create para las sesiones con clave de etiqueta de propietario. | 5 de agosto de 2024 | 
| AWSGlueSessionUserRestrictedPolicy: actualización menor de una política existente. | Agregar glue:StartCompletion y glue:GetCompletion a la política. Es necesaria para la integración de datos de Amazon Q en AWS Glue. | 30 de abril de 2024 | 
| AWSGlueSessionUserRestrictedNotebookServiceRole: actualización menor de una política existente. | Agregar glue:StartCompletion y glue:GetCompletion a la política. Es necesaria para la integración de datos de Amazon Q en AWS Glue. | 30 de abril de 2024 | 
| AWSGlueSessionUserRestrictedServiceRole: actualización menor de una política existente. | Agregar glue:StartCompletion y glue:GetCompletion a la política. Es necesaria para la integración de datos de Amazon Q en AWS Glue. | 30 de abril de 2024 | 
| AWSGlueServiceNotebookRole: actualización menor de una política ya existente. | Agregar glue:StartCompletion y glue:GetCompletion a la política. Es necesaria para la integración de datos de Amazon Q en AWS Glue. | 30 de enero de 2024 | 
| AWSGlueSessionUserRestrictedNotebookPolicy: actualización menor de una política ya existente. | Agregar glue:StartCompletion y glue:GetCompletion a la política. Es necesaria para la integración de datos de Amazon Q en AWS Glue. | 29 de noviembre de 2023 | 
| AWSGlueServiceNotebookRole: actualización menor de una política ya existente. | Agregar codewhisperer:GenerateRecommendations a la política. Obligatorio para una nueva característica en la que AWS Glue genera recomendaciones de CodeWhisperer. | 9 de octubre de 2023 | 
|  AWSGlueServiceRole: actualización menor de una política ya existente.  |  Reducir el alcance de los permisos de CloudWatch para reflejar mejor el registro de AWS Glue.  | 4 de agosto de 2023 | 
|  AWSGlueConsoleFullAccess: actualización menor de una política ya existente.  |  Agregar una lista de recetas de databrew y describir los permisos a la política. Se requiere para proporcionar acceso administrativo completo a las nuevas características en las que AWS Glue puede acceder a las recetas.  | 9 de mayo de 2023 | 
|  AWSGlueConsoleFullAccess: actualización menor de una política existente.  |  Agregar cloudformation:ListStacks a la política. Conserva las capacidades existentes tras los cambios en los requisitos de autorización de CloudFormation.  | 28 de marzo de 2023 | 
|  Se agregaron nuevas políticas administradas para la característica de sesiones interactivas: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/security-iam-awsmanpol.html)  |  Estas políticas se diseñaron para proporcionar seguridad adicional para las sesiones interactivas y los cuadernos en AWS Glue Studio. Las políticas restringen el acceso a la operación de la API `CreateSession` para que solo el propietario tenga acceso.  | 30 de noviembre de 2021 | 
|  AWSGlueConsoleSageMakerNotebookFullAccess: actualización de una política existente.  |  Se eliminó un ARN de recurso redundante (`arn:aws:s3:::aws-glue-*/*`) para la acción que concede permisos de lectura/escritura en los buckets de Amazon S3 que AWS Glue utiliza para almacenar scripts y archivos temporales. Se corrigió un problema de sintaxis al cambiar `"StringEquals"` a `"ForAnyValue:StringLike"`, y se movieron las líneas ` "Effect": "Allow"` para que precedan a la línea `"Action":` en las instancias en la que no funcionaban.  | 15 de julio de 2021 | 
|  AWSGlueConsoleFullAccess: actualización de una política existente.  | Se eliminó un ARN de recurso redundante (arn:aws:s3:::aws-glue-\$1/\$1) para la acción que concede permisos de lectura/escritura en los buckets de Amazon S3 que AWS Glue utiliza para almacenar scripts y archivos temporales. | 15 de julio de 2021 | 
|  AWS Glue comenzó el seguimiento de los cambios.  | AWS Glue comenzó el seguimiento de los cambios de las políticas administradas de AWS. | 10 de junio de 2021 | 

# Otorgamiento de políticas con un alcance dinámico para la ejecución de trabajos
<a name="dynamically-scoped-policies"></a>

AWS Glue ofrece una capacidad nueva y poderosa: políticas de sesión dinámicas para la ejecución de trabajos. Esta característica le permite especificar permisos personalizados y detallados para cada ejecución de trabajo sin necesidad de crear varios roles de IAM.

Cuando inicia un trabajo de Glue con la API `StartJobRun`, puede incluir una política de sesión en línea. Esta política modifica temporalmente los permisos del rol de ejecución del trabajo durante la ejecución de ese trabajo específico. Es similar al uso de credenciales temporales con la API `AssumeRole` en otros servicios de AWS.
+ **Seguridad mejorada**: puede limitar los permisos de trabajo al mínimo necesario para cada ejecución.
+ **Administración simplificada**: elimina la necesidad de crear y mantener numerosos roles de IAM para diferentes escenarios.
+ **Flexibilidad**: puede ajustar los permisos dinámicamente en función de los parámetros de tiempo de ejecución o de las necesidades específicas del inquilino.
+ **Escalabilidad**: este método destaca en entornos de varios inquilinos donde es necesario aislar los recursos entre inquilinos.

**Ejemplos para el otorgamiento del uso de políticas con alcance dinámico:**

En los siguientes ejemplos, se muestra cómo otorgar acceso de *lectura* y *escritura* a los trabajos solo a una ruta de bucket de Amazon S3 específica, donde la ruta se determina dinámicamente mediante el ID de ejecución del trabajo. Esto ilustra cómo implementar permisos detallados y específicos de ejecución para cada ejecución de trabajo.

**Desde la CLI**

```
aws glue start-job-run \
    --job-name "your-job-name" \
    --execution-role-session-policy '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::specific-bucket/${JobRunId}/*"
                ]
            }
        ]
    }'
```

# Especificación de ARN del recurso de AWS Glue
<a name="glue-specifying-resource-arns"></a>

En AWS Glue, puede controlar el acceso a los recursos a través de una política de AWS Identity and Access Management (IAM). En las políticas se emplean nombres de recurso de Amazon (ARN) para identificar los recursos a los que se aplican las políticas. No todos los recursos de AWS Glue admiten ARN.

**Topics**
+ [ARN de Data Catalog](#data-catalog-resource-arns)
+ [ARN para objetos que no están en el catálogo en AWS Glue](#non-catalog-resource-arns)
+ [Control de acceso para operaciones API singulares que no estén en el catálogo de AWS Glue](#non-catalog-singular-apis)
+ [Control de acceso para operaciones API que no están en el catálogo de AWS Glue que recuperan varios elementos](#non-catalog-plural-apis)
+ [Control de acceso para operaciones de API BatchGet que no están en el catálogo de AWS Glue](#non-catalog-batch-get-apis)

## ARN de Data Catalog
<a name="data-catalog-resource-arns"></a>

Los recursos de Data Catalog tienen una estructura jerárquica, con `catalog` como la raíz.

```
arn:aws:glue:region:account-id:catalog
```

Cada cuenta de AWS tiene un único Data Catalog en una región de AWS con el ID de cuenta de 12 dígitos como el ID de catálogo. Los recursos tienen ARN únicos asociados a ellos, tal y como se muestra en la siguiente tabla.


| **Tipo de recurso**  |  **Formato de ARN**  | 
| --- | --- | 
| Catálogo |  `arn:aws:glue:region:account-id:catalog` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:catalog`  | 
| Database |  `arn:aws:glue:region:account-id:database/database name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:database/db1`  | 
| Tabla |  `arn:aws:glue:region:account-id:table/database name/table name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:table/db1/tbl1`  | 
| Catálogo federado de tablas de S3 (todos los buckets de tabla) |   `arn:aws:glue:region:account-id:catalog/s3tablescatalog`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:catalog/s3tablescatalog`  | 
| Catálogo federado de buckets de tabla de S3 (catálogo secundario) |   `arn:aws:glue:region:account-id:catalog/s3tablescatalog/bucket name`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:catalog/s3tablescatalog/amzn-s3-demo-bucket1`  | 
| Base de datos federada de tablas de S3 |   `arn:aws:glue:region:account-id:database/s3tablescatalog/child catalog name/database name`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:database/s3tablescatalog/amzn-s3-demo-bucket1/nsdb1`  | 
| Tabla federada de S3 |   `arn:aws:glue:region:account-id:table/s3tablescatalog/child catalog name/database name/table name`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:table/s3tablescatalog/amzn-s3-demo-bucket1/nsdb1/s3tbl1`  | 
| Catálogo federado de tablas de S3 (un único bucket de tabla registrado en Lake Formation) | `arn:aws:glue:region:account-id:catalog`/*nombre del catálogo*  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:catalog/amzn-s3-demo-bucket1`   | 
| Base de datos federada de tablas de S3  | `arn:aws:glue:region:account-id:catalog`/*nombre del catálogo*/*nombre de la base de datos* Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:database/amzn-s3-demo-bucket1/nsdb1`  | 
| Tabla federada de S3 | `arn:aws:glue:region:account-id:catalog`/*nombre del catálogo*/*nombre de la base de datos*/*nombre de la tabla*  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:table/amzn-s3-demo-bucket1/nsdb1/s3tbl1`   | 
| Catálogo federado o gestionado (catálogo de nivel superior en un catálogo múltiple) |   `arn:aws:glue:region:account-id:catalog/top-level catalog name`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:catalog/nscatalog` El formato ARN de un catálogo gestionado sigue la misma estructura.  | 
| Catálogo federado de varios niveles (catálogo secundario en un catálogo de varios niveles) |   `arn:aws:glue:region:account-id:catalog/top-level catalog name/child catalog name`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:catalog/nscatalog/dbcatalog`  | 
| Base de datos federada |   `arn:aws:glue:region:account-id:database/name space catalog name/child catalog name/database name`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:database/nscatalog/dbcatalog/schemadb`  | 
| Tabla federada |   `arn:aws:glue:region:account-id:table/name space catalog name/child catalog name/database name/table name`  Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:table/nscatalog/dbcatalog/schemadb/rstbl1`  | 
| Contenedor de enlaces de catálogos | `arn:aws:glue:region:account-id:catalog`/*nombre del contenedor de enlaces* Por ejemplo: `arn:aws:glue:glue:us-east-1:123456789012:catalog`/linkcontainer-example   | 
| Database | `arn:aws:glue:region:account-id:catalog`/*nombre del contenedor de enlaces*/*nombre de la base de datos* Por ejemplo: `arn:aws:glue:glue:us-east-1:123456789012:database`/linkcontainer-example/link-db  | 
| Función definida por el usuario |  `arn:aws:glue:region:account-id:userDefinedFunction/database name/user-defined function name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:userDefinedFunction/db1/func1`  | 
| Connection |  `arn:aws:glue:region:account-id:connection/connection name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:connection/connection1`  | 
| Sesiones interactivas |  `arn:aws:glue:region:account-id:session/interactive session id` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:session/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`  | 

Para habilitar el control de acceso detallado, puede utilizar estos ARN en sus políticas de IAM y las políticas de recursos para conceder y denegar el acceso a recursos específicos. Los comodines están permitidos en las políticas. Por ejemplo, el siguiente ARN coincide con todas las tablas de la base de datos `default`.

```
arn:aws:glue:us-east-1:123456789012:table/default/*
```

**importante**  
Todas las operaciones realizadas en un recurso de Data Catalog requieren permiso en el recurso y todos los antecesores de dicho recurso. Por ejemplo, para crear una partición de una tabla se requiere el permiso en la tabla, la base de datos y el catálogo donde se encuentra la tabla. El siguiente ejemplo muestra el permiso necesario para crear particiones en la tabla `PrivateTable` en la base de datos `PrivateDatabase` de Data Catalog.  

```
{
   "Sid": "GrantCreatePartitions",
   "Effect": "Allow",
   "Action": [
       "glue:BatchCreatePartitions"
   ],
   "Resource": [
       "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/PrivateTable",
       "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase",
       "arn:aws:glue:us-east-1:123456789012:catalog"
   ]
}
```
Además de permiso en el recurso y todos sus antecesores, todas las operaciones de eliminación requieren permiso en todos los elementos secundarios de dicho recurso. Por ejemplo, para eliminar una base de datos, se requiere permiso en todas las tablas y funciones definidas por el usuario en la base de datos, así como en la base de datos y el catálogo donde se encuentra la base de datos. El siguiente ejemplo muestra el permiso necesario para eliminar la base de datos `PrivateDatabase` del Data Catalog.  

```
{
   "Sid": "GrantDeleteDatabase",
   "Effect": "Allow",
   "Action": [
       "glue:DeleteDatabase"
   ],
   "Resource": [
       "arn:aws:glue:us-east-1:123456789012:table/PrivateDatabase/*",
       "arn:aws:glue:us-east-1:123456789012:userDefinedFunction/PrivateDatabase/*",
       "arn:aws:glue:us-east-1:123456789012:database/PrivateDatabase",
       "arn:aws:glue:us-east-1:123456789012:catalog"
   ]
}
```
En resumen, las acciones en los recursos de Data Catalog siguen estas reglas de permisos:  
Las acciones en el catálogo requieren permiso solo en el catálogo.
Las acciones en una base de datos requieren permiso en la base de datos y el catálogo.
Eliminar acciones en una base de datos requiere permiso en la base de datos y el catálogo, además de todas las tablas y funciones definidas por el usuario en la base de datos.
Las acciones en una tabla, partición o versión de tabla requieren el permiso en la tabla, base de datos y catálogo.
Las acciones en una función definida por el usuario requieren el permiso en la función definida por el usuario, la base de datos y el catálogo.
Las acciones en una conexión requieren permiso en la conexión y el catálogo.

## ARN para objetos que no están en el catálogo en AWS Glue
<a name="non-catalog-resource-arns"></a>

Algunos recursos de AWS Glue permiten permisos de nivel de recursos para controlar el acceso mediante un ARN. Puede utilizar estos ARN en sus políticas de IAM para habilitar el control de acceso detallado. En la siguiente tabla se enumeran los recursos que puede contener ARN de recursos.


| **Tipo de recurso**  |  **Formato de ARN**  | 
| --- | --- | 
| Rastreador |  `arn:aws:glue:region:account-id:crawler/crawler-name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:crawler/mycrawler`  | 
| Trabajo |  `arn:aws:glue:region:account-id:job/job-name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:job/testjob`  | 
| Desencadenador |  `arn:aws:glue:region:account-id:trigger/trigger-name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:trigger/sampletrigger`  | 
| Punto de enlace de desarrollo |  `arn:aws:glue:region:account-id:devEndpoint/development-endpoint-name` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:devEndpoint/temporarydevendpoint`  | 
| Transformación de machine learning |  `arn:aws:glue:region:account-id:mlTransform/transform-id` Por ejemplo: .: `arn:aws:glue:us-east-1:123456789012:mlTransform/tfm-1234567890`  | 

## Control de acceso para operaciones API singulares que no estén en el catálogo de AWS Glue
<a name="non-catalog-singular-apis"></a>

Las operaciones de API *singulares* que no estén en el catálogo de AWS Glue actúan sobre un solo elemento (punto de conexión de desarrollo). Algunos ejemplos son `GetDevEndpoint`, `CreateUpdateDevEndpoint` y `UpdateDevEndpoint`. Para estas operaciones, una política debe poner el nombre de la API en el bloque `"action"` y el ARN del recurso en el bloque `"resource"`.

Supongamos que desea permitir a un usuario llamar a la operación `GetDevEndpoint`. La siguiente política concede los permisos mínimos necesarios a un punto de enlace llamado `myDevEndpoint-1`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "MinimumPermissions",
      "Effect": "Allow",
      "Action": "glue:GetDevEndpoint",
      "Resource": "arn:aws:glue:us-east-1:111122223333:devEndpoint/myDevEndpoint-1"
    }
  ]
}
```

------

La siguiente política permite a `UpdateDevEndpoint` el acceso a los recursos que coinciden con `myDevEndpoint-` con un asterisco (\$1).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PermissionWithWildcard",
      "Effect": "Allow",
      "Action": "glue:UpdateDevEndpoint",
      "Resource": "arn:aws:glue:us-east-1:111122223333:devEndpoint/myDevEndpoint-*"
    }
  ]
}
```

------

Puede combinar los dos políticas tal y como se muestra en el siguiente ejemplo. Puede que vea `EntityNotFoundException` para cualquier punto de enlace de desarrollo cuyo nombre empiece por `A`. Sin embargo, se devuelve un error de acceso denegado cuando intenta acceder a otros puntos de enlace de desarrollo.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CombinedPermissions",
      "Effect": "Allow",
      "Action": [
        "glue:UpdateDevEndpoint",
        "glue:GetDevEndpoint"
      ],
      "Resource": "arn:aws:glue:us-east-1:111122223333:devEndpoint/A*"
    }
  ]
}
```

------

## Control de acceso para operaciones API que no están en el catálogo de AWS Glue que recuperan varios elementos
<a name="non-catalog-plural-apis"></a>

Algunas operaciones API de AWS Glue recupera varios elementos (como varios puntos de enlace de desarrollo); por ejemplo, `GetDevEndpoints`. Para esta operación, solo puede especificar un recurso de asterisco (\$1) y no ARN específicos.

Por ejemplo, para incluir `GetDevEndpoints` en la política, el ámbito del recurso debe establecer en el carácter comodín (\$1). Las operaciones singulares (`GetDevEndpoint`, `CreateDevEndpoint` y `DeleteDevendpoint`) también se asignan a todos los recursos (\$1) en el ejemplo.

```
{
            "Sid": "PluralAPIIncluded",
            "Effect": "Allow",
            "Action": [
                "glue:GetDevEndpoints",
                "glue:GetDevEndpoint",
                "glue:CreateDevEndpoint",
                "glue:UpdateDevEndpoint"
            ],
            "Resource": [
                "*"
            ]
}
```

## Control de acceso para operaciones de API BatchGet que no están en el catálogo de AWS Glue
<a name="non-catalog-batch-get-apis"></a>

Algunas operaciones API de AWS Glue recupera varios elementos (como varios puntos de enlace de desarrollo); por ejemplo, `BatchGetDevEndpoints`. En esta operación, puede especificar un ARN para limitar el ámbito de los recursos a los que se puede obtener acceso.

Por ejemplo, para permitir el acceso a un punto de enlace de desarrollo específico, incluya `BatchGetDevEndpoints` en la política con el ARN del recurso.

```
{
            "Sid": "BatchGetAPIIncluded",
            "Effect": "Allow",
            "Action": [
                "glue:BatchGetDevEndpoints"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:123456789012:devEndpoint/de1" 
            ]
}
```

Con esta política, puede obtener acceso correctamente al punto de enlace de desarrollo llamado `de1`. Sin embargo, si intenta obtener acceso al punto de enlace de desarrollo llamado `de2`, se devolverá un error.

```
An error occurred (AccessDeniedException) when calling the BatchGetDevEndpoints operation: No access to any requested resource.
```

**importante**  
Si desea conocer otros enfoques alternativos para configurar las políticas de IAM, como el uso de las operaciones API `List` y `BatchGet`, consulte [Ejemplos de políticas basadas en identidades para AWS Glue](security_iam_id-based-policy-examples.md). 

# Concesión de acceso entre cuentas
<a name="cross-account-access"></a>

Al conceder acceso a recursos de Data Catalog entre cuentas, los trabajos de extracción, transformación y carga (ETL) pueden consultar y combinar datos de diferentes cuentas.

**Topics**
+ [Métodos para conceder acceso entre cuentas en AWS Glue](#cross-account-how-works)
+ [Agregar o actualizar la política de recursos de Data Catalog](#cross-account-adding-resource-policy)
+ [Realización de una llamada a la API entre cuentas](#cross-account-calling)
+ [Realización de una llamada a ETL entre cuentas](#cross-account-calling-etl)
+ [Registro entre cuentas de CloudTrail](#cross-account-ct-logs)
+ [Propiedad de recursos entre cuentas y facturación](#cross-account-ownership-and-billing)
+ [Limitaciones de acceso entre cuentas](#cross-account-limitations)

## Métodos para conceder acceso entre cuentas en AWS Glue
<a name="cross-account-how-works"></a>

Puede conceder acceso a sus datos a cuentas de AWS externas mediante los métodos de AWS Glue o mediante el uso de concesiones entre cuentas de AWS Lake Formation. Los métodos de AWS Glue utilizan políticas de AWS Identity and Access Management (IAM) para lograr un control preciso de acceso. Lake Formation utiliza un modelo de permisos `GRANT/REVOKE` similares a los comandos de `GRANT/REVOKE` en un sistema de base de datos relacional.

En esta sección, se describe el uso de los métodos de AWS Glue. Para obtener más información sobre cómo utilizar concesiones entre cuentas de Lake Formation, consulte [Concesión de permisos de Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html) en la *Guía para desarrolladores de AWS Lake Formation*.

Hay dos métodos de AWS Glue para conceder acceso entre cuentas a un recurso:
+ Uso de una política de recursos de Data Catalog
+ Uso de un rol de IAM

**Concesión de acceso entre cuentas con una política de recursos**  
Los siguientes son los pasos generales para conceder acceso entre cuentas mediante una política de recursos de Data Catalog:

1. Un administrador (u otra identidad autorizada) en la cuenta A asocia una política de recursos a Data Catalog en la cuenta A. Esta política concede a la cuenta B permisos específicos entre cuentas para realizar operaciones en un recurso en el catálogo de la cuenta A.

1. Un administrador de la cuenta B asocia una política de IAM a una identidad de IAM en la cuenta B que delega los permisos recibidos de la cuenta A.

   La identidad de la cuenta B ahora tiene acceso al recurso especificado en la cuenta A.

   La identidad necesita permiso de *ambos*, el propietario de los recursos (cuenta A) *y* su cuenta principal (cuenta B), para poder obtener acceso al recurso.

**Conceder acceso entre cuentas mediante un rol de IAM**  
Los siguientes son los pasos generales para conceder acceso entre cuentas mediante un rol de IAM:

1. Un administrador (u otra identidad autorizada) en la cuenta que posee el recurso (cuenta A) crea un rol de IAM.

1. El administrador de la cuenta A asocia una política al rol que concede permisos entre cuentas para acceder al recurso en cuestión.

1. El administrador de la cuenta A asocia al rol una política de confianza que identifica una identidad de IAM en una cuenta diferente (cuenta B) como la entidad principal que puede asumir el rol.

   La entidad principal de la política de confianza también puede ser una entidad principal de un servicio de AWS, si desea conceder permisos a un servicio de AWS para que asuma el rol.

1. Un administrador de la cuenta B ahora delega los permisos a una o varias identidades de IAM de la cuenta B para que puedan asumir ese rol. De esta forma, ofrece a las identidades de la cuenta B acceso al recurso de la cuenta A.

Para obtener más información sobre el uso de IAM para delegar permisos, consulte [Access management](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) (Administración de accesos) en la *Guía del usuario de IAM*. Para obtener más información acerca de los usuarios, los grupos, los roles y los permisos, consulte [Identidades (usuarios, grupos y roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) en la *Guía del usuario de IAM*.

Si desea obtener una comparación de estos dos enfoques, consulte [Cómo los roles de IAM difieren de las políticas basadas en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) en la *Guía del usuario de IAM*. AWS Glue es compatible con ambas opciones, con la restricción de que una política de recursos puede conceder acceso únicamente a los recursos de Catálogo de datos.

Por ejemplo, para conceder al rol `Dev` de la cuenta B acceso a la base de datos `db1` en la cuenta A, asocie la siguiente política de recursos al catálogo de la cuenta A.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabase"
      ],
      "Principal": {
        "AWS": [
          "arn:aws:iam::111122223333:role/Dev"
        ]
      },
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1"
      ]
    }
  ]
}
```

------

Además, la cuenta B tendría que asociar la siguiente política de IAM al rol `Dev` para obtener acceso a `db1` en la cuenta A.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabase"
      ],
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:catalog",
        "arn:aws:glue:us-east-1:111122223333:database/db1"
      ]
    }
  ]
}
```

------

## Agregar o actualizar la política de recursos de Data Catalog
<a name="cross-account-adding-resource-policy"></a>

Puede agregar o actualizar la política de recursos de Data Catalog de AWS Glue mediante la consola, la API o AWS Command Line Interface (AWS CLI).

**importante**  
Si ya ha otorgado permisos entre cuentas desde su cuenta con AWS Lake Formation, agregar o actualizar la política de recursos de Data Catalog requiere un paso adicional. Para obtener más información, consulte [Administrar los permisos entre cuentas utilizando AWS Glue y Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/hybrid-cross-account.html) en la *Guía para desarrolladores de AWS Lake Formation*.  
Para determinar si existen concesiones entre cuentas de Lake Formation, utilice la operación de API `glue:GetResourcePolicies` o la AWS CLI. Si `glue:GetResourcePolicies` devuelve una política que no sea de Catálogo de datos, se cuenta con concesiones de Lake Formation. Para obtener más información, consulte [Visualización de todas las concesiones entre cuentas mediante la operación de API GetResourcePolicies](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-getresourcepolicies.html) en la *Guía para desarrolladores de AWS Lake Formation*.

**Agregar o actualizar la política de recursos de Data Catalog (consola)**

1. Abra la consola de AWS Glue en [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

   Inicie sesión como usuario administrativo de AWS Identity and Access Management (IAM) con permiso `glue:PutResourcePolicy`.

1. En el panel de navegación, seleccione **Configuración**.

1. En la página **Data catalog settings (Configuración de Data Catalog)**, en **Permissions (Permisos)**, pegue una política de recursos en el área de texto. A continuación, elija **Guardar**.

   Si la consola muestra una alerta que indica que los permisos de la política se agregarán a los permisos concedidos mediante Lake Formation, elija **Proceed (Proceder)**.

**Agregar o actualizar la política de recursos de Data Catalog (AWS CLI)**
+ Envíe un comando `aws glue put-resource-policy`. Si ya existen concesiones de Lake Formation, asegúrese de incluir la opción `--enable-hybrid` con el valor `'TRUE'`.

  Para obtener ejemplos de uso de este comando, consulte [Ejemplos de políticas basadas en recursos para AWS Glue](security_iam_resource-based-policy-examples.md).

## Realización de una llamada a la API entre cuentas
<a name="cross-account-calling"></a>

Todas las operaciones de AWS Glue Data Catalog tienen un campo `CatalogId`. Si se han concedido los permisos necesarios para permitir el acceso entre cuentas, un intermediario puede realizar llamadas a la API de Data Catalog entre cuentas. El intermediario realiza este procedimiento pasando el ID de cuenta de AWS de destino en `CatalogId` de manera que acceda al recurso en esa cuenta de destino.

Si no se proporciona ningún valor `CatalogId`, AWS Glue utiliza el propio ID de cuenta del intermediario de forma predeterminada y la llamada no será entre cuentas.

## Realización de una llamada a ETL entre cuentas
<a name="cross-account-calling-etl"></a>

Algunas API de AWS Glue PySpark y Scala tienen un campo de ID de catálogo. Si se han concedido todos los permisos necesarios para habilitar el acceso entre cuentas, un trabajo de ETL puede realizar llamadas de PySpark y Scala a las operaciones de la API entre cuentas, mediante la transferencia del ID de la cuenta de AWS de destino en el campo de ID de catálogo, con el fin de obtener acceso a los recursos de Data Catalog de una cuenta de destino.

Si no se proporciona ningún valor de ID de catálogo, AWS Glue utiliza el propio ID de cuenta del intermediario de forma predeterminada y la llamada no será entre cuentas.

Para API de PySpark que admiten `catalog_id`, consulte [Clase GlueContext](aws-glue-api-crawler-pyspark-extensions-glue-context.md). Para API de Scala que admiten `catalogId`, consulte [AWS GlueAPI GlueContext Scala de](glue-etl-scala-apis-glue-gluecontext.md).

El siguiente ejemplo muestra los permisos que requiere al beneficiario para ejecutar un trabajo de ETL. En este ejemplo, *grantee-account-id* es el `catalog-id` del cliente que ejecuta el trabajo y *grantor-account-id* es el propietario del recurso. En este ejemplo se concede permiso a todos los recursos de catálogo de la cuenta del concedente. Para limitar el alcance de recursos concedidos, puede proporcionar ARN específicas para el catálogo, la base de datos, la tabla y la conexión.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetConnection",
        "glue:GetDatabase",
        "glue:GetTable",
        "glue:GetPartition"
      ],
      "Principal": {
        "AWS": [
          "arn:aws:iam::111122223333:root"
        ]
      },
      "Resource": [
        "arn:aws:glue:us-east-1:111122223333:*"
      ]
    }
  ]
}
```

------

**nota**  
Si una tabla de la cuenta del concedente apunta a una ubicación de Amazon S3, es decir, también en la cuenta del concedente, el rol de IAM que se utiliza para ejecutar un trabajo de ETL en la cuenta del beneficiario debe tener permiso para enumerar y obtener los objetos de la cuenta del concedente.

Dado que el cliente de la cuenta A ya tiene permiso para crear y ejecutar trabajos de ETL, a continuación se muestran los pasos básicos para configurar un trabajo de ETL para el acceso entre cuentas:

1. Permita el acceso a los datos entre cuentas (omitir este paso si el acceso entre cuentas de Amazon S3 ya está configurado).

   1. Actualice la política de bucket de Amazon S3 en la cuenta B para permitir el acceso entre cuentas desde la cuenta A.

   1. Actualizar la política de IAM de la cuenta A para permitir el acceso al bucket en la cuenta B.

1. Permita acceso entre cuentas al Data Catalog.

   1. Cree o actualice la política de recursos asociada al Data Catalog en la cuenta B para permitir el acceso desde la cuenta A.

   1. Actualice la política de IAM de la cuenta A para permitir el acceso a Data Catalog en la cuenta B.

## Registro entre cuentas de CloudTrail
<a name="cross-account-ct-logs"></a>

Cuando un trabajo del servicio ETL (extracción, transformación y carga) de AWS Glue tiene acceso a los datos subyacentes de una tabla de Data Catalog compartida mediante concesiones entre cuentas de AWS Lake Formation, existe una conducta de registro adicional de AWS CloudTrail.

A los efectos de este análisis, la cuenta de AWS que compartió la tabla es la cuenta del propietario y la cuenta con la que se compartió la tabla es la cuenta del destinatario. Cuando un trabajo de ETL en la cuenta del destinatario accede a los datos en la tabla de la cuenta del propietario, el evento CloudTrail de acceso a datos que se agrega a los registros de la cuenta del destinatario se copia en los registros de CloudTrail de la cuenta del propietario. Esto es para que las cuentas del propietario puedan realizar un seguimiento de los accesos a datos de las distintas cuentas de destinatarios. De forma predeterminada, los eventos de CloudTrail no incluyen un identificador principal inteligible (ARN principal). Un administrador en la cuenta del destinatario puede optar por incluir el ARN principal en los registros.

Para obtener más información, consulte [Registro entre cuentas de CloudTrail](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-logging.html) en la *Guía para desarrolladores de AWS Lake Formation*.

**Véase también**  
[Registro y monitorización en AWS Glue](logging-and-monitoring.md)

## Propiedad de recursos entre cuentas y facturación
<a name="cross-account-ownership-and-billing"></a>

Cuando un usuario de una cuenta de AWS (cuenta A) crea un nuevo recurso como una base de datos en una cuenta diferente (cuenta B), dicho recurso pertenece a la cuenta B, la cuenta en la que se creó. Un administrador de la cuenta B obtiene automáticamente permisos completos para obtener acceso al nuevo recurso, como leer, escribir y conceder permisos de acceso a una tercera cuenta. El usuario de la cuenta A puede obtener acceso al recurso que acaba de crear solo si tienen los permisos adecuados concedidos por la cuenta B.

Los costos de almacenamiento y otros costos que guardan relación directa con el nuevo recurso se facturan a la cuenta B, el propietario de los recursos. El costo de las solicitudes de ese usuario que creó el recurso se factura a la cuenta del solicitante, la cuenta A.

 Para obtener más información acerca de la facturación y los precios de AWS Glue, consulte [Cómo funcionan los precios de AWS](https://d0.awsstatic.com/whitepapers/aws_pricing_overview.pdf).

## Limitaciones de acceso entre cuentas
<a name="cross-account-limitations"></a>

AWS GlueEl acceso entre cuentas de tiene las siguientes limitaciones:
+ No se permite el acceso entre cuentas a AWS Glue si ha creado bases de datos y tablas con Amazon Athena o Amazon Redshift Spectrum antes de tener la compatibilidad de una región con AWS Glue y la cuenta del propietario de los recursos no ha migrado el catálogo de datos de Amazon Athena a AWS Glue. Puede encontrar el estado de migración actual utilizando [GetCatalogImportStatus (get\$1catalog\$1import\$1status)](aws-glue-api-catalog-migration.md#aws-glue-api-catalog-migration-GetCatalogImportStatus). Para obtener más información sobre cómo migrar un catálogo de Athena a AWS Glue, consulte [Actualización a AWS Glue Data Catalog paso a paso](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) en la *Guía del usuario de Amazon Athena*.
+ El acceso entre cuentas *solo* se soporta para los recursos de Data Catalog, como bases de datos, tablas, funciones definidas por el usuario y conexiones.
+ El acceso entre cuentas a Data Catalog de Athena exige que registre el catálogo como un recurso `DataCatalog` de Athena. Para obtener instrucciones, consulte [Registro de un AWS Glue Data Catalog desde otra cuenta](https://docs.aws.amazon.com/athena/latest/ug/data-sources-glue-cross-account.html) en la *Guía del usuario de Amazon Athena*.

# Solución de problemas de identidad y acceso en AWS Glue
<a name="security_iam_troubleshoot"></a>

Utilice la siguiente información para diagnosticar y solucionar los problemas comunes que podrían surgir cuando trabaje con AWS Glue e IAM.

**Topics**
+ [No tengo autorización para realizar una acción en AWS Glue](#security_iam_troubleshoot-no-permissions)
+ [No tengo autorización para realizar la operación iam:PassRole](#security_iam_troubleshoot-passrole)
+ [Quiero permitir que personas externas a mi Cuenta de AWS puedan acceder a mis recursos de AWS Glue](#security_iam_troubleshoot-cross-account-access)

## No tengo autorización para realizar una acción en AWS Glue
<a name="security_iam_troubleshoot-no-permissions"></a>

Si recibe un error que indica que no tiene autorización para realizar una acción, las políticas se deben actualizar para permitirle realizar la acción.

En el siguiente ejemplo, el error se produce cuando el usuario de IAM `mateojackson` intenta utilizar la consola para consultar los detalles acerca de un recurso ficticio `my-example-widget`, pero no tiene los permisos ficticios `glue:GetWidget`.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: glue:GetWidget on resource: my-example-widget
```

En este caso, la política del usuario `mateojackson` debe actualizarse para permitir el acceso al recurso `my-example-widget` mediante la acción `glue:GetWidget`.

Si necesita ayuda, contacte con su administrador de AWS. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## No tengo autorización para realizar la operación iam:PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si recibe un error que indica que no tiene autorización para realizar la acción `iam:PassRole`, las políticas deben actualizarse para que pueda transmitir un rol a AWS Glue.

Algunos Servicios de AWS le permiten transferir un rol existente a dicho servicio en lugar de crear un nuevo rol de servicio o uno vinculado al servicio. Para ello, debe tener permisos para transferir el rol al servicio.

En el siguiente ejemplo, el error se produce cuando un usuario de IAM denominado `marymajor` intenta utilizar la consola para realizar una acción en AWS Glue. Sin embargo, la acción requiere que el servicio cuente con permisos que otorguen un rol de servicio. Mary no tiene permisos para transferir el rol al servicio.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

En este caso, las políticas de Mary se deben actualizar para permitirle realizar la acción `iam:PassRole`.

Si necesita ayuda, póngase en contacto con su administrador de AWS. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## Quiero permitir que personas externas a mi Cuenta de AWS puedan acceder a mis recursos de AWS Glue
<a name="security_iam_troubleshoot-cross-account-access"></a>

Se puede crear un rol que los usuarios de otras cuentas o las personas externas a la organización puedan utilizar para acceder a sus recursos. Se puede especificar una persona de confianza para que asuma el rol. En el caso de los servicios que admitan las políticas basadas en recursos o las listas de control de acceso (ACL), puede utilizar dichas políticas para conceder a las personas acceso a sus recursos.

Para obtener más información, consulte lo siguiente:
+ Para averiguar si AWS Glue admite estas características, consulte [Funcionamiento de AWS Glue con IAM](security_iam_service-with-iam.md).
+ Para obtener información acerca de cómo proporcionar acceso a los recursos de las Cuenta de AWS de su propiedad, consulte [Proporcionar acceso a un usuario de IAM a otra Cuentas de AWS de la que es propietario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) en la *Guía del usuario de IAM*.
+ Para obtener información acerca de cómo proporcionar acceso a sus recursos a Cuentas de AWS de terceros, consulte [Proporcionar acceso a Cuentas de AWS que son propiedad de terceros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) en la *Guía del usuario de IAM*.
+ Para obtener información sobre cómo proporcionar acceso mediante una federación de identidades, consulte [Proporcionar acceso a usuarios autenticados externamente (identidad federada)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) en la *Guía del usuario de IAM*.
+ Para conocer sobre la diferencia entre las políticas basadas en roles y en recursos para el acceso entre cuentas, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.