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
-
Abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/
. No painel de navegação, escolha Catálogos, em Data Catalog.
Escolha Habilitar integração de Tabelas do S3 na página Catálogos.
-
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.
-
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.
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.
-
Escolha o catálogo para visualizar os objetos e conceder permissões a outras entidades principais.
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.
-
Crie um arquivo chamado
Role-Trust-Policy.jsonque 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" } } } ] } -
Crie um perfil de serviço do IAM usando o seguinte comando:
aws iam create-role \ --role-nameS3TablesRoleForLakeFormation\ --assume-role-policy-document file://Role-Trust-Policy.json -
Crie um arquivo chamado
LF-GluePolicy.jsonque 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/*" ] } ] } -
Anexe a política ao perfil usando o seguinte comando:
aws iam put-role-policy \ --role-nameS3TablesRoleForLakeFormation\ --policy-nameLakeFormationDataAccessPermissionsForS3TableBucket\ --policy-document file://LF-GluePolicy.json -
Crie um arquivo chamado
input.jsonque contenha o seguinte:{ "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation" } -
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 -
Crie um arquivo chamado
catalog.jsonque 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" } } -
Crie o catálogo
s3tablescatalogusando 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 -
Verifique se o
s3tablescatalogcatálogo foi adicionado AWS Glue usando o seguinte comando:aws glue get-catalog --catalog-id s3tablescatalog