Uso do Amazon S3 Access Grants com o Amazon EMR no EKS - Amazon EMR

Uso do Amazon S3 Access Grants com o Amazon EMR no EKS

Visão geral do S3 Access Grants para o Amazon EMR no EKS

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 que você pode usar para aumentar o acesso aos seus dados do Amazon S3 no Amazon EMR no EKS. Se você tiver uma configuração de permissão complexa ou grande para os dados do S3, poderá usar a funcionalidade Access Grants para escalar as permissões de dados do S3 para usuários, perfis e aplicações.

Use o S3 Access Grants 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 ao seu cluster do Amazon EMR no EKS.

Para obter mais informações, consulte Managing access with S3 Access Grants for Amazon EMR no Guia de gerenciamento do Amazon EMR e Gerenciar o acesso com o S3 Access Grants no Guia do usuário do Amazon Simple Storage Service.

Esta página descreve os requisitos para executar um trabalho do Spark no Amazon EMR no EKS com a integração do S3 Access Grants. Com o Amazon EMR no EKS, o S3 Access Grants exige uma declaração adicional de política do IAM no perfil de execução do seu trabalho e uma configuração adicional de substituição da API StartJobRun. Para ver as etapas de configuração do S3 Access Grants com outras implantações do Amazon EMR, consulte a seguinte documentação:

Execução de um cluster do Amazon EMR no EKS com o S3 Access Grants para gerenciamento de dados

Você pode habilitar o S3 Access Grants no Amazon EMR no EKS e executar um trabalho 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 o cluster do Amazon EMR no EKS. Inclua as permissões do IAM necessárias para executar os trabalhos do Spark, s3:GetDataAccess e 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 perfis do IAM para a execução de trabalhos que tenham permissões adicionais de acesso direto ao S3, os usuários poderão acessar os dados independentemente das permissões definidas no S3 Access Grants.

  2. Envie um trabalho para o cluster do Amazon EMR no EKS com um rótulo de versão 6.15 ou superior do Amazon EMR e a classificação emrfs-site, conforme mostra o exemplo a seguir. Substitua os valores em red text pelos valores apropriados ao seu cenário de uso.

    { "name": "myjob", "virtualClusterId": "123456", "executionRoleArn": "iam_role_name_for_job_execution", "releaseLabel": "emr-7.3.0-latest", "jobDriver": { "sparkSubmitJobDriver": { "entryPoint": "entryPoint_location", "entryPointArguments": ["argument1", "argument2"], "sparkSubmitParameters": "--class main_class" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "emrfs-site", "properties": { "fs.s3.s3AccessGrants.enabled": "true", "fs.s3.s3AccessGrants.fallbackToIAM": "false" } } ], } }

Considerações sobre o S3 Access Grants com o Amazon EMR no EKS

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