

# 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).