

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.

# Configure las funciones de servicio de IAM para los permisos de Amazon EMR AWS a los servicios y recursos
<a name="emr-iam-roles"></a>

Amazon EMR y las aplicaciones como Hadoop necesitan permisos para obtener acceso a otros recursos de AWS y realizar acciones cuando se ejecutan. Cada clúster de Amazon EMR debe tener un *rol de servicio* y un rol para el *perfil de instancia* de Amazon EC2. Para obtener más información, consulte [Roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) y [Uso de perfiles de instancia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) en la *Guía del usuario de IAM*. Las políticas de IAM asociadas a estos roles proporcionan permisos que permiten al clúster interoperar con otros servicios de AWS en nombre de un usuario.

Es necesario otro rol adicional, el rol de escalado automático, si el clúster utiliza el escalado automático en Amazon EMR. El rol AWS de servicio de EMR Notebooks es obligatorio si utiliza EMR Notebooks.

Amazon EMR proporciona roles predeterminados y políticas administradas predeterminadas que determinan permisos los permisos de cada rol. Las políticas administradas las crea y mantiene AWS, por lo que se actualizan automáticamente si cambian los requisitos del servicio. 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.html) en la *Guía del usuario de IAM*.

Si está creando un clúster o un cuaderno por primera vez en una cuenta, los roles de Cuadernos de Amazon EMR aún no existen. Tras crearlas, puede ver las funciones, las políticas asociadas a ellas y los permisos permitidos o denegados por las políticas en la consola de IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)). Puede especificar los roles predeterminados para Amazon EMR para crear y utilizar, puede crear sus propios roles y especificarlos de manera individual al crear un clúster para personalizar los permisos, y puede especificar roles predeterminados que se utilizarán al crear un clúster mediante la AWS CLI. Para obtener más información, consulte [Personalización de roles de IAM con Amazon EMR](emr-iam-roles-custom.md).

## Modificación de políticas basadas en identidades para obtener permisos y así transferir roles de servicio para Amazon EMR
<a name="emr-iam-roles-passrole"></a>

Las políticas administradas de forma predeterminada con todos los permisos de Amazon EMR incorporan configuraciones de seguridad `iam:PassRole`, entre las que se incluyen las siguientes:
+ Permisos `iam:PassRole` solo para roles específicos de Amazon EMR predeterminados.
+ `iam:PassedToService`condiciones que le permiten usar la política solo con AWS servicios específicos, como `elasticmapreduce.amazonaws.com` y`ec2.amazonaws.com`.

Puede ver la versión JSON de las políticas [Amazon EMRFull AccessPolicy \$1v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRFullAccessPolicy_v2) y [Amazon EMRService Policy\$1v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2) en la consola de IAM. Le recomendamos crear nuevos clústeres con las políticas administradas de la versión 2.

## Resumen de rol de servicio
<a name="emr-iam-roles-summary"></a>

En la siguiente tabla se muestran los roles de servicio de IAM asociados con Amazon EMR para una consulta rápida.


| Función | Rol predeterminado | Description (Descripción) | Política administrada predeterminada | 
| --- | --- | --- | --- | 
|  [Rol de servicio para Amazon EMR (rol de EMR)](emr-iam-role.md)  |  `EMR_DefaultRole_V2`  |  Permite a Amazon EMR llamar a otros AWS servicios en su nombre al aprovisionar recursos y realizar acciones a nivel de servicio. Este rol es necesario para todos los clústeres.  |  `AmazonEMRServicePolicy_v2`  La solicitud de instancias de spot requiere un rol vinculado a un servicio. Si este rol no existe, el rol de servicio de Amazon EMR debe tener permisos para crearlo; en caso contrario, se producirá un error de permisos. Si planea solicitar instancias de spot, debe actualizar esta política para incluir una instrucción que permita la creación de este rol vinculado a un servicio. Para obtener más información, consulte [Rol de servicio para Amazon EMR (rol de EMR)](emr-iam-role.md) y [Rol vinculado al servicio para solicitudes de instancias de spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests) en la *Guía del usuario de Amazon EC2*.    | 
| [Rol de servicio para instancias de EC2 del clúster (perfil de instancia de EC2)](emr-iam-role-for-ec2.md) |  `EMR_EC2_DefaultRole`  |  Los procesos de aplicación que se ejecutan sobre el ecosistema de Hadoop en instancias de clúster utilizan esta función cuando llaman a otros servicios. AWS Para obtener acceso a los datos en Amazon S3 usando EMRFS, puede especificar diferentes roles que se asumirán en función de la ubicación de los datos en Amazon S3. Por ejemplo, varios equipos pueden acceder a una única “cuenta de almacenamiento” de datos de Amazon S3. Para obtener más información, consulte [Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3](emr-emrfs-iam-roles.md). Este rol es necesario para todos los clústeres.  |  `AmazonElasticMapReduceforEC2Role`. Para obtener más información, consulte [Rol de servicio para instancias de EC2 del clúster (perfil de instancia de EC2)](emr-iam-role-for-ec2.md).  | 
| [Rol de servicio para el escalado automático en Amazon EMR (rol de Auto Scaling)](emr-iam-role-automatic-scaling.md) |  `EMR_AutoScaling_DefaultRole`  |  Permite acciones adicionales para entornos de escalado dinámico. Solo es obligatorio para los clústeres que utilizan el escalado automático en Amazon EMR. Para obtener más información, consulte [Uso del escalado automático con una política personalizada para grupos de instancias en Amazon EMR](emr-automatic-scaling.md).  |  `AmazonElasticMapReduceforAutoScalingRole`. Para obtener más información, consulte [Rol de servicio para el escalado automático en Amazon EMR (rol de Auto Scaling)](emr-iam-role-automatic-scaling.md).  | 
| [Rol de servicio para Cuadernos de Amazon EMR](emr-managed-notebooks-service-role.md) |  `EMR_Notebooks_DefaultRole`  |  Proporciona los permisos que un bloc de notas EMR necesita para acceder a otros AWS recursos y realizar acciones. Necesario solo si se utiliza Cuadernos de Amazon EMR.  |  `AmazonElasticMapReduceEditorsRole`. Para obtener más información, consulte [Rol de servicio para Cuadernos de Amazon EMR](emr-managed-notebooks-service-role.md). También se asocia `S3FullAccessPolicy` de forma predeterminada. El contenido de esta política se muestra a continuación.   JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowS3"
    }
  ]
}
```      | 
| [Rol vinculado a servicio](using-service-linked-roles.md) | `AWSServiceRoleForEMRCleanup` | Amazon EMR crea automáticamente un rol vinculado a un servicio. Si el servicio de Amazon EMR ha perdido la capacidad de limpiar los recursos de Amazon EC2, Amazon EMR puede utilizar este rol para limpiar. Si un clúster utiliza instancias de spot, la política de permisos vinculada al [Rol de servicio para Amazon EMR (rol de EMR)](emr-iam-role.md) debe permitir la creación de un rol vinculado al servicio. Para obtener más información, consulte [Uso de roles vinculados a servicios para Amazon EMR](using-service-linked-roles.md). | `AmazonEMRCleanupPolicy` | 

**Topics**
+ [

## Modificación de políticas basadas en identidades para obtener permisos y así transferir roles de servicio para Amazon EMR
](#emr-iam-roles-passrole)
+ [

## Resumen de rol de servicio
](#emr-iam-roles-summary)
+ [

# Roles de servicio de IAM utilizados por Amazon EMR
](emr-iam-service-roles.md)
+ [

# Personalización de roles de IAM con Amazon EMR
](emr-iam-roles-custom.md)
+ [

# Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3
](emr-emrfs-iam-roles.md)
+ [

# Utilice políticas basadas en recursos para el acceso de Amazon EMR al catálogo de datos de Glue AWS
](emr-iam-roles-glue.md)
+ [

# Utilice las funciones de IAM con aplicaciones que llamen directamente a AWS los servicios
](emr-iam-roles-calling.md)
+ [

# Cómo permitir a los usuarios y grupos crear y modificar roles
](emr-iam-roles-create-permissions.md)

# Roles de servicio de IAM utilizados por Amazon EMR
<a name="emr-iam-service-roles"></a>

Amazon EMR utiliza roles de servicio de IAM para llevar a cabo acciones en su nombre al aprovisionar los recursos del clúster, ejecutar aplicaciones, escalar recursos de forma dinámica y crear y ejecutar Cuadernos de Amazon EMR. Amazon EMR utiliza los siguientes roles cuando interactúa con otros servicios de AWS . Cada rol tiene una función exclusiva en Amazon EMR. Los temas de esta sección describen la función del rol y facilitan los roles y la política de permisos predeterminados para cada rol.

Si tiene un código de aplicación en el clúster que llama directamente a AWS los servicios, es posible que necesite usar el SDK para especificar las funciones. Para obtener más información, consulte [Utilice las funciones de IAM con aplicaciones que llamen directamente a AWS los servicios](emr-iam-roles-calling.md).

**Topics**
+ [

# Rol de servicio para Amazon EMR (rol de EMR)
](emr-iam-role.md)
+ [

# Rol de servicio para instancias de EC2 del clúster (perfil de instancia de EC2)
](emr-iam-role-for-ec2.md)
+ [

# Rol de servicio para el escalado automático en Amazon EMR (rol de Auto Scaling)
](emr-iam-role-automatic-scaling.md)
+ [

# Rol de servicio para Cuadernos de Amazon EMR
](emr-managed-notebooks-service-role.md)
+ [

# Uso de roles vinculados a servicios para Amazon EMR
](using-service-linked-roles.md)

# Rol de servicio para Amazon EMR (rol de EMR)
<a name="emr-iam-role"></a>

El rol de Amazon EMR define las acciones permitidas para Amazon EMR al aprovisionar recursos y realizar tareas de nivel de servicio que no se llevan a cabo en el contexto de una instancia de Amazon EC2 que se ejecuta dentro de un clúster. Por ejemplo, el rol de servicio se utiliza para aprovisionar instancias de EC2 cuando se lanza un clúster.
+ El nombre del rol predeterminado es `EMR_DefaultRole_V2`.
+ La política administrada predeterminada con ámbito de aplicación de Amazon EMR y asociada a `EMR_DefaultRole_V2` es `AmazonEMRServicePolicy_v2`. Esta política, versión 2, sustituye a la política administrada predeterminada, `AmazonElasticMapReduceRole`, ya obsoleta.

`AmazonEMRServicePolicy_v2` depende del acceso limitado a los recursos que Amazon EMR aprovisiona o utiliza. Cuando utilice esta política, tendrá que pasar la etiqueta de usuario `for-use-with-amazon-emr-managed-policies = true` al aprovisionar el clúster. Amazon EMR propagará automáticamente esas etiquetas. Además, es posible que tenga que agregar manualmente una etiqueta de usuario a tipos específicos de recursos, como grupos de seguridad de EC2 que no fueron creados por Amazon EMR. Consulte [Etiquetado de recursos para usar políticas administradas](emr-managed-iam-policies.md#manually-tagged-resources).

**importante**  
Amazon EMR utiliza este rol de servicio de Amazon EMR y el rol `AWSServiceRoleForEMRCleanup` para limpiar los recursos del clúster de su cuenta que ya no utiliza, como las instancias de Amazon EC2. Debe incluir acciones para que las políticas de rol eliminen o terminen los recursos. De lo contrario, Amazon EMR no podrá realizar estas acciones de limpieza y podría incurrir en costos por los recursos no utilizados que permanecen en el clúster.

A continuación se muestra el contenido de la política `AmazonEMRServicePolicy_v2`. También puede ver el contenido actual de la política [https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2)administrada en la consola de IAM.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateInTaggedNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:RunInstances",
        "ec2:CreateFleet",
        "ec2:CreateLaunchTemplate",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateWithEMRTaggedLaunchTemplate",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateFleet",
        "ec2:RunInstances",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRTaggedLaunchTemplate",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateLaunchTemplate"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRTaggedInstancesAndVolumes",
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateFleet"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "ResourcesToLaunchEC2",
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances",
        "ec2:CreateFleet",
        "ec2:CreateLaunchTemplate",
        "ec2:CreateLaunchTemplateVersion"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*::image/ami-*",
        "arn:aws:ec2:*:*:key-pair/*",
        "arn:aws:ec2:*:*:capacity-reservation/*",
        "arn:aws:ec2:*:*:placement-group/pg-*",
        "arn:aws:ec2:*:*:fleet/*",
        "arn:aws:ec2:*:*:dedicated-host/*",
        "arn:aws:resource-groups:*:*:group/*"
      ]
    },
    {
      "Sid": "ManageEMRTaggedResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateLaunchTemplateVersion",
        "ec2:DeleteLaunchTemplate",
        "ec2:DeleteNetworkInterface",
        "ec2:ModifyInstanceAttribute",
        "ec2:TerminateInstances"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "ManageTagsOnEMRTaggedResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*",
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateNetworkInterfaceNeededForPrivateSubnet",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "TagOnCreateTaggedEMRResources",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*",
        "arn:aws:ec2:*:*:instance/*",
        "arn:aws:ec2:*:*:volume/*",
        "arn:aws:ec2:*:*:launch-template/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:CreateAction": [
            "RunInstances",
            "CreateFleet",
            "CreateLaunchTemplate",
            "CreateNetworkInterface"
          ]
        }
      }
    },
    {
      "Sid": "TagPlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:placement-group/pg-*"
      ]
    },
    {
      "Sid": "ListActionsForEC2Resources",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeCapacityReservations",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeImages",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceTypeOfferings",
        "ec2:DescribeLaunchTemplates",
        "ec2:DescribeNetworkAcls",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribePlacementGroups",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVolumes",
        "ec2:DescribeVolumeStatus",
        "ec2:DescribeVpcAttribute",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "CreateDefaultSecurityGroupWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateSecurityGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateDefaultSecurityGroupInVPCWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateSecurityGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "TagOnCreateDefaultSecurityGroupWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "ec2:CreateAction": "CreateSecurityGroup"
        }
      }
    },
    {
      "Sid": "ManageSecurityGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupIngress"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEMRPlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:CreatePlacementGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:placement-group/pg-*"
      ]
    },
    {
      "Sid": "DeletePlacementGroups",
      "Effect": "Allow",
      "Action": [
        "ec2:DeletePlacementGroup"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AutoScaling",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DeleteScalingPolicy",
        "application-autoscaling:DeregisterScalableTarget",
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:DescribeScalingPolicies",
        "application-autoscaling:PutScalingPolicy",
        "application-autoscaling:RegisterScalableTarget"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ResourceGroupsForCapacityReservations",
      "Effect": "Allow",
      "Action": [
        "resource-groups:ListGroupResources"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AutoScalingCloudWatch",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricAlarm",
        "cloudwatch:DeleteAlarms",
        "cloudwatch:DescribeAlarms"
      ],
      "Resource": [
        "arn:aws:cloudwatch:*:*:alarm:*_EMR_Auto_Scaling"
      ]
    },
    {
      "Sid": "PassRoleForAutoScaling",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_AutoScaling_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "application-autoscaling.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "PassRoleForEC2",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/EMR_EC2_DefaultRole"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": "ec2.amazonaws.com*"
        }
      }
    },
    {
      "Sid": "CreateAndModifyEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:ModifyVpcEndpoint",
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*",
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*",
        "arn:aws:ec2:*:*:vpc/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "CreateEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpcEndpoint"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "aws:RequestTag/Name": "emr-service-vpce"
        }
      }
    },
    {
      "Sid": "TagEmrServiceVPCEndpoint",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc-endpoint/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:CreateAction": "CreateVpcEndpoint",
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "aws:RequestTag/Name": "emr-service-vpce"
        }
      }
    }
  ]
}
```

