

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.

# Configuración de roles de IAM
<a name="emr-spark-upgrade-agent-iam-role"></a>

La CloudFormation pila de instrucciones de configuración automatiza la configuración de los roles de IAM por usted. Si desea ejecutarlo manualmente, siga las instrucciones que aparecen a continuación:

## Configuración del rol de IAM para el servidor MCP
<a name="emr-spark-upgrade-agent-iam-mcp-server"></a>

Para acceder al servidor MCP gestionado por SMUS, se requiere un rol de IAM con la siguiente política en línea:

```
{  
    "Version": "2012-10-17",		 	 	 
    "Statement": [  
        {  
            "Sid": "AllowUseSagemakerUnifiedStudioMcpServer",  
            "Effect": "Allow",  
            "Action": [  
                "sagemaker-unified-studio-mcp:InvokeMcp",  
                "sagemaker-unified-studio-mcp:CallReadOnlyTool",  
                "sagemaker-unified-studio-mcp:CallPrivilegedTool"  
            ],  
            "Resource": [  
                "*"  
            ]  
        }  
    ]  
}
```

En los siguientes pasos, crearemos un perfil para este rol. La cuenta que asuma este rol para obtener las credenciales debe agregarse a la política de asumir el rol.

```
{  
  "Version": "2012-10-17",		 	 	 
  "Statement": [  
    {  
      "Sid": "AllowAccountToAssumeRole",  
      "Effect": "Allow",  
      "Principal": { "AWS": "arn:aws:iam::<accountId>:root" },  
      "Action": "sts:AssumeRole"  
    }  
  ]  
}
```

## Permisos adicionales por modo de implementación (EMR- /EMR-S) EC2
<a name="emr-spark-upgrade-agent-iam-deployment-modes"></a>

### EMR- Aplicaciones EC2
<a name="emr-spark-upgrade-agent-iam-emr-ec2"></a>

Sustituya el depósito provisional de Amazon S3 de la política por el depósito de Amazon S3 en el que desea almacenar los artefactos actualizados.

```
{  
  "Version": "2012-10-17",		 	 	 
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Action": [  
        "elasticmapreduce:DescribeCluster",  
        "elasticmapreduce:DescribeStep",  
        "elasticmapreduce:ListSteps",  
        "elasticmapreduce:ListClusters",  
        "elasticmapreduce:DescribeJobFlows",  
        "elasticmapreduce:AddJobFlowSteps",  
        "elasticmapreduce:CreatePersistentAppUI",  
        "elasticmapreduce:DescribePersistentAppUI",  
        "elasticmapreduce:GetPersistentAppUIPresignedURL"  
      ],  
      "Resource": "*"  
    },  
    {  
      "Effect": "Allow",  
      "Action": [  
        "s3:GetBucket*",  
        "s3:GetObject*",  
        "s3:List*",  
        "s3:Put*"  
      ],  
      "Resource": [  
        "arn:aws:s3:::<s3-staging-bucket>",  
        "arn:aws:s3:::<s3-staging-bucket>/*"  
      ]  
    }  
  ]  
}
```

#### Permisos de KMS: depósito provisional
<a name="emr-spark-upgrade-agent-iam-kms-staging"></a>

Si el depósito provisional está cifrado con una CMK, añada la siguiente política. El servicio utilizará automáticamente la CMK configurada en el depósito al cargar los datos.

```
{  
  "Effect": "Allow",  
  "Action": [  
    "kms:GenerateDataKey",  
    "kms:Encrypt"  
  ],  
  "Resource": "arn:aws:kms:<region>:<account-id>:key/<cmk-key-id>"  
}
```

### Aplicaciones EMR sin servidor
<a name="emr-spark-upgrade-agent-iam-emr-serverless"></a>

Sustituya el depósito provisional de Amazon S3 de la política por el depósito de Amazon S3 en el que desea almacenar los artefactos actualizados.

```
{  
  "Version": "2012-10-17",		 	 	 
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Action": [  
        "emr-serverless:StartJobRun",  
        "emr-serverless:GetJobRun",  
        "emr-serverless:GetApplication",  
        "emr-serverless:ListApplications",  
        "emr-serverless:GetDashboardForJobRun"  
      ],  
      "Resource": "*"  
    },  
    {  
      "Effect": "Allow",  
      "Action": "iam:PassRole",  
      "Resource": "*",  
      "Condition": {  
        "StringLike": {  
          "iam:PassedToService": "emr-serverless.amazonaws.com"  
        }  
      }  
    },  
    {  
      "Effect": "Allow",  
      "Action": [  
        "logs:GetLogEvents",  
        "logs:DescribeLogStreams"  
      ],  
      "Resource": "arn:aws:logs:*:*:log-group:*"  
    },  
    {  
      "Effect": "Allow",  
      "Action": [  
        "s3:GetBucket*",  
        "s3:GetObject*",  
        "s3:List*",  
        "s3:Put*"  
      ],  
      "Resource": [  
        "arn:aws:s3:::<s3-staging-bucket>",  
        "arn:aws:s3:::<s3-staging-bucket>/*"  
      ]  
    }  
  ]  
}
```

#### Permisos de KMS: depósito provisional
<a name="emr-spark-upgrade-agent-iam-kms-staging-serverless"></a>

Si el depósito provisional está cifrado con una CMK, añada la siguiente política. El servicio utilizará automáticamente la CMK configurada en el depósito al cargar los datos

```
{  
  "Effect": "Allow",  
  "Action": [  
    "kms:GenerateDataKey",  
    "kms:Encrypt"  
  ],  
  "Resource": "arn:aws:kms:<region>:<account-id>:key/<cmk-key-id>"  
}
```

#### Permisos de KMS: registros CloudWatch
<a name="emr-spark-upgrade-agent-iam-kms-cloudwatch"></a>

Si los CloudWatch registros están cifrados con una CMK, agregue la siguiente política para que el servicio pueda leer los registros de las aplicaciones sin servidor de EMR.

```
{  
"Effect": "Allow",  
"Action": [  
    "kms:Decrypt",  
    "kms:DescribeKey"  
],  
"Resource": "arn:aws:kms:<region>:<account-id>:key/<cw-logs-cmk-id>"  
}
```