Habilitar buckets do Amazon S3 de pagamento pelo solicitante no Athena para Spark - Amazon Athena

Habilitar buckets do Amazon S3 de pagamento pelo solicitante no Athena para Spark

Quando um bucket do Amazon S3 é configurado como pagamento pelo solicitante, a conta do usuário que executa a consulta é cobrada pelas taxas de acesso e transferência de dados associadas à consulta. Para obter mais informações, consulte Configuração de buckets de Pagamento pelo solicitante para transferências de armazenamento e uso no Guia do usuário do Amazon S3.

No Athena para Spark, os buckets de pagamentos pelo solicitante são habilitados por sessão, não por grupo de trabalho. Em um nível alto, habilitar os buckets de pagamentos pelo solicitante inclui as seguintes etapas:

  1. No console do Amazon S3, habilite os pagamentos pelo solicitante nas propriedades do bucket e adicione uma política de bucket para especificar o acesso.

  2. No console do IAM, crie uma política do IAM para permitir o acesso ao bucket e, em seguida, anexe a política ao perfil do IAM que será usado para acessar o bucket de pagamentos pelo solicitante.

  3. No Athena para Spark, adicione uma propriedade de sessão para habilitar o recurso de pagamento pelo solicitante.

Etapa 1: habilitar pagamento pelo solicitante em um bucket do Amazon S3 e adicionar uma política de bucket

Habilitar o pagamento pelo solicitante para um bucket do Amazon S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Na lista de buckets, escolha o link do bucket para o qual você deseja habilitar o pagamento pelo solicitante.

  3. Na página do bucket, escolha a aba Propriedades.

  4. Role para baixo até a seção Pagamentos pelo solicitante e depois escolha Editar.

  5. Na página Editar pagamentos pelo solicitante, escolha Habilitar e, em seguida, escolha Salvar alterações.

  6. Escolha a aba Permissions (permissões).

  7. Na seção Política de bucket, escolha Editar.

  8. Na página Editar política de bucket, aplique a política de bucket que você deseja ao bucket de origem. O exemplo de política a seguir dá acesso a todas as entidades principais da AWS ("AWS": "*"), mas seu acesso pode ser mais granular. Por exemplo, talvez você queira especificar somente um perfil do IAM específico em outra conta.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket/*" ] } ] }

Etapa 2: criar uma política do IAM e anexá-la a um perfil do IAM

Depois, você cria uma política do IAM para permitir acesso ao bucket. Em seguida, você anexa a política ao perfil que será usado para acessar o bucket de pagamentos pelo solicitante.

Criar uma política do IAM para o bucket de pagamentos pelo solicitante e anexá-la a um perfil
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação do console IAM, escolha Políticas.

  3. Escolha Criar política.

  4. Selecione JSON.

  5. No Editor de política, adicione uma política como a seguinte:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket/*" ] } ] }
  6. Escolha Next (próximo).

  7. Na página Revisar e criar, digite um nome e uma descrição opcional para a política e, em seguida, escolha Criar política.

  8. No painel de navegação, escolha Perfis.

  9. Na página Perfis, localize o perfil que você deseja usar e escolha o link do nome do perfil.

  10. Na seção Políticas de permissões, escolha Adicionar permissõesAnexar políticas.

  11. Na seção Outras políticas de permissões, selecione a caixa de seleção da política que você criou e escolha Adicionar permissões.

Etapa 3: adicionar uma propriedade de sessão do Athena para Spark

Depois de configurar o bucket do Amazon S3 e as permissões associadas para pagamentos pelo solicitante, você pode habilitar o atributo em uma sessão do Athena para Spark.

Habilitar buckets de pagamentos pelo solicitante em uma sessão do Athena para Spark
  1. No editor do notebook, no menu Session (sessão) no canto superior direito, escolha Edit session (editar sessão).

  2. Expanda as propriedades do Spark.

  3. Escolha Editar em JSON.

  4. No editor de texto JSON, insira o seguinte:

    { "spark.hadoop.fs.s3.useRequesterPaysHeader":"true" }
  5. Escolha Salvar.