Paso 3: Adjuntar una política a los usuarios o los grupos que accedan a AWS Glue - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 3: Adjuntar una política a los usuarios o los grupos que accedan a AWS Glue

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, AWS 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.

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 la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

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

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

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

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

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

    { "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.

    Action Resource Descripción

    "glue:*"

    "*"

    Concede permiso para ejecutar todas las operaciones de la API de AWS Glue.

    Si ya había creado la política sin la acción "glue:*", debe añadir el siguiente permiso individual a la política:

    • "glue:ListCrawlers"

    • "glue:BatchGetCrawlers"

    • "glue:ListTriggers"

    • "glue:BatchGetTriggers"

    • "glue:ListDevEndpoints"

    • "glue:BatchGetDevEndpoints"

    • "glue:ListJobs"

    • "glue:BatchGetJobs"

    "redshift:DescribeClusters", "redshift:DescribeClusterSubnetGroups"

    "*"

    Permite la creación de conexiones con Amazon Redshift.

    "iam:ListRoles", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies"

    "*"

    Permite crear listados de roles de IAM cuando se trabaja con rastreadores, trabajos, puntos de enlace de desarrollo y servidores de blocs de notas.

    "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeKeyPairs", "ec2:DescribeInstances"

    "*"

    Permite configurar elementos de red de Amazon EC2, como VPC, al ejecutar trabajos, rastreadores y puntos de enlace de desarrollo.

    "rds:DescribeDBInstances"

    "*"

    Permite la creación de conexiones con Amazon RDS.

    "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation"

    "*"

    Permite crear listados de buckets de Amazon S3 cuando se trabaja con rastreadores, trabajos, puntos de enlace de desarrollo y servidores de blocs de notas.

    "dynamodb:ListTables"

    "*"

    Permite crear listados de tablas de DynamoDB.

    "kms:ListAliases", "kms:DescribeKey"

    "*"

    Permite trabajar con claves de KMS.

    "cloudwatch:GetMetricData", "cloudwatch:ListDashboards"

    "*"

    Permite trabajar con métricas de CloudWatch.

    "s3:GetObject", "s3:PutObject"

    "arn:aws:s3::: aws-glue-*/*", "arn:aws:s3::: */*aws-glue-*/*", "arn:aws:s3::: aws-glue-*"

    Permite obtener y colocar objetos de Amazon S3 en su cuenta al almacenar objetos como scripts de ETL y ubicaciones de servidores de blocs de notas.

    Convención de denominación: concede permiso a buckets o carpetas de Amazon S3 cuyos nombres tienen el prefijo aws-glue-.

    "tag:GetResources"

    "*"

    Permite recuperar etiquetas de AWS.

    "s3:CreateBucket", "s3:PutBucketPublicAccessBlock"

    "arn:aws:s3::: aws-glue-*"

    Permite crear un bucket de Amazon S3 en la cuenta para almacenar objetos, como scripts de ETL y ubicaciones de servidores de blocs de notas.

    Convención de denominación: concede permiso a buckets de Amazon S3 cuyos nombres tienen el prefijo aws-glue-.

    Habilita AWS Glue para crear buckets que bloqueen el acceso público.

    "logs:GetLogEvents"

    "arn:aws:logs:*:*: /aws-glue/*"

    Permite la recuperación de CloudWatch Logs.

    Convención de denominación: AWS Glue escribe registros en grupos de registros cuyos nombres comienzan por aws-glue-.

    "cloudformation:CreateStack", "cloudformation:DeleteStack"

    "arn:aws:cloudformation:*:*:stack/ aws-glue*/*"

    Permite administrar pilas de AWS CloudFormation cuando trabaja con servidores de blocs de notas.

    Convención de denominación: AWS Glue crea pilas cuyos nombres comienzan por aws-glue.

    "ec2:RunInstances"

    "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/*"

    Permite la ejecución de puntos de enlace de desarrollo y servidores de blocs de notas.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceRole*"

    Permite que AWS Glue asuma el permiso PassRole para roles que comienzan con AWSGlueServiceRole.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceNotebookRole*"

    Permite que Amazon EC2 asuma el permiso PassRole para roles que comienzan con AWSGlueServiceNotebookRole.

    "iam:PassRole"

    "arn:aws:iam::*:role/service-role/ AWSGlueServiceRole*"

    Permite que AWS Glue asuma el permiso PassRole para roles que comienzan con service-role/AWSGlueServiceRole.

  7. 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, seleccione Create policy (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 AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

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

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

  5. Seleccione el usuario al que asociará la política. Puede utilizar el menú Filter (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 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 SageMaker.

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

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

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

  5. Seleccione el usuario al que asociará la política. Puede utilizar el menú Filter (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 AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

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

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

  5. Seleccione el usuario al que asociará la política. Puede utilizar el menú Filter (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 AWS CloudFormation que AWS Glue utiliza en la consola de AWS CloudFormation.

  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

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

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

  5. Seleccione el usuario al que asociará la política. Puede utilizar el menú Filter (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 AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

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

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

  5. Seleccione el usuario al que asociará la política. Puede utilizar el menú Filter (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).