Registrando uma localização criptografada do Amazon S3 em todas as contas AWS - AWS Lake Formation

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á.

Registrando uma localização criptografada do Amazon S3 em todas as contas AWS

AWS Lake Formation se integra com AWS Key Management Service (AWS KMS) para permitir que você configure com mais facilidade outros serviços integrados para criptografar e descriptografar dados em locais do Amazon Simple Storage Service (Amazon S3).

Ambas as chaves gerenciadas pelo cliente e Chaves gerenciadas pela AWS são suportadas. A criptografia/descriptografia do lado do cliente não é suportada.

Importante

Evite registrar um bucket do Amazon S3 que tenha o Solicitante paga ativado. Para buckets registrados no Lake Formation, a função usada para registrar o bucket é sempre vista como solicitante. Se o bucket for acessado por outra conta da AWS, o proprietário do bucket será cobrado pelo acesso aos dados se a função pertencer à mesma conta do proprietário do bucket.

Esta seção explica como registrar uma localização do Amazon S3 nas seguintes circunstâncias:

  • Os dados no local do Amazon S3 são criptografados com uma chave KMS criada no AWS KMS.

  • A localização do Amazon S3 não está na mesma conta da AWS do AWS Glue Data Catalog.

  • A chave KMS está ou não na mesma conta da AWS do catálogo de dados.

O registro de um bucket do Amazon S3 criptografado AWS KMS na conta B AWS usando um perfil do (IAM) AWS Identity and Access Management na conta A AWS requer as seguintes permissões:

  • O papel na conta A deve conceder permissões no bucket na conta B.

  • A política de bucket na conta B deve conceder permissões de acesso à função na conta A.

  • Se a chave KMS estiver na conta B, a política de chaves deverá conceder acesso à função na conta A, e a função na conta A deverá conceder permissões na chave KMS.

No procedimento a seguir, você cria uma função na conta da AWS que contém o catálogo de dados (conta A na discussão anterior). Em seguida, você usa essa função para registrar o local. O Lake Formation assume essa função ao acessar dados subjacentes no Amazon S3. A função assumida tem as permissões necessárias na chave do KMS. Como resultado, você não precisa conceder permissões na chave KMS às entidades principais que acessam dados subjacentes com trabalhos de ETL ou com serviços integrados, como o Amazon Athena.

Importante

Você não pode usar a função vinculada ao serviço Lake Formation para registrar um local em outra conta. Em vez disso, é necessário usar uma função definida pelo usuário. A função deve atender aos requisitos do Requisitos para funções usadas para registrar locais. Para obter mais informações sobre a função vinculada ao serviço, consulte Permissões de perfil vinculado ao serviço para o Lake Formation.

Antes de começar

Analise os requisitos da função usada para registrar o local.

Para registrar uma localização criptografada do Amazon S3 em todas as contas AWS
  1. Na mesma conta da AWS do catálogo de dados, faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Crie uma nova função ou visualize uma função existente que atenda aos requisitos de Requisitos para funções usadas para registrar locais. Certifique-se de que a função inclua uma política que concede permissões do Amazon S3 no local.

  3. Se a chave KMS não estiver na mesma conta do Catálogo deDados, adicione à função uma política em linha que conceda as permissões necessárias na chave KMS. Veja abaixo um exemplo de política . Substitua <cmk-region> e <cmk-account-id> pela região e o número da conta da chave KMS. Substitua <key-id> pelo ID da chave.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:<cmk-region>:<cmk-account-id>:key/<key-id>" } ] }
  4. No console do Amazon S3, adicione uma política de bucket concedendo as permissões do Amazon S3 necessárias para a função. A seguir há um exemplo de política de bucket. Substitua <catalog-account-id> pelo número da conta AWS do catálogo de dados, <role-name> pelo nome da sua função e <bucket-name> pelo nome do bucket.

    { "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Principal": { "AWS":"arn:aws:iam::<catalog-account-id>:role/<role-name>" }, "Action":"s3:ListBucket", "Resource":"arn:aws:s3:::<bucket-name>" }, { "Effect":"Allow", "Principal": { "AWS":"arn:aws:iam::<catalog-account-id>:role/<role-name>" }, "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource":"arn:aws:s3:::<bucket-name>/*" } ] }
  5. No AWS KMS, adicione a função como usuário da chave KMS.

    1. Abra o console do AWS KMS em https://console.aws.amazon.com/kms. Em seguida, faça login como usuário administrador ou como usuário que pode modificar a política de chaves da chave KMS usada para criptografar o local.

    2. No painel de navegação, selecione Chaves gerenciadas pelo cliente e selecione o nome da chave do KMS.

    3. Na página de detalhes da chave KMS, na guia Política de chaves, se a visualização JSON da política de chaves não estiver sendo exibida, escolha Alternar para visualização de política.

    4. Na seção Política de chaves, escolha Editar e adicione o nome do recurso da Amazon (ARN) da função ao objeto Allow use of the key, conforme mostrado no exemplo a seguir.

      nota

      Se esse objeto estiver ausente, adicione-o com as permissões mostradas no exemplo.

      ... { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<catalog-account-id>:role/<role-name>" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, ...

      Para obter mais informações, consulte Permitir que usuários de outras contas usem uma chave KMS no Guia do desenvolvedor do AWS Key Management Service.

  6. Abra o console do AWS Lake Formation em https://console.aws.amazon.com/lakeformation/. Faça login na conta AWS do catálogo de dados como administrador do data lake.

  7. No painel de navegação, em Administração em Locais de data lake.

  8. Escolha Registrar local.

  9. Na página Registrar localização, para caminho do Amazon S3, insira o caminho da localização como s3://<bucket>/<prefix>. Substitua <bucket> pelo nome do bucket e<prefix> pelo restante do caminho do local.

    nota

    Você deve digitar o caminho porque os buckets entre contas não aparecem na lista quando você escolhe Procurar.

  10. Para o perfil do IAM, escolha a função na Etapa 2.

  11. Escolha Registrar local.