------

Su rol de servicio debe usar la siguiente política de confianza.

**importante**  
La siguiente política de confianza incluye las claves de condición globales [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) para limitar los permisos que concede a Amazon EMR a determinados recursos de su cuenta. Con estas, podrá protegerse contra el [problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSTSAssumerole",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMRServiceRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
        }
      }
    }
  ]
}
```

------

# Rol de servicio para instancias de EC2 del clúster (perfil de instancia de EC2)
<a name="emr-iam-role-for-ec2"></a>

El rol de servicio para instancias de EC2 de clúster (también conocido como el perfil de instancia de EC2 para Amazon EMR) es un tipo especial de rol de servicio que está asignado a cada instancia de EC2 de un clúster de Amazon EMR cuando se lanza la instancia. Los procesos de aplicación que se ejecutan sobre el ecosistema de Hadoop asumen este rol para los permisos, para interactuar así con otros productos de AWS .

Para obtener más información sobre los roles de servicio para instancias de EC2, consulte [Uso de un rol de IAM para conceder permisos a aplicaciones que se ejecutan en instancias de Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) en la *Guía del usuario de IAM*.

**importante**  
El rol de servicio predeterminado para las instancias de EC2 en clústeres y su política administrada AWS predeterminada asociada `AmazonElasticMapReduceforEC2Role` están en vías de caducar y no se proporcionan políticas AWS administradas sustitutivas. Tendrá que crear y especificar un perfil de instancia para reemplazar la política predeterminada y el rol obsoletos.

## Política administrada y rol predeterminados
<a name="emr-ec2-role-default"></a>
+ El nombre del rol predeterminado es `EMR_EC2_DefaultRole`.
+ La política administrada `EMR_EC2_DefaultRole` predeterminada, `AmazonElasticMapReduceforEC2Role`, está a punto de finalizar su soporte. En lugar de utilizar una política administrada predeterminada para el perfil de instancia de EC2, aplique políticas basadas en recursos a los buckets de S3 y otros recursos que Amazon EMR necesite, o utilice su propia política administrada por el cliente con un rol de IAM como perfil de instancia. Para obtener más información, consulte [Creación de un rol de servicio para las instancias de EC2 del clúster con permisos de privilegios mínimos](#emr-ec2-role-least-privilege).

Lo siguiente muestra el contenido de la versión 3 de `AmazonElasticMapReduceforEC2Role`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Action": [
        "cloudwatch:*",
        "dynamodb:*",
        "ec2:Describe*",
        "elasticmapreduce:Describe*",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:ListClusters",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:ListSteps",
        "kinesis:CreateStream",
        "kinesis:DeleteStream",
        "kinesis:DescribeStream",
        "kinesis:GetRecords",
        "kinesis:GetShardIterator",
        "kinesis:MergeShards",
        "kinesis:PutRecord",
        "kinesis:SplitShard",
        "rds:Describe*",
        "s3:*",
        "sdb:*",
        "sns:*",
        "sqs:*",
        "glue:CreateDatabase",
        "glue:UpdateDatabase",
        "glue:DeleteDatabase",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:CreateTable",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersions",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:CreateUserDefinedFunction",
        "glue:UpdateUserDefinedFunction",
        "glue:DeleteUserDefinedFunction",
        "glue:GetUserDefinedFunction",
        "glue:GetUserDefinedFunctions"
      ],
      "Sid": "AllowCLOUDWATCH"
    }
  ]
}
```

------

Su rol de servicio debe usar la siguiente política de confianza.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSTSAssumerole",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMR_EC2_DefaultRole"
    }
  ]
}
```

------

## Creación de un rol de servicio para las instancias de EC2 del clúster con permisos de privilegios mínimos
<a name="emr-ec2-role-least-privilege"></a>

Como práctica recomendada, le recomendamos encarecidamente que cree un rol de servicio para las instancias EC2 del clúster y una política de permisos que tenga los permisos mínimos para otros AWS servicios que requiera su aplicación.

La política administrada predeterminada, `AmazonElasticMapReduceforEC2Role`, proporciona los permisos que facilitan el lanzar un clúster inicial. Sin embargo, `AmazonElasticMapReduceforEC2Role` está en vías de quedar obsoleto y Amazon EMR no proporcionará una política predeterminada gestionada que AWS sustituya a la función obsoleta. Para lanzar un clúster inicial, debe proporcionar una política basada en los recursos o en la identificación administrada por el cliente.

Las siguientes instrucciones de política facilitan ejemplos de permisos necesarios para las distintas características de Amazon EMR. Le recomendamos que utilice estos permisos para crear una política de permisos que restrinja el acceso tan solo a aquellas funciones y recursos que necesite el clúster. Todos los ejemplos de declaraciones de política utilizan la *us-west-2* región y el identificador de cuenta ficticio AWS . *123456789012* Sustituya estos según corresponda para el clúster.

Para obtener más información sobre la creación y la especificación de roles personalizados, consulte [Personalización de roles de IAM con Amazon EMR](emr-iam-roles-custom.md).

**nota**  
Si crea un rol de EMR personalizado para EC2, siga el flujo de trabajo básico, que crea automáticamente un perfil de instancia con el mismo nombre. Amazon EC2 le permite crear roles y perfiles de instancia con nombres diferentes, pero Amazon EMR no admite esta configuración y se produce un error “Perfil de instancia no válido” al crear el clúster. 

### Lectura y escritura de datos en Amazon S3 con EMRFS
<a name="emr-ec2-role-EMRFS"></a>

Cuando una aplicación que se ejecuta en un clúster de Amazon EMR hace referencia a los datos con el formato `s3://mydata`, Amazon EMR utiliza el perfil de instancia de EC2 para realizar la solicitud. Por lo general, los clústeres leen y escriben datos en Amazon S3 de esta forma, y Amazon EMR utiliza los permisos asociados al rol de servicio para instancias de EC2 del clúster de forma predeterminada. Para obtener más información, consulte [Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3](emr-emrfs-iam-roles.md).

