View a markdown version of this page

Habilitar a integração de Tabelas do Amazon S3 - 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á.

Habilitar a integração de Tabelas do Amazon S3

Você pode criar buckets de tabelas do Amazon S3 usando o console do Amazon S3 e integrá-los aos serviços de analytics da AWS . Para acessar mais informações, consulte Usar Tabelas do Amazon S3 com serviços de analytics da AWS.

Em AWS Lake Formation, você pode habilitar a integração de tabelas do Amazon S3 com AWS Glue Data Catalog e AWS Lake Formation usando o console ou o uso do Lake Formation. AWS CLI

  1. Abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/.

  2. No painel de navegação, escolha Catálogos, em Data Catalog.

  3. Escolha Habilitar integração de Tabelas do S3 na página Catálogos.

    A opção de habilitar a integração de Tabelas do S3 na página de catálogos.
  4. Escolha um perfil do IAM com as permissões necessárias para que o Lake Formation assuma o fornecimento de credenciais aos mecanismos de consulta analítica. Para ter as permissões necessárias para que o perfil acesse dados, consulte step3-permissions na seção de pré-requisitos.

    A tela de ativação da integração do S3 a perfil do IAM.
  5. Selecione a opção Permitir que mecanismos externos acessem dados em locais do Amazon S3 com acesso total à tabela. Quando você habilita o acesso total à tabela para mecanismos de terceiros, o Lake Formation exibe as credenciais diretamente para o mecanismo de terceiros, sem realizar a validação da tag de sessão do IAM. Isso significa que você não pode aplicar controles de acesso refinados do Lake Formation às tabelas que estão sendo acessadas.

  6. Escolha Habilitar. O novo catálogo para Tabelas do S3 é adicionado à lista de catálogos. Quando você habilita a integração do catálogo de Tabelas do S3, o serviço registra o local dos dados do bucket de Tabelas do S3 no Lake Formation.

  7. Escolha o catálogo para visualizar os objetos e conceder permissões a outras entidades principais.

    O catálogo de Tabelas do S3

    Para criar catálogos de vários níveis, consulte a seção Criar um bucket de tabelas no Guia do usuário do Amazon Simple Storage Service.

Seguindo a seção de pré-requisitos, crie uma função de serviço do IAM que permita que o Lake Formation acesse seus recursos de tabela.

  1. Crie um arquivo chamado Role-Trust-Policy.json que contenha a seguinte política de confiança:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPolicy", "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }
  2. Crie um perfil de serviço do IAM usando o seguinte comando:

    aws iam create-role \ --role-name S3TablesRoleForLakeFormation \ --assume-role-policy-document file://Role-Trust-Policy.json
  3. Crie um arquivo chamado LF-GluePolicy.json que contenha a seguinte política:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationPermissionsForS3ListTableBucket", "Effect": "Allow", "Action": [ "s3tables:ListTableBuckets" ], "Resource": [ "*" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket", "Effect": "Allow", "Action": [ "s3tables:CreateTableBucket", "s3tables:GetTableBucket", "s3tables:CreateNamespace", "s3tables:GetNamespace", "s3tables:ListNamespaces", "s3tables:DeleteNamespace", "s3tables:DeleteTableBucket", "s3tables:CreateTable", "s3tables:DeleteTable", "s3tables:GetTable", "s3tables:ListTables", "s3tables:RenameTable", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/*" ] } ] }
  4. Anexe a política ao perfil usando o seguinte comando:

    aws iam put-role-policy \ --role-name S3TablesRoleForLakeFormation \ --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \ --policy-document file://LF-GluePolicy.json
  5. Crie um arquivo chamado input.json que contenha o seguinte:

    { "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation" }
  6. Registre os buckets de tabela no Lake Formation usando o seguinte comando:

    aws lakeformation register-resource \ --region us-east-1 \ --with-privileged-access \ --cli-input-json file://input.json
  7. Crie um arquivo chamado catalog.json que contenha o seguinte catálogo:

    { "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [], "AllowFullTableExternalDataAccess": "True" } }
  8. Crie o catálogo s3tablescatalog usando o comando a seguir. A criação desse catálogo preenche o AWS Glue Data Catalog com objetos correspondentes a compartimentos de tabela, namespaces e tabelas.

    aws glue create-catalog \ --region us-east-1 \ --cli-input-json file://catalog.json
  9. Verifique se o s3tablescatalog catálogo foi adicionado AWS Glue usando o seguinte comando:

    aws glue get-catalog --catalog-id s3tablescatalog