Paso 1: Crear una política de IAM para el servicio AWS Glue - AWS Glue

Paso 1: Crear una política de IAM para el servicio AWS Glue

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

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

  3. Elija Create Policy (Crear política).

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

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

    Acción Recurso Descripción

    "glue:*"

    "*"

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

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

    "*"

    Permite crear listados de buckets de Amazon S3 a partir de rastreadores, trabajos, puntos de enlace de desarrollo y servidores de blocs de notas.

    "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute",

    "*"

    Permite configurar elementos de red de Amazon EC2, como nubes privadas virtuales (VPC), cuando se ejecutan trabajos, rastreadores y puntos de enlace de desarrollo.

    "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy"

    "*"

    Permite crear listados de roles de IAM a partir de rastreadores, trabajos, puntos de enlace de desarrollo y servidores de blocs de notas.

    "cloudwatch:PutMetricData"

    "*"

    Permite escribir métricas de CloudWatch para trabajos.

    "s3:CreateBucket", "s3:PutBucketPublicAccessBlock"

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

    Permite la creación de buckets de Amazon S3 en su cuenta a partir de trabajos y servidores de blocs de notas.

    Convención de denominación: utiliza carpetas de Amazon S3 denominadas aws-glue-.

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

    "s3:GetObject", "s3:PutObject", "s3:DeleteObject"

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

    Permite obtener, colocar y eliminar 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-.

    "s3:GetObject"

    "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue-*"

    Permite conseguir objetos de Amazon S3 que utilizan los ejemplos y tutoriales de los rastreadores y los trabajos.

    Convención de denominación: los nombres de bucket de Amazon S3 comienzan con crawler-public y aws-glue-.

    "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents"

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

    Permite escribir registros en CloudWatch Logs.

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

    "ec2:CreateTags", "ec2:DeleteTags"

    "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*"

    Permite el etiquetado de recursos de Amazon EC2; creados para puntos de enlace de desarrollo.

    Convención de denominación: AWS Glue etiqueta interfaces de red de Amazon EC2, grupos de seguridad e instancias con aws-glue-service-resource.

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