Dado que los roles de IAM para EMRFS seguirán usando los permisos asociados al rol de servicio para las instancias de EC2 del clúster, como práctica recomendada, le recomendamos que utilice los roles de IAM para EMRFS y limite los permisos de Amazon S3 y EMRFS asociados al rol de servicio para las instancias de EC2 del clúster.

La siguiente instrucción de ejemplo señala los permisos que EMRFS necesita para hacer solicitudes a Amazon S3.
+ *my-data-bucket-in-s3-for-emrfs-reads-and-writes* especifica el bucket de Amazon S3 en el que el clúster lee y escribe los datos y todas las subcarpetas con */\$1*. Añada solo los buckets y carpetas que necesita su aplicación.
+ La instrucción de política que permite realizar acciones de `dynamodb` solo es necesaria si la vista coherente de EMRFS está habilitada. *EmrFSMetadata* especifica la carpeta predeterminada para la vista coherente de EMRFS.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:CreateBucket",
        "s3:DeleteObject",
        "s3:GetBucketVersioning",
        "s3:GetObject",
        "s3:GetObjectTagging",
        "s3:GetObjectVersion",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions",
        "s3:ListMultipartUploadParts",
        "s3:PutBucketVersioning",
        "s3:PutObject",
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::my-data-bucket-in-s3-for-emrfs-reads-and-writes",
        "arn:aws:s3:::my-data-bucket-in-s3-for-emrfs-reads-and-writes/*"
      ],
      "Sid": "AllowS3Abortmultipartupload"
    },
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:CreateTable",
        "dynamodb:BatchGetItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PutItem",
        "dynamodb:DescribeTable",
        "dynamodb:DeleteItem",
        "dynamodb:GetItem",
        "dynamodb:Scan",
        "dynamodb:Query",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteTable",
        "dynamodb:UpdateTable"
      ],
      "Resource": [
        "arn:aws:dynamodb:*:123456789012:table/EmrFSMetadata"
      ],
      "Sid": "AllowDYNAMODBCreatetable"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData",
        "dynamodb:ListTables",
        "s3:ListBucket"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowCLOUDWATCHPutmetricdata"
    },
    {
      "Effect": "Allow",
      "Action": [
        "sqs:GetQueueUrl",
        "sqs:ReceiveMessage",
        "sqs:DeleteQueue",
        "sqs:SendMessage",
        "sqs:CreateQueue"
      ],
      "Resource": [
        "arn:aws:sqs:*:123456789012:EMRFS-Inconsistency-*"
      ],
      "Sid": "AllowSQSGetqueueurl"
    }
  ]
}
```

------

### Almacenamiento de archivos de registro en Amazon S3
<a name="emr-ec2-role-s3-logs"></a>

La siguiente instrucción de política permite al clúster de Amazon EMR almacenar los archivos de registro en la ubicación de Amazon S3 indicada. En el ejemplo siguiente, cuando se creó el clúster, *s3://MyLoggingBucket/MyEMRClusterLogs* se especificó mediante la **ubicación S3 de la carpeta de registro** en la consola, mediante la `--log-uri` AWS CLI opción del comando o mediante el `LogUri` parámetro del `RunJobFlow` comando. Para obtener más información, consulte [Archivar archivos de registro en Amazon S3](emr-plan-debugging.md#emr-plan-debugging-logs-archive).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::MyLoggingBucket/MyEMRClusterLogs/*"
      ],
      "Sid": "AllowS3Putobject"
    }
  ]
}
```

------

### Uso del catálogo de datos de AWS Glue
<a name="emr-ec2-role-glue"></a>

La siguiente declaración de política permite las acciones que son necesarias si se utiliza el catálogo de datos de AWS Glue como almacén de aplicaciones. Para obtener más información, consulte [Uso del catálogo de datos de AWS Glue como metaalmacén para Spark SQL](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-glue.html), [Uso del catálogo de datos de AWS Glue como metaalmacén para Hive](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html) y [Uso de Presto con el catálogo de datos de AWS Glue en la](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto-glue.html) Guía de versiones de Amazon *EMR*.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:CreateDatabase",
        "glue:UpdateDatabase",
        "glue:DeleteDatabase",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:CreateTable",
        "glue:UpdateTable",
        "glue:DeleteTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersions",
        "glue:CreatePartition",
        "glue:BatchCreatePartition",
        "glue:UpdatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:CreateUserDefinedFunction",
        "glue:UpdateUserDefinedFunction",
        "glue:DeleteUserDefinedFunction",
        "glue:GetUserDefinedFunction",
        "glue:GetUserDefinedFunctions"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowGLUECreatedatabase"
    }
  ]
}
```

------

# Rol de servicio para el escalado automático en Amazon EMR (rol de Auto Scaling)
<a name="emr-iam-role-automatic-scaling"></a>

El rol de Auto Scaling de Amazon EMR sirve básicamente para lo mismo que el rol de servicio, pero permite acciones adicionales para entornos de escalado dinámico.
+ El nombre del rol predeterminado es `EMR_AutoScaling_DefaultRole`.
+ La política administrada predeterminada y asociada a `EMR_AutoScaling_DefaultRole` es `AmazonElasticMapReduceforAutoScalingRole`.

El contenido de la versión 1 de `AmazonElasticMapReduceforAutoScalingRole` se muestra a continuación.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "cloudwatch:DescribeAlarms",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ModifyInstanceGroups"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Sid": "AllowCLOUDWATCHDescribealarms"
    }
  ]
}
```

------

Su rol de servicio debe usar la siguiente política de confianza.

