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

Tanto as chaves gerenciadas pelo cliente quanto Chaves gerenciadas pela AWS as 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 AWS conta, 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 KMS chave criada em. AWS KMS

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

  • A KMS chave está ou não na mesma AWS conta do Catálogo de Dados.

Registrar um bucket do Amazon S3 AWS KMS criptografado AWS na conta B usando AWS Identity and Access Management uma função IAM () AWS na conta A 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 KMS chave 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 KMS chave.

No procedimento a seguir, você cria uma função na AWS conta 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 KMS chave. Como resultado, você não precisa conceder permissões na KMS chave para que os diretores acessem dados subjacentes com ETL trabalhos ou com serviços integrados, como 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 AWS conta do Catálogo de Dados, faça login no AWS Management Console e abra o IAM console emhttps://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 KMS chave não estiver na mesma conta do Catálogo de Dados, adicione à função uma política em linha que conceda as permissões necessárias na KMS chave. Veja abaixo um exemplo de política . Substituir <cmk-region> e <cmk-account-id> com a região e o número da conta da KMS chave. Substituir <key-id> com o 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. Substituir <catalog-account-id> com o número da AWS conta do Catálogo de Dados, <role-name> com o nome da sua função, e <bucket-name> com o nome do balde.

    { "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. Em AWS KMS, adicione a função como usuário da KMS chave.

    1. Abra o AWS KMS console 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 KMS chave usada para criptografar o local.

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

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

    4. Na seção Política de chaves, escolha Editar e adicione o Amazon Resource Name (ARN) da função ao Allow use of the key objeto, 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 em outras contas usem uma KMS chave no Guia do AWS Key Management Service desenvolvedor.

  6. Abra o AWS Lake Formation console 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 Registrar e ingerir, escolha Locais do 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>. Substituir <bucket> com o nome do balde e <prefix> com o resto do caminho até o local.

    nota

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

  10. Para IAMfunção, escolha a função na Etapa 2.

  11. Escolha Registrar local.