

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.

# Uso de Concesiones de acceso a Amazon S3 con EMR sin servidor
<a name="access-grants"></a>

## Información general de Concesiones de acceso a S3 para EMR sin servidor
<a name="access-grants-overview"></a>

Con las versiones 6.15.0 y posteriores de Amazon EMR, Concesiones de acceso a Amazon S3 proporciona una solución de control de acceso escalable para aumentar el acceso a los datos de Amazon S3 desde EMR sin servidor. Si cuenta con una configuración de permisos compleja o amplia de datos de S3, puede utilizar Concesiones de acceso para escalar los permisos de datos de S3 para usuarios, roles y aplicaciones.

Utilice S3 Access Grants para incrementar el acceso a los datos de Amazon S3, más allá de los permisos que conceden el rol de tiempo de ejecución o los roles de IAM asociados a las identidades con acceso su clúster de Amazon EMR sin servidor.

Para obtener más información, consulte [Managing access with S3 Access Grants for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html) en la *Guía de administración de Amazon EMR* y [Administración del acceso con S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) en la *Guía del usuario de Amazon Simple Storage Service*.

En esta sección, se describe cómo lanzar una aplicación EMR sin servidor que utilice S3 Access Grants para proporcionar acceso a los datos en Amazon S3. Para conocer los pasos para utilizar S3 Access Grants con otras implementaciones de Amazon EMR, consulte la siguiente documentación: 
+ [Uso de S3 Access Grants con Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html)
+ [Uso de S3 Access Grants con Amazon EMR en EKS](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/access-grants.html)

## Lanzamiento de una aplicación de EMR sin servidor con Concesiones de acceso a S3
<a name="access-grants-launch"></a>

Puede habilitar S3 Access Grants en EMR sin servidor y ejecutar una aplicación Spark. Cuando su aplicación solicita datos de S3, Amazon S3 brinda credenciales temporales que se limitan al bucket, al prefijo o al objeto.

1. Configure un rol de ejecución de trabajos para su aplicación EMR sin servidor. Incluya los permisos de IAM necesarios para ejecutar los trabajos de Spark y usar Concesiones de acceso a S3, `s3:GetDataAccess` y `s3:GetAccessGrantsInstanceForPrefix`:

   ```
   {
       "Effect": "Allow",
       "Action": [
       "s3:GetDataAccess",
       "s3:GetAccessGrantsInstanceForPrefix"
       ],
       "Resource": [     //LIST ALL INSTANCE ARNS THAT THE ROLE IS ALLOWED TO QUERY
            "arn:aws_partition:s3:Region:account-id1:access-grants/default",
            "arn:aws_partition:s3:Region:account-id2:access-grants/default"
       ]
   }
   ```
**nota**  
Si especifica roles de IAM para la ejecución del trabajo que contienen permisos para acceder directamente a S3, los usuarios pueden acceder a los datos que permita el rol incluso si no cuentan con el permiso de Concesiones de acceso a S3.

1. Inicie la aplicación EMR sin servidor con una etiqueta de versión de Amazon EMR de 6.15.0 o superior y la clasificación `spark-defaults`, como se muestra en el siguiente ejemplo. Reemplace los valores en `red text` con valores adecuados para su caso de uso.

   ```
   aws emr-serverless start-job-run \
     --application-id application-id \
     --execution-role-arn job-role-arn \
     --job-driver '{
           "sparkSubmit": {
               "entryPoint": "s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py",
               "entryPointArguments": ["s3://amzn-s3-demo-destination-bucket1/wordcount_output"],
               "sparkSubmitParameters": "--conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1"
           }
       }' \
     --configuration-overrides '{
       "applicationConfiguration": [{
           "classification": "spark-defaults", 
           "properties": {
             "spark.hadoop.fs.s3.s3AccessGrants.enabled": "true",
             "spark.hadoop.fs.s3.s3AccessGrants.fallbackToIAM": "false"
            }
         }]
   }'
   ```

## Consideraciones sobre el uso de S3 Access Grants con EMR sin servidor
<a name="access-grants-considerations"></a>

Para obtener información importante sobre soporte, compatibilidad y comportamiento al usar Concesiones de acceso a Amazon S3 con EMR sin servidor, consulte [S3 Access Grants considerations with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html#emr-access-grants-considerations) en la *Guía de administración de Amazon EMR*.