Uso da Concessão de Acesso do Amazon S3 com o EMR Sem Servidor - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Uso da Concessão de Acesso do Amazon S3 com o EMR Sem Servidor

Visão geral da Concessão de Acesso do S3 para o EMR Sem Servidor

Com as versões 6.15.0 e superiores do Amazon EMR, o Amazon S3 Access Grants fornece uma solução de controle de acesso escalável para aumentar o acesso aos seus dados do Amazon S3 a partir do EMR Serverless. Se você tiver uma configuração de permissão complexa ou grande para seus dados do S3, use o Access Grants para escalar as permissões de dados do S3 para usuários, funções e aplicativos.

Use a Concessão de Acesso do S3 para aumentar o acesso aos dados do Amazon S3 além das permissões concedidas pelo perfil de runtime ou pelos perfis do IAM que estão anexados às identidades com acesso à aplicação do EMR Sem Servidor.

Para obter mais informações, consulte Gerenciamento de acesso com concessões de acesso do S3 para o Amazon EMR no Guia de gerenciamento do Amazon EMR e Gerenciamento do acesso com concessões de acesso do S3 no Guia do usuário do Amazon Simple Storage Service.

Esta seção descreve como iniciar uma aplicação do EMR Sem Servidor que usa a Concessão de Acesso do S3 para fornecer acesso aos dados no Amazon S3. Para ver as etapas de uso do S3 Access Grants com outras implantações do Amazon EMR, consulte a seguinte documentação:

Launch an EMR Serverless application with S3 Access Grants for data management

Você pode habilitar a Concessão de Acesso do S3 no EMR Sem Servidor e executar uma aplicação do Spark. Quando sua aplicação solicita dados do S3, o Amazon S3 fornece credenciais temporárias que têm como escopo o bucket, prefixo ou objeto específico.

  1. Configure um perfil de execução de trabalhos para a aplicação do EMR Sem Servidor. Inclua as permissões necessárias do IAM para executar trabalhos do Spark e usar o S3 Access Grants e: s3:GetDataAccess 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

    Se você especificar funções do IAM para execução de trabalhos que tenham permissões adicionais para acessar o S3 diretamente, os usuários poderão acessar os dados permitidos pela função, mesmo que não tenham permissão do S3 Access Grants.

  2. Inicie a aplicação do EMR Sem Servidor com um rótulo de lançamento 6.15.0 ou superior do Amazon EMR e a classificação spark-defaults, conforme mostra o exemplo a seguir. Substitua os valores em red text pelos valores apropriados ao seu cenário 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" } }] }'

Considerações sobre a Concessão de Acesso do S3 com o EMR Sem Servidor

Para obter informações importantes sobre suporte, compatibilidade e comportamento ao usar o Amazon S3 Access Grants com o EMR Serverless, consulte as considerações sobre o S3 Access Grants com o Amazon EMR no Guia de Gerenciamento do Amazon EMR.