**importante**  
La siguiente política de confianza incluye las claves de condición globales [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) para limitar los permisos que concede a Amazon EMR a determinados recursos de su cuenta. Con estas, podrá protegerse contra el [problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/ApplicationAutoScalingEMRRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:application-autoscaling:*:123456789012:scalable-target/*"
        }
      },
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

# Rol de servicio para Cuadernos de Amazon EMR
<a name="emr-managed-notebooks-service-role"></a>

Cada cuaderno EMR necesita permisos para acceder a otros AWS recursos y realizar acciones. Las políticas de IAM asociadas a esta función de servicio proporcionan permisos para que el portátil interactúe con otros servicios. AWS Al crear un bloc de notas utilizando el Consola de administración de AWS, se especifica un rol de *AWS servicio*. Puede utilizar el rol predeterminado, `EMR_Notebooks_DefaultRole` o especificar un rol que haya creado. Si no se ha creado un bloc de notas anteriormente, puede elegir crear el rol predeterminado.
+ El nombre del rol predeterminado es `EMR_Notebooks_DefaultRole`.
+ Las políticas administradas predeterminadas asociadas a `EMR_Notebooks_DefaultRole` son `AmazonElasticMapReduceEditorsRole` y `S3FullAccessPolicy`.

Su rol de servicio debe usar la siguiente política de confianza.

**importante**  
La siguiente política de confianza incluye las claves de condición globales [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) para limitar los permisos que concede a Amazon EMR a determinados recursos de su cuenta. Con estas, podrá protegerse contra el [problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMRServiceRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
        }
      },
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

El contenido de la versión 1 de `AmazonElasticMapReduceEditorsRole` es el siguiente.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CreateSecurityGroup",
        "ec2:DescribeSecurityGroups",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:ModifyNetworkInterfaceAttribute",
        "ec2:DescribeTags",
        "ec2:DescribeInstances",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs",
        "elasticmapreduce:ListInstances",
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:ListSteps"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowEC2Authorizesecuritygroupegress"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ],
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "aws:elasticmapreduce:editor-id",
            "aws:elasticmapreduce:job-flow-id"
          ]
        }
      },
      "Sid": "AllowEC2Createtags"
    }
  ]
}
```

------

A continuación, se muestra el contenido de `S3FullAccessPolicy`. La `S3FullAccessPolicy` permite que su rol de servicio para Cuadernos de Amazon EMR realice todas las acciones de Amazon S3 en los objetos de su Cuenta de AWS. Al crear un rol de servicio personalizado para Cuadernos de Amazon EMR, debe otorgarle permisos a Amazon S3 para ese rol de servicio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowS3"
    }
  ]
}
```

------

Puede limitar el acceso de lectura y escritura para su rol de servicio a la ubicación de Amazon S3 en la que desee guardar los archivos de su cuaderno. Utilice el siguiente conjunto mínimo de permisos de Amazon S3.

```
"s3:PutObject",
"s3:GetObject",
"s3:GetEncryptionConfiguration",
"s3:ListBucket",
"s3:DeleteObject"
```

Si su bucket de Amazon S3 está cifrado, debe incluir los siguientes permisos para AWS Key Management Service.

```
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:ReEncryptFrom",
"kms:ReEncryptTo",
"kms:DescribeKey"
```

Cuando vincula repositorios de Git a su cuaderno y necesita crear un secreto para el repositorio, debe agregar el permiso `secretsmanager:GetSecretValue` a la política de IAM asociada al rol de servicio de Cuadernos de Amazon EMR. A continuación se muestra una política de ejemplo: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetSecretValue"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## Permisos del rol de servicio de Cuadernos de Amazon EMR
<a name="emr-managed-notebooks-service-role-permissions"></a>

En esta tabla se enumeran las acciones que Cuadernos de Amazon EMR lleva a cabo con el rol de servicio, junto con los permisos necesarios para cada acción.


****  

| Action | Permisos | 
| --- | --- | 
| Establezca un canal de red seguro entre un cuaderno y un clúster de Amazon EMR y lleve a cabo las acciones de limpieza necesarias. |  <pre>"ec2:CreateNetworkInterface", <br />"ec2:CreateNetworkInterfacePermission", <br />"ec2:DeleteNetworkInterface", <br />"ec2:DeleteNetworkInterfacePermission", <br />"ec2:DescribeNetworkInterfaces", <br />"ec2:ModifyNetworkInterfaceAttribute", <br />"ec2:AuthorizeSecurityGroupEgress", <br />"ec2:AuthorizeSecurityGroupIngress", <br />"ec2:CreateSecurityGroup",<br />"ec2:DescribeSecurityGroups", <br />"ec2:RevokeSecurityGroupEgress",<br />"ec2:DescribeTags",<br />"ec2:DescribeInstances",<br />"ec2:DescribeSubnets",<br />"ec2:DescribeVpcs",<br />"elasticmapreduce:ListInstances", <br />"elasticmapreduce:DescribeCluster", <br />"elasticmapreduce:ListSteps"</pre>  | 
| Usa las credenciales de Git almacenadas en AWS Secrets Manager para vincular los repositorios de Git a un cuaderno. |  <pre>"secretsmanager:GetSecretValue"</pre>  | 
| Aplique AWS etiquetas a la interfaz de red y a los grupos de seguridad predeterminados que EMR Notebooks crea al configurar el canal de red seguro. Para obtener más información, consulte [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) (Etiquetado de los recursos de ). |  <pre>"ec2:CreateTags"</pre>  | 
| Acceda a los archivos y metadatos de los cuadernos en Amazon S3 o cárguelos. |  <pre>"s3:PutObject",<br />"s3:GetObject",<br />"s3:GetEncryptionConfiguration",<br />"s3:ListBucket",<br />"s3:DeleteObject" </pre> Los siguientes permisos solo son necesarios si utiliza un bucket de Amazon S3 cifrado. <pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre>  | 

## Actualizaciones de EMR Notebooks a las políticas gestionadas AWS
<a name="notebooks-slr-updates"></a>

Consulta los detalles sobre las actualizaciones de las políticas AWS gestionadas para los Notebooks EMR desde el 1 de marzo de 2021.


| Cambio | Descripción | Fecha | 
| --- | --- | --- | 
| AmazonElasticMapReduceEditorsRole - Added permissions | Cuadernos de Amazon EMR agregó los permisos `ec2:describeVPCs` y `elastmicmapreduce:ListSteps` a `AmazonElasticMapReduceEditorsRole`.  | 8 de febrero de 2023  | 
| Cuadernos de Amazon EMR comenzó a registrar cambios  |  EMR Notebooks comenzó a realizar un seguimiento de los cambios en sus políticas gestionadas AWS .  | 8 de febrero de 2023  | 

# Uso de roles vinculados a servicios para Amazon EMR
<a name="using-service-linked-roles"></a>

[Amazon EMR utiliza funciones vinculadas a AWS Identity and Access Management servicios (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Un rol vinculado a un servicio es un tipo único de rol de IAM que se encuentra vinculado directamente a Amazon EMR. Amazon EMR predefine las funciones vinculadas al servicio e incluyen todos los permisos que el servicio requiere para llamar a otros AWS servicios en su nombre.

**Topics**
+ [

# Uso de roles vinculados a servicios para Amazon EMR para limpieza
](using-service-linked-roles-cleanup.md)
+ [

# Uso de roles vinculados a servicios con Amazon EMR para el registro de escritura anticipada
](using-service-linked-roles-wal.md)

**Para obtener información sobre otros servicios que admiten funciones vinculadas a servicios, consulte los [AWS servicios que funcionan con IAM y busque los servicios con](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) la palabra **Sí** en la columna Funciones vinculadas a servicios.** Elija una opción **Sí** con un enlace para ver la documentación acerca del rol vinculado al servicio en cuestión.

# Uso de roles vinculados a servicios para Amazon EMR para limpieza
<a name="using-service-linked-roles-cleanup"></a>

[Amazon EMR utiliza funciones vinculadas a AWS Identity and Access Management servicios (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Un rol vinculado a un servicio es un tipo único de rol de IAM que se encuentra vinculado directamente a Amazon EMR. Amazon EMR predefine las funciones vinculadas al servicio e incluyen todos los permisos que el servicio requiere para llamar a otros AWS servicios en su nombre.

Los roles vinculados a servicios funcionan juntamente con el rol de servicio de Amazon EMR y el perfil de instancia de Amazon EC2 para Amazon EMR. Para obtener más información acerca del rol de servicio y del perfil de instancia, consulte [Configure las funciones de servicio de IAM para los permisos de Amazon EMR AWS a los servicios y recursos](emr-iam-roles.md).

Un rol vinculado al servicio simplifica la configuración de Amazon EMR porque ya no tendrá que agregar manualmente los permisos requeridos. Amazon EMR define los permisos de sus roles vinculados a servicios y, a menos que esté definido de otra manera, solo Amazon EMR puede asumir sus roles. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se pueda asociar a ninguna otra entidad de IAM.

Puede eliminar este rol vinculado a servicios para Amazon EMR solo después de eliminar cualquier recurso relacionado y finalizar todos los clústeres de EMR de la cuenta. Esto protege sus recursos de Amazon EMR, puesto que se evita que se puedan eliminar accidentalmente permisos de acceso a los recursos.

## Uso de roles vinculados a servicios para limpieza
<a name="using-service-linked-roles-permissions-cleanup"></a>

Amazon EMR utiliza la **AWSServiceRoleForEMRCleanup**función basada en servicios para conceder a Amazon EMR permiso para cancelar y eliminar los recursos de Amazon EC2 en su nombre si la función vinculada al servicio de Amazon EMR pierde esa capacidad. Si aún no existe, Amazon EMR crea el rol vinculado a servicios automáticamente durante la creación del clúster.

El rol AWSService RoleFor EMRCleanup vinculado al servicio confía en que los siguientes servicios asuman el rol:
+ `elasticmapreduce.amazonaws.com`

La política de permisos de roles AWSService RoleFor EMRCleanup vinculados al servicio permite a Amazon EMR realizar las siguientes acciones en los recursos especificados:
+ Acción: `DescribeInstances` en `ec2`
+ Acción: `DescribeLaunchTemplates` en `ec2`
+ Acción: `DeleteLaunchTemplate` en `ec2`
+ Acción: `DescribeSpotInstanceRequests` en `ec2`
+ Acción: `ModifyInstanceAttribute` en `ec2`
+ Acción: `TerminateInstances` en `ec2`
+ Acción: `CancelSpotInstanceRequests` en `ec2`
+ Acción: `DeleteNetworkInterface` en `ec2`
+ Acción: `DescribeInstanceAttribute` en `ec2`
+ Acción: `DescribeVolumeStatus` en `ec2`
+ Acción: `DescribeVolumes` en `ec2`
+ Acción: `DetachVolume` en `ec2`
+ Acción: `DeleteVolume` en `ec2`
+ Acción: `DescribePlacementGroups` en `ec2`
+ Acción: `DeletePlacementGroup` en `ec2`

Debe configurar permisos para permitir a una entidad de IAM (como un usuario, grupo o rol) crear, editar o eliminar un rol vinculado a servicios.

## Creación de un rol vinculado a un servicio para Amazon EMR
<a name="create-service-linked-role"></a>

No es necesario crear el rol manualmente. AWSService RoleFor EMRCleanup Cuando lanza un clúster, ya sea por primera vez o cuando el rol AWSService RoleFor EMRCleanup vinculado al servicio no está presente, Amazon EMR crea el rol vinculado al AWSService RoleFor EMRCleanup servicio automáticamente. Debe tener permisos para crear un rol vinculado a servicios. Para obtener una instrucción de ejemplo que agregue esta capacidad a la política de permisos de una entidad de IAM (como un usuario, grupo o rol): 

Agregue la siguiente instrucción a la política de permisos de la entidad de IAM que tiene que crear el rol vinculado al servicio:

```
{
             "Sid": "ElasticMapReduceServiceLinkedRole",
             "Effect": "Allow",
             "Action": "iam:CreateServiceLinkedRole",
             "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*",
             "Condition": {
                 "StringEquals": {
                     "iam:AWSServiceName": [
                         "elasticmapreduce.amazonaws.com",
                         "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
                     ]
                 }
             }
 }
```

**importante**  
Si utilizaste Amazon EMR antes del 24 de octubre de 2017, cuando no se admitían las funciones vinculadas a servicios, Amazon EMR creó la AWSService RoleFor EMRCleanup función vinculada a servicios en tu cuenta. Para obtener más información, consulte [Un nuevo rol ha aparecido en la cuenta de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

## Edición de un rol vinculado a un servicio para Amazon EMR
<a name="edit-service-linked-role"></a>

Amazon EMR no le permite editar el rol vinculado al AWSService RoleFor EMRCleanup servicio. Después de crear un rol vinculado a servicios, no puede cambiarle el nombre a este rol vinculado a servicios, ya que varias entidades pueden hacer referencia al rol vinculado a servicios. No obstante, puede editar la descripción del rol vinculado a servicios mediante IAM.

### Edición de la descripción de un rol vinculado a un servicio (consola de IAM)
<a name="edit-service-linked-role-iam-console"></a>

Puede utilizar la consola de IAM para editar la descripción de un rol vinculado a un servicio.

**Para editar la descripción de un rol vinculado a un servicio (consola)**

1. En el panel de navegación de la consola de IAM, elija **Roles**.

1. Seleccione el nombre del rol que desea modificar.

1. En el extremo derecho de **Descripción del rol**, seleccione **Editar**. 

1. Ingrese una descripción nueva en el cuadro y elija **Save changes** (Guardar cambios).

### Edición de la descripción de un rol vinculado a un servicio (CLI de IAM)
<a name="edit-service-linked-role-iam-cli"></a>

Puede utilizar los comandos de IAM del AWS Command Line Interface para editar la descripción de un rol vinculado a un servicio.

**Para cambiar la descripción de un rol vinculado a un servicio (CLI)**

1. (Opcional) Para ver la descripción actual de un rol, ejecute uno de los siguientes comandos:

   ```
   $ aws iam get-role --role-name role-name
   ```

   Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con los comandos de CLI. Por ejemplo, si un rol tiene el ARN `arn:aws:iam::123456789012:role/myrole`, debe referirse a él como **myrole**.

1. Para actualizar la descripción de un rol vinculado a un servicio, ejecute uno de los siguientes comandos:

   ```
   $ aws iam update-role-description --role-name role-name --description description
   ```

### Edición de la descripción de un rol vinculado a un servicio (API de IAM)
<a name="edit-service-linked-role-iam-api"></a>

Puede utilizar la API de IAM para editar la descripción de un rol vinculado a un servicio.

**Para cambiar la descripción de un rol vinculado a un servicio (API)**

1. (Opcional) Para ver la descripción actual de una función, ejecute el siguiente comando:

   API de IAM: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Para actualizar la descripción de una función, use el siguiente comando: 

   API de IAM: [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Eliminación de un rol vinculado a un servicio para Amazon EMR
<a name="delete-service-linked-role"></a>

Si ya no necesita usar una característica o servicio que requieran un rol vinculado a servicios, le recomendamos que elimine dicho rol vinculado a servicios. De esta forma, no tendrá una entidad no utilizada cuya supervisión o mantenimiento no se realizan de forma activa. Sin embargo, debe limpiar el rol vinculado al servicio antes de eliminarlo.

### Saneamiento de un rol vinculado a servicios
<a name="service-linked-role-review-before-delete"></a>

Antes de poder utilizar IAM para eliminar un rol vinculado a servicios, primero debe confirmar que dicho rol vinculado a servicios no tiene sesiones activas y eliminar los recursos que utiliza el rol vinculado a servicios.

**Para comprobar si el rol vinculado a un servicio tiene una sesión activa en la consola de IAM**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación. Seleccione el nombre (no la casilla de verificación) del rol vinculado al AWSService RoleFor EMRCleanup servicio.

1. En la página **Resumen** del rol vinculado a servicios seleccionado, elija **Asesor de acceso**.

1. En la pestaña **Access Advisor**, revise la actividad reciente del rol vinculado al servicio.
**nota**  
Si no está seguro de si Amazon EMR utiliza el rol AWSService RoleFor EMRCleanup vinculado al servicio, puede intentar eliminar el rol vinculado al servicio. Si el servicio está utilizando el rol vinculado a servicios, este no podrá eliminarse y podrá ver las regiones en las que se está utilizando el rol vinculado a servicios. Si el rol vinculado a servicios se está utilizando, debe esperar a que la sesión finalice para poder eliminar el rol vinculado a servicios. No se puede revocar la sesión de un rol vinculado a servicios. 

**Para eliminar los recursos de Amazon EMR utilizados por el AWSService RoleFor EMRCleanup**
+ Termine todos los clústeres de su cuenta. Para obtener más información, consulte [Finalización de un clúster de Amazon EMR en estado de inicio, ejecución o espera.](UsingEMR_TerminateJobFlow.md).

### Eliminación de un rol vinculado a un servicio (consola de IAM)
<a name="delete-service-linked-role-iam-console"></a>

Puede utilizar la consola de IAM para eliminar un rol vinculado a un servicio.

**Para eliminar un rol vinculado a un servicio (consola)**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación. Seleccione la casilla de verificación situada junto a ella AWSService RoleForEMRCleanup, no el nombre o la fila en sí. 

1. En **Role actions (Acciones de rol)** en la parte superior de la página, elija **Delete role (Eliminar rol)**.

1. En el cuadro de diálogo de confirmación, revise los datos del servicio al que se accedió por última vez, que muestran cuándo accedió por última vez a un AWS servicio cada uno de los roles seleccionados. Esto lo ayuda a confirmar si el rol está actualmente activo. Para continuar, elija **Yes, Delete**.

1. Consulte las notificaciones de la consola de IAM para supervisar el progreso de la eliminación del rol vinculado al servicio. Como el proceso de eliminación del rol vinculado a servicios de IAM es asíncrono, dicha tarea puede realizarse correctamente o fallar después de que envía la solicitud de eliminación del rol vinculado a servicios. Si la tarea no se realiza correctamente, puede seleccionar **View details (Ver detalles)** o **View Resources (Ver recursos)** desde las notificaciones para obtener información sobre el motivo por el que no se pudo eliminar el rol. Si la eliminación no pudo producirse porque hay recursos en el servicio que está utilizando el rol, entonces el motivo del error incluye una lista de recursos.

### Eliminación de un rol vinculado a un servicio (CLI de IAM)
<a name="delete-service-linked-role-iam-cli"></a>

Puede utilizar los comandos de IAM desde el AWS Command Line Interface para eliminar un rol vinculado a un servicio. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Si estas condiciones no se cumplen, dicha solicitud se puede denegar. 

**Para eliminar un rol vinculado a un servicio (CLI)**

1. Para comprobar el estado de la tarea de eliminación, debe apuntar el valor de `deletion-task-id` de la respuesta. Escriba el siguiente comando para enviar una solicitud de eliminación de un rol vinculado a un servicio:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name AWSServiceRoleForEMRCleanup
   ```

1. Escriba el siguiente comando para comprobar el estado de la tarea de eliminación:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

### Eliminación de un rol vinculado a un servicio (API de IAM)
<a name="delete-service-linked-role-iam-api"></a>

Puede utilizar la API de IAM para eliminar un rol vinculado a un servicio. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Si estas condiciones no se cumplen, dicha solicitud se puede denegar. 

**Para eliminar un rol vinculado a un servicio (API)**

1. Para enviar una solicitud de eliminación de un rol vinculado a un servicio, llama. [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) En la solicitud, especifique el nombre del AWSService RoleFor EMRCleanup rol.

   Para comprobar el estado de la tarea de eliminación, debe apuntar el valor de `DeletionTaskId` de la respuesta.

1. Para comprobar el estado de la tarea de eliminación, realice una llamada a [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). En la solicitud, especifique el valor de `DeletionTaskId`.

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

## Regiones compatibles para AWSService RoleFor EMRCleanup
<a name="emr-slr-regions"></a>

Amazon EMR admite el uso del rol AWSService RoleFor EMRCleanup vinculado al servicio en las siguientes regiones.


****  

| Nombre de la región | Identidad de la región | Compatibilidad en Amazon EMR | 
| --- | --- | --- | 
| Este de EE. UU. (Norte de Virginia) | us-east-1 | Sí | 
| Este de EE. UU. (Ohio) | us-east-2 | Sí | 
| Oeste de EE. UU. (Norte de California) | us-west-1 | Sí | 
| Oeste de EE. UU. (Oregón) | us-west-2 | Sí | 
| Asia-Pacífico (Mumbai) | ap-south-1 | Sí | 
| Asia-Pacífico (Osaka) | ap-northeast-3 | Sí | 
| Asia-Pacífico (Seúl) | ap-northeast-2 | Sí | 
| Asia-Pacífico (Singapur) | ap-southeast-1 | Sí | 
| Asia-Pacífico (Sídney) | ap-southeast-2 | Sí | 
| Asia-Pacífico (Tokio) | ap-northeast-1 | Sí | 
| Canadá (centro) | ca-central-1 | Sí | 
| Europa (Fráncfort) | eu-central-1 | Sí | 
| Europa (Irlanda) | eu-west-1 | Sí | 
| Europa (Londres) | eu-west-2 | Sí | 
| Europa (París) | eu-west-3 | Sí | 
| América del Sur (São Paulo) | sa-east-1 | Sí | 

# Uso de roles vinculados a servicios con Amazon EMR para el registro de escritura anticipada
<a name="using-service-linked-roles-wal"></a>

[Amazon EMR utiliza funciones vinculadas a AWS Identity and Access Management servicios (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Un rol vinculado a un servicio es un tipo único de rol de IAM que se encuentra vinculado directamente a Amazon EMR. Amazon EMR predefine las funciones vinculadas al servicio e incluyen todos los permisos que el servicio requiere para llamar a otros AWS servicios en su nombre.

Los roles vinculados a servicios funcionan juntamente con el rol de servicio de Amazon EMR y el perfil de instancia de Amazon EC2 para Amazon EMR. Para obtener más información acerca del rol de servicio y del perfil de instancia, consulte [Configure las funciones de servicio de IAM para los permisos de Amazon EMR AWS a los servicios y recursos](emr-iam-roles.md).

Un rol vinculado al servicio simplifica la configuración de Amazon EMR porque ya no tendrá que agregar manualmente los permisos requeridos. Amazon EMR define los permisos de sus roles vinculados a servicios y, a menos que esté definido de otra manera, solo Amazon EMR puede asumir sus roles. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se pueda asociar a ninguna otra entidad de IAM.

Puede eliminar este rol vinculado a servicios para Amazon EMR solo después de eliminar los recursos relacionados y finalizar todos los clústeres de EMR de la cuenta. Esto protege sus recursos de Amazon EMR, puesto que se evita que se puedan eliminar accidentalmente permisos de acceso a los recursos.

## Permisos de roles vinculados a servicios para registro de escritura anticipada (WAL)
<a name="using-service-linked-roles-permissions-wal"></a>

Amazon EMR utiliza la función **AWSServiceRoleForEMRWAL vinculada al** servicio para recuperar el estado de un clúster. 

La función vinculada al servicio de AWSService RoleFor EMRWAL confía en los siguientes servicios para que la asuman:
+ `emrwal.amazonaws.com`

La política de permisos de [`EMRDescribeClusterPolicyForEMRWAL`](EMRDescribeClusterPolicyForEMRWAL.md) para el rol vinculado a servicios permite a Amazon EMR que complete las siguientes acciones en los recursos especificados:
+ Acción: `DescribeCluster` en `*`

Debe configurar los permisos para permitir que una entidad de IAM (en este caso, Amazon EMR WAL) cree, edite o elimine un rol vinculado a servicios. Añada las siguientes instrucciones, según sea necesario, a la política de permisos de su perfil de instancia:

## CreateServiceLinkedRole
<a name="iam-create-wal"></a>

**Para permitir que una entidad de IAM cree la función vinculada al servicio de EMRWAL AWSService RoleFor**

Agregue la siguiente instrucción a la política de permisos de la entidad de IAM que tiene que crear el rol vinculado al servicio:

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## UpdateRoleDescription
<a name="iam-update-wal"></a>

**Para permitir que una entidad de IAM edite la descripción de la función vinculada al servicio de EMRWAL AWSService RoleFor**

Agregue la siguiente instrucción a la política de permisos de la entidad de IAM que tiene que editar la descripción del rol vinculado al servicio:

```
{
    "Effect": "Allow",
    "Action": [
        "iam:UpdateRoleDescription"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## DeleteServiceLinkedRole
<a name="iam-delete-wal"></a>

**Para permitir que una entidad de IAM elimine la función vinculada al servicio de EMRWAL AWSService RoleFor**

Agregue la siguiente instrucción a la política de permisos de la entidad de IAM que tiene que eliminar un rol vinculado al servicio:

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*",
    "Condition": {
        "StringLike": {
            "iam:AWSServiceName": [
                "emrwal.amazonaws.com",
                "elasticmapreduce.amazonaws.com.rproxy.govskope.ca.cn"
            ]
        }
    }
}
```

## Creación de un rol vinculado a un servicio para Amazon EMR
<a name="create-service-linked-role-wal"></a>

No es necesario crear manualmente el rol EMRWAL. AWSService RoleFor Amazon EMR crea este rol vinculado al servicio automáticamente cuando crea un espacio de trabajo de WAL con la CLI de EMRWAL o desde AWS CloudFormation, o HBase creará el rol vinculado al servicio cuando configure un espacio de trabajo para Amazon EMR WAL y el rol vinculado al servicio aún no existe. Debe tener permisos para crear un rol vinculado a servicios. Para instrucciones de ejemplo que agreguen esta capacidad a la política de permisos de una entidad de IAM (como un usuario, grupo o rol), consulte la sección anterior, [Permisos de roles vinculados a servicios para registro de escritura anticipada (WAL)](#using-service-linked-roles-permissions-wal).

## Edición de un rol vinculado a un servicio para Amazon EMR
<a name="edit-service-linked-role-wal"></a>

Amazon EMR no le permite editar el rol vinculado al servicio AWSService RoleFor EMRWAL. Después de crear un rol vinculado a servicios, no puede cambiarle el nombre a este rol vinculado a servicios, ya que varias entidades pueden hacer referencia al rol vinculado a servicios. No obstante, puede editar la descripción del rol vinculado a servicios mediante IAM.

### Edición de la descripción de un rol vinculado a un servicio (consola de IAM)
<a name="edit-service-linked-role-iam-console"></a>

Puede utilizar la consola de IAM para editar la descripción de un rol vinculado a un servicio.

**Para editar la descripción de un rol vinculado a un servicio (consola)**

1. En el panel de navegación de la consola de IAM, elija **Roles**.

1. Seleccione el nombre del rol que desea modificar.

1. En el extremo derecho de **Descripción del rol**, seleccione **Editar**. 

1. Ingrese una descripción nueva en el cuadro y elija **Save changes** (Guardar cambios).

### Edición de la descripción de un rol vinculado a un servicio (CLI de IAM)
<a name="edit-service-linked-role-iam-cli"></a>

Puede utilizar los comandos de IAM del AWS Command Line Interface para editar la descripción de un rol vinculado a un servicio.

**Para cambiar la descripción de un rol vinculado a un servicio (CLI)**

1. (Opcional) Para ver la descripción actual de un rol, ejecute uno de los siguientes comandos:

   ```
   $ aws iam get-role --role-name role-name
   ```

   Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con los comandos de CLI. Por ejemplo, si un rol tiene el ARN `arn:aws:iam::123456789012:role/myrole`, debe referirse a él como **myrole**.

1. Para actualizar la descripción de un rol vinculado a un servicio, ejecute uno de los siguientes comandos:

   ```
   $ aws iam update-role-description --role-name role-name --description description
   ```

### Edición de la descripción de un rol vinculado a un servicio (API de IAM)
<a name="edit-service-linked-role-iam-api"></a>

Puede utilizar la API de IAM para editar la descripción de un rol vinculado a un servicio.

**Para cambiar la descripción de un rol vinculado a un servicio (API)**

1. (Opcional) Para ver la descripción actual de una función, ejecute el siguiente comando:

   API de IAM: [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Para actualizar la descripción de una función, use el siguiente comando: 

   API de IAM: [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Eliminación de un rol vinculado a un servicio para Amazon EMR
<a name="delete-service-linked-role-wal"></a>

Si ya no necesita usar una característica o servicio que requieran un rol vinculado a servicios, le recomendamos que elimine dicho rol vinculado a servicios. De esta forma, no tendrá una entidad no utilizada cuya supervisión o mantenimiento no se realizan de forma activa. Sin embargo, debe limpiar el rol vinculado al servicio antes de eliminarlo.

**nota**  
La operación de registro de escritura anticipada no se ve afectada si eliminas la función AWSService RoleFor EMRWAL, pero Amazon EMR no eliminará automáticamente los registros que creó una vez que el clúster de EMR finalice. Por lo tanto, tendrá que eliminar manualmente los registros de Amazon EMR WAL si elimina el rol vinculado a servicios.

### Limpiar un rol vinculado a servicios
<a name="service-linked-role-review-before-delete"></a>

Antes de poder utilizar IAM para eliminar un rol vinculado a un servicio, primero debe confirmar que dicho rol no tiene sesiones activas y eliminar los recursos que utiliza.

**Para comprobar si el rol vinculado a un servicio tiene una sesión activa en la consola de IAM**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación. Seleccione el nombre (no la casilla de verificación) del rol de EMRWAL. AWSService RoleFor

1. En la página **Summary (Resumen)** del rol seleccionado, seleccione **Access Advisor**.

1. En la pestaña **Access Advisor**, revise la actividad reciente del rol vinculado al servicio.
**nota**  
Si no está seguro de si Amazon EMR utiliza la función AWSService RoleFor EMRWAL, puede intentar eliminar la función vinculada al servicio. Si el servicio está utilizando el rol, este no podrá eliminarse y podrá ver las regiones en las que se está utilizando el rol vinculado a servicios. Si el rol vinculado a servicios se está utilizando, debe esperar a que la sesión finalice para poder eliminar el rol vinculado a servicios. No se puede revocar la sesión de un rol vinculado a servicios. 

**Para eliminar los recursos de Amazon EMR utilizados por el EMRWAL AWSService RoleFor**
+ Termine todos los clústeres de su cuenta. Para obtener más información, consulte [Finalización de un clúster de Amazon EMR en estado de inicio, ejecución o espera.](UsingEMR_TerminateJobFlow.md).

### Eliminación de un rol vinculado a un servicio (consola de IAM)
<a name="delete-service-linked-role-iam-console"></a>

Puede utilizar la consola de IAM para eliminar un rol vinculado a un servicio.

**Para eliminar un rol vinculado a un servicio (consola)**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación. Seleccione la casilla de verificación situada junto a AWSService RoleFor EMRWAL, no el nombre o la fila en sí. 

1. En **Role actions (Acciones de rol)** en la parte superior de la página, elija **Delete role (Eliminar rol)**.

1. En el cuadro de diálogo de confirmación, revise los datos del servicio al que se accedió por última vez, que muestran cuándo accedió por última vez a un AWS servicio cada uno de los roles seleccionados. Esto lo ayuda a confirmar si el rol está actualmente activo. Para continuar, elija **Yes, Delete**.

1. Consulte las notificaciones de la consola de IAM para supervisar el progreso de la eliminación del rol vinculado al servicio. Como el proceso de eliminación del rol vinculado al servicio de IAM es asíncrono, dicha tarea puede realizarse correctamente o fallar después de que envía la solicitud de eliminación. Si la tarea no se realiza correctamente, puede seleccionar **View details (Ver detalles)** o **View Resources (Ver recursos)** desde las notificaciones para obtener información sobre el motivo por el que no se pudo eliminar el rol. Si la eliminación no pudo producirse porque hay recursos en el servicio que está utilizando el rol, entonces el motivo del error incluye una lista de recursos.

### Eliminación de un rol vinculado a un servicio (CLI de IAM)
<a name="delete-service-linked-role-iam-cli"></a>

Puede utilizar los comandos de IAM desde el AWS Command Line Interface para eliminar un rol vinculado a un servicio. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Si estas condiciones no se cumplen, dicha solicitud se puede denegar. 

**Para eliminar un rol vinculado a un servicio (CLI)**

1. Para comprobar el estado de la tarea de eliminación, debe apuntar el valor de `deletion-task-id` de la respuesta. Escriba el siguiente comando para enviar una solicitud de eliminación de un rol vinculado a un servicio:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name AWSServiceRoleForEMRWAL
   ```

1. Escriba el siguiente comando para comprobar el estado de la tarea de eliminación:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

### Eliminación de un rol vinculado a un servicio (API de IAM)
<a name="delete-service-linked-role-iam-api"></a>

Puede utilizar la API de IAM para eliminar un rol vinculado a un servicio. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Si estas condiciones no se cumplen, dicha solicitud se puede denegar. 

**Para eliminar un rol vinculado a un servicio (API)**

1. Para enviar una solicitud de eliminación de un rol vinculado a un servicio, llama. [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html) En la solicitud, especifique el nombre del rol de AWSService RoleFor EMRWAL.

   Para comprobar el estado de la tarea de eliminación, debe apuntar el valor de `DeletionTaskId` de la respuesta.

1. Para comprobar el estado de la tarea de eliminación, realice una llamada a [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). En la solicitud, especifique el valor de `DeletionTaskId`.

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

## Regiones compatibles con EMRWAL AWSService RoleFor
<a name="emr-slr-regions-wal"></a>

Amazon EMR admite el uso de la función vinculada AWSService RoleFor al servicio EMRWAL en las siguientes regiones.


****  

| Nombre de la región | Identidad de la región | Compatibilidad en Amazon EMR | 
| --- | --- | --- | 
| Este de EE. UU. (Norte de Virginia) | us-east-1 | Sí | 
| Este de EE. UU. (Ohio) | us-east-2 | Sí | 
| Oeste de EE. UU. (Norte de California) | us-west-1 | Sí | 
| Oeste de EE. UU. (Oregón) | us-west-2 | Sí | 
| Asia-Pacífico (Mumbai) | ap-south-1 | Sí | 
| Asia-Pacífico (Singapur) | ap-southeast-1 | Sí | 
| Asia-Pacífico (Sídney) | ap-southeast-2 | Sí | 
| Asia-Pacífico (Tokio) | ap-northeast-1 | Sí | 
| Europa (Fráncfort) | eu-central-1 | Sí | 
| Europa (Irlanda) | eu-west-1 | Sí | 

# Personalización de roles de IAM con Amazon EMR
<a name="emr-iam-roles-custom"></a>

Es posible que quiera personalizar los permisos y los roles de servicio de IAM para limitar los privilegios de acuerdo con los requisitos de seguridad. Para personalizar los permisos, le recomendamos que cree nuevos roles y políticas. Comience con los permisos de las políticas administradas para los roles predeterminados (por ejemplo, `AmazonElasticMapReduceforEC2Role` y `AmazonElasticMapReduceRole`). A continuación, copie y pegue el contenido de las nuevas instrucciones de política, modifique los permisos según corresponda y asocie las políticas de permisos modificadas a los roles que cree. Debe disponer de los permisos de IAM adecuados para trabajar con los roles y las políticas. Para obtener más información, consulte [Cómo permitir a los usuarios y grupos crear y modificar roles](emr-iam-roles-create-permissions.md).

Si crea un rol de EMR personalizado para EC2, siga el flujo de trabajo básico, que crea automáticamente un perfil de instancia con el mismo nombre. Amazon EC2 le permite crear roles y perfiles de instancia con nombres diferentes, pero Amazon EMR no admite esta configuración y se produce un error “Perfil de instancia no válido” al crear el clúster. 

**importante**  
Las políticas insertadas no se actualizan automáticamente cuando cambian los requisitos de servicio. Si crea y adjunta políticas insertadas, tenga en cuenta que se pueden producir actualizaciones de servicio que provoquen errores de permisos de forma repentina. Para obtener más información, consulte [Políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_managed-vs-inline.html) en la *Guía del usuario de IAM* y [Cómo especificar roles de IAM personalizados al crear un clúster](#emr-iam-roles-launch-jobflow).

Para obtener más información sobre cómo trabajar con los roles de IAM, consulte los siguientes temas en la *Guía del usuario de IAM*:
+  [Crear un rol para delegar permisos a un servicio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) 
+  [Modificación de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/modifying-role.html) 
+  [Eliminación de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/deleting-roles.html) 

## Cómo especificar roles de IAM personalizados al crear un clúster
<a name="emr-iam-roles-launch-jobflow"></a>

El rol de servicio para Amazon EMR y el rol para el perfil de instancia de Amazon EC2 se especifican al crear un clúster. El usuario que crea los clústeres necesita permisos para recuperar y asignar roles a Amazon EMR y a las instancias de EC2. De lo contrario, se produce el error **La cuenta no tiene autorización para llamar a EC2**. Para obtener más información, consulte [Cómo permitir a los usuarios y grupos crear y modificar roles](emr-iam-roles-create-permissions.md).

### Uso de la consola para especificar roles personalizados
<a name="emr-iam-roles-launch-console"></a>

Cuando cree un clúster, puede especificar un rol de servicio personalizado para Amazon EMR, un rol personalizado para el perfil de instancia de EC2 y un rol de Auto Scaling personalizado mediante **Opciones avanzadas**. Si utiliza las **Quick options (Opciones rápidas)**, se especifican el rol de servicio y el rol para el perfil de instancia de EC2 predeterminados. Para obtener más información, consulte [Roles de servicio de IAM utilizados por Amazon EMR](emr-iam-service-roles.md).

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

**Especificar roles de IAM personalizados mediante la consola**

Al crear un clúster con la consola, debe especificar un rol de servicio personalizado para Amazon EMR y un rol personalizado para el perfil de instancia de EC2. Para obtener más información, consulte [Roles de servicio de IAM utilizados por Amazon EMR](emr-iam-service-roles.md).

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

1. En **EMR en EC2** situado en el panel de navegación izquierdo, elija **Clústeres** y, a continuación, elija **Crear clúster**.

1. En **Configuración y permisos de seguridad**, busque los campos **Rol de IAM para el perfil de instancia** y **Rol de servicio para Amazon EMR**. Seleccione un rol en la lista para cada tipo de rol. Solo aparecerán los roles de la cuenta que tengan la política de confianza adecuada para ese tipo de rol.

1. Elija cualquier otra opción que se aplique a su clúster. 

1. Para lanzar el clúster, elija **Crear clúster**.

------

### Utilícela AWS CLI para especificar funciones personalizadas
<a name="emr-iam-roles-launch-cli"></a>

Puede especificar un rol de servicio para Amazon EMR y un rol de servicio para las instancias de EC2 del clúster de forma explícita mediante las opciones con el comando `create-cluster` desde la AWS CLI. Utilice la opción `--service-role` para especificar el rol de servicio. Utilice el argumento `InstanceProfile` de la opción `--ec2-attributes` para especificar el rol para el perfil de instancia de EC2.

El rol de Auto Scaling se especifica mediante la opción `--auto-scaling-role`. Para obtener más información, consulte [Uso del escalado automático con una política personalizada para grupos de instancias en Amazon EMR](emr-automatic-scaling.md).

**Para especificar funciones de IAM personalizadas mediante el AWS CLI**
+ El siguiente comando especifica el rol de servicio personalizado *MyCustomServiceRoleForEMR* y el rol personalizado para el perfil de instancia de EC2 *MyCustomServiceRoleForClusterEC2Instances* al lanzar un clúster. Este ejemplo utiliza el rol de Amazon EMR predeterminado.
**nota**  
Se incluyen caracteres de continuación de línea de Linux (\$1) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

  ```
  aws emr create-cluster --name "Test cluster" --release-label emr-7.12.0 \
  --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \
  --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\
  KeyName=myKey --instance-type m5.xlarge --instance-count 3
  ```

Puede utilizar estas opciones para especificar roles predeterminados de forma explícita en lugar de usar la opción `--use-default-roles`. La opción `--use-default-roles` especifica el rol de servicio y el rol para el perfil de la instancia de EC2 que se ha definido en el archivo `config` de la AWS CLI.

El siguiente ejemplo muestra el contenido de un `config` archivo para AWS CLI las funciones personalizadas especificadas para Amazon EMR. Con este archivo de configuración, cuando se especifica la opción `--use-default-roles`, el clúster se crea con *MyCustomServiceRoleForEMR* y *MyCustomServiceRoleForClusterEC2Instances*. De forma predeterminada, el archivo `config` especifica el valor predeterminado `service_role` como `AmazonElasticMapReduceRole` y el valor predeterminado `instance_profile` como `EMR_EC2_DefaultRole`.

```
[default]
output = json
region = us-west-1
aws_access_key_id = myAccessKeyID
aws_secret_access_key = mySecretAccessKey
emr =
     service_role = MyCustomServiceRoleForEMR
     instance_profile = MyCustomServiceRoleForClusterEC2Instances
```

# Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3
<a name="emr-emrfs-iam-roles"></a>

**nota**  
La capacidad de asignación de roles de EMRFS que se describe en esta página se mejoró con la introducción de Amazon S3 Access Grants en Amazon EMR 6.15.0. Para obtener una solución de control de acceso escalable para los datos en Amazon S3, recomendamos utilizar [S3 Access Grants con Amazon EMR](emr-access-grants.md).

Cuando una aplicación que se ejecuta en un clúster hace referencia a los datos con el formato `s3://mydata`, Amazon EMR utiliza EMRFS para realizar la solicitud. Para interactuar con Amazon S3, EMRFS asume las políticas de permisos que se adjuntan a su [perfil de instancia de Amazon EC2](emr-iam-role-for-ec2.md). El mismo perfil de instancia de Amazon EC2 se utiliza independientemente del usuario o grupo mediante la aplicación o la ubicación de los datos en Amazon S3. 

Si tiene clústeres con varios usuarios que necesitan diferentes niveles de acceso a los datos en Amazon S3 a través de EMRFS, puede establecer una configuración de seguridad con los roles de IAM para EMRFS. EMRFS puede asumir un rol de servicio diferente para las instancias de EC2 del clúster en función del usuario o grupo que realiza la solicitud o en función de la ubicación de los datos en Amazon S3. Cada rol de IAM para EMRFS puede tener diferentes permisos para obtener acceso a los datos en Amazon S3. Para obtener más información acerca del rol de servicio para las instancias de EC2 del clúster, consulte [Rol de servicio para instancias de EC2 del clúster (perfil de instancia de EC2)](emr-iam-role-for-ec2.md).

Las versiones 5.10.0 y posteriores de Amazon EMR admiten el uso de roles de IAM personalizados para EMRFS. Si utiliza una versión anterior o tiene requisitos de autorización que los roles de IAM para EMRFS no son capaces de proporcionar, puede crear un proveedor de credenciales personalizado en su lugar. Para obtener más información, consulte [Autorización de acceso a los datos de EMRFS en Amazon S3](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-plan-credentialsprovider). 

Cuando se usa una configuración de seguridad para especificar roles de IAM para EMRFS, debe definir asignaciones de roles. Cada asignación de roles especifica un rol de IAM que corresponde a los identificadores. Dichos identificadores determinan la base para el acceso a Amazon S3 a través de EMRFS. Los identificadores pueden ser usuarios, grupos o prefijos de Amazon S3 que indican una ubicación de datos. Cuando EMRFS realiza una solicitud a Amazon S3, y la solicitud coincide con la base para el acceso, EMRFS tiene las instancias de EC2 del clúster que asumen el rol de IAM correspondiente para la solicitud. Los permisos de IAM asociados a ese rol se aplican en lugar de los permisos de IAM adjuntos al rol de servicio para las instancias de EC2 del clúster.

Los usuarios y grupos de un mapeo de roles son usuarios y grupos de Hadoop que se definen en el clúster. Los usuarios y grupos se transfieren a EMRFS en el contexto de la aplicación que lo utiliza (por ejemplo, una suplantación de usuario de YARN). El prefijo de Amazon S3 puede ser un especificador de bucket de cualquier profundidad (por ejemplo, `s3://amzn-s3-demo-bucket` o `s3://amzn-s3-demo-bucket/myproject/mydata`). Puede especificar varios identificadores dentro de un único mapeo de roles, pero todos deben ser del mismo tipo.

**importante**  
Los roles de IAM para EMRFS proporcionan aislamiento de la aplicación entre los usuarios de la aplicación. No proporcionan aislamiento de nivel del host entre los usuarios del host. Cualquier usuario con acceso a el clúster puede omitir el aislamiento para asumir cualquiera de los roles.

Cuando una aplicación del clúster realiza una solicitud a Amazon S3 a través de EMRFS, EMRFS evalúa las asignaciones de roles en el orden descendente en el que aparecen en la configuración de seguridad. Si una solicitud realizada a través de EMRFS no coincide con ningún identificador, EMRFS vuelve a usar el rol de servicio de las instancias de EC2 del clúster. Por este motivo, le recomendamos que las políticas asociadas a este rol limiten los permisos a Amazon S3. Para obtener más información, consulte [Rol de servicio para instancias de EC2 del clúster (perfil de instancia de EC2)](emr-iam-role-for-ec2.md).

## Configurar roles de
<a name="emr-emrfs-iam-roles-role-configuration"></a>

Antes de definir una configuración de seguridad con roles de IAM para EMRFS, planifique y cree los roles y las políticas de permisos que va a adjuntar a los roles. Para obtener más información, consulte [¿Cómo funcionan los roles de instancias de Amazon EC2?](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html) en la *Guía del usuario de IAM*. Al crear políticas de permisos, le recomendamos que empiece con la política administrada asociada al rol de Amazon EMR predeterminado para EC2 y que luego edite esta política de acuerdo con sus necesidades. El nombre del rol predeterminado es `EMR_EC2_DefaultRole` y la política administrada predeterminada para editar es `AmazonElasticMapReduceforEC2Role`. Para obtener más información, consulte [Rol de servicio para instancias de EC2 del clúster (perfil de instancia de EC2)](emr-iam-role-for-ec2.md).

### Actualización de políticas de confianza para asumir los permisos del rol
<a name="emr-emrfs-iam-role-trust-policy"></a>

Cada rol que utiliza EMRFS debe tener una política de confianza que permita que el rol de Amazon EMR del clúster de EC2 lo asuma. Igualmente, el rol de Amazon EMR del clúster para EC2 debe tener una política de confianza que permita que los roles de EMRFS lo asuman.

En el ejemplo siguiente, la política de confianza se asocia a los roles para EMRFS. La instrucción permite que el rol de Amazon EMR predeterminado de EC2 asuma el rol. Por ejemplo, si tiene dos roles de EMRFS ficticios, `EMRFSRole_First` y `EMRFSRole_Second`, esta instrucción de la política se añade a las políticas de confianza para cada uno de ellos.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::123456789012:role/EMR_EC2_DefaultRole",
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

Además, en el ejemplo siguiente, se añade la instrucción de la política de confianza a `EMR_EC2_DefaultRole` para permitir que los dos roles de EMRFS ficticios la asuman.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/EMRFSRole_First",
        "arn:aws:iam::123456789012:role/EMRFSRole_Second"
      ],
      "Sid": "AllowSTSAssumerole"
    }
  ]
}
```

------

**Para actualizar la política de confianza de un rol de IAM**

Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Elija **Roles**, escriba el nombre del rol en **Search (Buscar)** y, a continuación, seleccione su **Role name (Nombre de rol)**.

1. Seleccione **Trust relationships (Relaciones de confianza)**, **Edit trust relationship (Editar relaciones de confianza)**.

1. Agregue una instrucción de confianza de acuerdo con **Documento de política** siguiendo las directrices anteriores y, a continuación, seleccione **Actualizar la política de confianza**.

### Especificación de un rol como un usuario de claves
<a name="emr-emrfs-iam-role-key-user"></a>

Si un rol permite el acceso a una ubicación en Amazon S3 que está cifrada mediante una AWS KMS key, asegúrese de que el rol se especifica como un usuario de claves. Esto proporciona al rol permiso para utilizar la clave de KMS. Para obtener más información, consulte [Políticas de claves en AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) en la *Guía para desarrolladores de AWS Key Management Service *.

## Definición de una configuración de seguridad con roles de IAM para EMRFS
<a name="emr-emrfs-iam-roles-setup"></a>

**importante**  
Si no se aplica ninguno de los roles de IAM para EMRFS especificados, EMRFS vuelve a usar el rol de Amazon EMR para EC2. Considere la posibilidad de personalizar este rol para restringir los permisos en Amazon S3 según sea necesario para su aplicación y de especificar después este rol personalizado en lugar de `EMR_EC2_DefaultRole` cuando cree un clúster. Para obtener más información, consulte [Personalización de roles de IAM con Amazon EMR](emr-iam-roles-custom.md) y [Cómo especificar roles de IAM personalizados al crear un clúster](emr-iam-roles-custom.md#emr-iam-roles-launch-jobflow).

**Para especificar roles de IAM para solicitudes de EMRFS a Amazon S3 con la consola**

1. Cree una configuración de seguridad que especifique los mapeos de roles:

   1. En la consola de Amazon EMR, seleccione **Configuraciones de seguridad**, **Crear**.

   1. Escriba un nombre para la configuración de seguridad en el campo **Name (Nombre)**. Este nombre se utiliza para especificar la configuración de seguridad cuando crea un clúster.

   1. Elija **Usar roles de IAM para solicitudes de EMRFS a Amazon S3**.

   1. Seleccione el **rol de IAM** que desea aplicar, elija en la lista **Base para el acceso** un identificador de tipo (**Usuarios**, **Grupos** o **Prefijos de S3**) y especifique los identificadores correspondientes. Si utiliza varios identificadores, sepárelos con una coma y sin espacios. Para obtener más información acerca de cada tipo de identificador, consulte [JSON configuration reference](#emrfs-seccfg-json) a continuación.

   1. Elija **Add role** (Añadir rol) para configurar mapeos de roles adicionales, tal y como se describe en el paso anterior.

   1. Defina otras opciones de configuración de seguridad según corresponda y elija **Create (Crear)**. Para obtener más información, consulte [Cree una configuración de seguridad con la consola Amazon EMR o con AWS CLI](emr-create-security-configuration.md).

1. Especifique la configuración de seguridad que creó anteriormente cuando cree un clúster. Para obtener más información, consulte [Especificar una configuración de seguridad para un clúster de Amazon EMR](emr-specify-security-configuration.md).

**Para especificar las funciones de IAM para las solicitudes de EMRFS a Amazon S3 mediante el AWS CLI**

1. Utilice el comando `aws emr create-security-configuration`, especificando un nombre para la configuración de seguridad y los detalles de configuración de seguridad en formato JSON.

   El comando de ejemplo que se muestra a continuación crea una configuración de seguridad con el nombre `EMRFS_Roles_Security_Configuration`. Se basa en una estructura JSON del archivo `MyEmrfsSecConfig.json`, que se guarda en el mismo directorio en el que se ejecuta el comando.

   ```
   aws emr create-security-configuration --name EMRFS_Roles_Security_Configuration --security-configuration file://MyEmrFsSecConfig.json.
   ```

   Utilice las siguientes directrices para la estructura del archivo `MyEmrFsSecConfig.json`. Puede especificar esta estructura junto con estructuras de otras opciones de configuración de seguridad. Para obtener más información, consulte [Cree una configuración de seguridad con la consola Amazon EMR o con AWS CLI](emr-create-security-configuration.md).

   A continuación, se muestra un ejemplo de fragmento de JSON para especificar roles de IAM personalizados para EMRFS dentro de una configuración de seguridad. Muestra las asignaciones de roles para los tres tipos de identificadores diferentes, seguidas de una referencia de parámetros. 

   ```
   {
     "AuthorizationConfiguration": {
       "EmrFsConfiguration": {
         "RoleMappings": [{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_user1",
           "IdentifierType": "User",
           "Identifiers": [ "user1" ]
         },{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_to_demo_s3_buckets",
           "IdentifierType": "Prefix",
           "Identifiers": [ "s3://amzn-s3-demo-bucket1/","s3://amzn-s3-demo-bucket2/" ]
         },{
           "Role": "arn:aws:iam::123456789101:role/allow_EMRFS_access_for_AdminGroup",
           "IdentifierType": "Group",
           "Identifiers": [ "AdminGroup" ]
         }]
       }
     }
   }
   ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html)

1. Utilice el comando `aws emr create-cluster` para crear un clúster y especificar la configuración de seguridad que creó en el paso anterior. 

   En el siguiente ejemplo, se crea un clúster con las aplicaciones de Hadoop básicas predeterminadas instaladas. El clúster utiliza la configuración de seguridad creada anteriormente como `EMRFS_Roles_Security_Configuration` y también utiliza un rol de Amazon EMR personalizado para EC2, `EC2_Role_EMR_Restrict_S3`, que se especifica mediante el argumento `InstanceProfile` del parámetro `--ec2-attributes`.
**nota**  
Se incluyen caracteres de continuación de línea de Linux (\$1) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

   ```
   aws emr create-cluster --name MyEmrFsS3RolesCluster \
   --release-label emr-7.12.0 --ec2-attributes InstanceProfile=EC2_Role_EMR_Restrict_S3,KeyName=MyKey \
   --instance-type m5.xlarge --instance-count 3 \
   --security-configuration EMRFS_Roles_Security_Configuration
   ```

# Utilice políticas basadas en recursos para el acceso de Amazon EMR al catálogo de datos de Glue AWS
<a name="emr-iam-roles-glue"></a>

Si usa AWS Glue junto con Hive, Spark o Presto en Amazon EMR, AWS Glue admite políticas basadas en recursos para controlar el acceso a los recursos del catálogo de datos. Estos recursos incluyen bases de datos, tablas, conexiones y funciones definidas por el usuario. Para obtener más información, consulte [Políticas de recursos de AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) en la *Guía para desarrolladores de AWS Glue*.

Al utilizar políticas basadas en recursos para limitar el acceso a AWS Glue desde Amazon EMR, el principal que especifique en la política de permisos debe ser el ARN del rol asociado al perfil de instancia EC2 que se especifica cuando se crea un clúster. Por ejemplo, para una política basada en recursos adjunta a un catálogo, puede especificar el ARN del rol para el rol de servicio predeterminado para las instancias EC2 del clúster, *EMR\$1EC2\$1DefaultRole* como`Principal`, utilizando el formato que se muestra en el siguiente ejemplo:

```
arn:aws:iam::acct-id:role/EMR_EC2_DefaultRole
```

*acct-id*Puede ser diferente del ID de la cuenta de AWS Glue. Esto permite el acceso desde clústeres de EMR en diferentes cuentas. Puede especificar varias entidades principales, cada una de ellas desde una cuenta diferente.

# Utilice las funciones de IAM con aplicaciones que llamen directamente a AWS los servicios
<a name="emr-iam-roles-calling"></a>

Las aplicaciones que se ejecutan en las instancias EC2 de un clúster pueden usar el perfil de instancia EC2 para obtener credenciales de seguridad temporales al llamar a los servicios. AWS 

Las versiones de Hadoop disponibles con la versión 2.3.0 y posteriores de Amazon EMR ya se han actualizado para utilizar roles de IAM. Si su aplicación se ejecuta estrictamente sobre la arquitectura Hadoop y no llama directamente a ningún servicio AWS, debería funcionar con las funciones de IAM sin modificaciones.

Si su aplicación llama AWS directamente a los servicios, debe actualizarla para aprovechar las funciones de IAM. Esto significa que, en lugar de obtener credenciales de cuenta de `/etc/hadoop/conf/core-site.xml` en las instancias de EC2 del clúster, la aplicación utiliza un SDK para acceder a los recursos que utilizan roles de IAM o llama a los metadatos de la instancia de EC2 para obtener las credenciales temporales.

**Para acceder a AWS los recursos con funciones de IAM mediante un SDK**
+ En los siguientes temas se muestra cómo usar varios de ellos para acceder AWS SDKs a las credenciales temporales mediante los roles de IAM. Cada tema comienza con una versión de una aplicación que no utiliza roles de IAM y, a continuación, realiza un recorrido por el proceso de conversión de dicha aplicación para utilizar roles de IAM. 
  +  [Uso de roles de IAM para instancias de Amazon EC2 con el SDK para Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-roles.html) en la *Guía para desarrolladores de AWS SDK para Java * 
  +  [Uso de roles de IAM para instancias de Amazon EC2 con el SDK para .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-roles.html) en la *Guía para desarrolladores de AWS SDK para .NET * 
  +  [Uso de roles de IAM para instancias de Amazon EC2 con el SDK para PHP](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/php-dg-roles.html) en la *Guía para desarrolladores de AWS SDK para PHP ;* 
  +  [Uso de roles de IAM para instancias de Amazon EC2 con el SDK para Ruby](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/ruby-dg-roles.html) en la *Guía para desarrolladores de AWS SDK para Ruby * 

**Para obtener credenciales temporales de metadatos de instancias de EC2**
+ Llame a la siguiente URL desde una instancia de EC2 que se ejecute con la función de IAM especificada, que devolverá las credenciales de seguridad temporales asociadas (AccessKeyId, SecretAccessKey SessionToken, y caducidad). En el ejemplo que aparece a continuación se utiliza el perfil de instancia predeterminado para Amazon EMR, `EMR_EC2_DefaultRole`. 

  ```
  GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole
  ```

Para obtener más información sobre cómo escribir aplicaciones que utilizan funciones de IAM, consulte [Conceder acceso AWS a los recursos a las aplicaciones que se ejecutan en instancias de Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/role-usecase-ec2app.html).

Para obtener más información acerca de las credenciales de seguridad temporales, consulte [Uso de credenciales de seguridad temporales](https://docs.aws.amazon.com/STS/latest/UsingSTS/using-temp-creds.html) en la guía *Uso de credenciales de seguridad temporales*. 

# Cómo permitir a los usuarios y grupos crear y modificar roles
<a name="emr-iam-roles-create-permissions"></a>

Las entidades principales de IAM (usuarios y grupos) que crean, modifican y especifican roles para un clúster, incluidos los roles predeterminados, deben tener permisos para realizar las acciones siguientes. Para obtener información sobre cada una de las acciones, consulte [Acciones](https://docs.aws.amazon.com/IAM/latest/APIReference/API_Operations.html) en la *Referencia de la API de IAM*.
+ `iam:CreateRole`
+ `iam:PutRolePolicy`
+ `iam:CreateInstanceProfile`
+ `iam:AddRoleToInstanceProfile`
+ `iam:ListRoles`
+ `iam:GetPolicy`
+ `iam:GetInstanceProfile`
+ `iam:GetPolicyVersion`
+ `iam:AttachRolePolicy`
+ `iam:PassRole`

El permiso `iam:PassRole` permite la creación del clúster. Los permisos restantes permiten la creación de las funciones predeterminadas.

Para obtener más información acerca de la actualización de permisos en IAM, consulte [Cambio de los permisos de un usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) en la *Guía del usuario de IAM*.