

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

# Integração de tabelas do Amazon S3 com e AWS Glue Data Catalog AWS Lake Formation
<a name="create-s3-tables-catalog"></a>

A funcionalidade [Tabelas do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html) fornece armazenamento do S3 especificamente otimizado para workloads de analytics, melhorando a performance das consultas e reduzindo os custos. Os dados na funcionalidade Tabelas do S3 são armazenados em um novo tipo de bucket: um *bucket de tabela*, que armazena tabelas como sub-recursos. As tabelas do S3 têm suporte integrado para o padrão Apache Iceberg, que permite que você consulte facilmente dados em tabelas em buckets de tabelas do Amazon S3 usando mecanismos de consulta conhecidos, como o Apache Spark.

Você pode integrar as tabelas do Amazon S3 AWS Glue Data Catalog usando controles de acesso do IAM ou com subsídios do IAM e do Lake Formation:
+ **Controle de acesso do IAM**: usa políticas do IAM para controlar o acesso às tabelas e ao catálogo de dados do S3. Nessa abordagem de controle de acesso, você precisa de permissões do IAM nos recursos das tabelas do S3 e nos objetos do catálogo de dados para acessar os recursos.
+ **Controle de acesso do Lake Formation**: usa AWS Lake Formation concessões, além das permissões AWS Glue do IAM, para controlar o acesso às tabelas do S3 por meio do catálogo de dados. Nesse modo, os diretores exigem permissões do IAM para interagir com o catálogo de dados, e as concessões do Lake Formation determinam quais recursos do catálogo (bancos de dados, tabelas, colunas, linhas) o diretor pode acessar. Esse modo oferece suporte a controle de acesso de baixa granularidade (concessões em nível de banco de dados e em nível de tabela) e controle de acesso refinado (segurança em nível de coluna e nível de linha). Quando uma função registrada é configurada e a venda de credenciais está ativada, as permissões IAM do S3 Tables não são necessárias para o diretor, pois o Lake Formation vende credenciais em nome do diretor usando a função registrada. O controle de acesso do Lake Formation também oferece suporte à venda de credenciais para mecanismos de análise de terceiros.

Esta seção fornece orientação para configurar a integração com AWS Lake Formation os seguintes cenários:
+ **Cenário A**: você integrou tabelas e catálogo de dados do S3 usando controles de acesso do IAM e agora planeja usar AWS Lake Formation. Para saber mais, consulte [Alterando os controles de acesso para integração com tabelas do S3](manage-s3tables-catalog-integration.md).
+ **Cenário B**: Você planeja integrar as tabelas e o catálogo de dados do S3 usando AWS Lake Formation e não os tem integrados em sua conta e região atualmente. Comece com a [Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation](s3tables-catalog-prerequisites.md) seção e siga[Habilitar a integração de Tabelas do Amazon S3](enable-s3-tables-catalog-integration.md).
+ **Cenário C**: você integrou tabelas e catálogo de dados do S3 usando AWS Lake Formation e agora planeja usar o IAM. Para saber mais, consulte [Alterando os controles de acesso para integração com tabelas do S3](manage-s3tables-catalog-integration.md).

Certifique-se de seguir as etapas em [Integração de tabelas do S3 com serviços de AWS análise](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) para ter as permissões apropriadas para acessar os recursos AWS Glue Data Catalog e seus recursos de tabela e trabalhar com serviços de AWS análise.

**Topics**
+ [Como funciona a integração do Data Catalog e do Lake Formation](#w2aac13c27c19)
+ [Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation](s3tables-catalog-prerequisites.md)
+ [Habilitar a integração de Tabelas do Amazon S3](enable-s3-tables-catalog-integration.md)
+ [Criar bancos de dados e tabelas no catálogo de Tabelas do S3](create-databases-tables-s3-catalog.md)
+ [Registrando um bucket de tabela do Amazon S3 em outra conta AWS](register-cross-account-s3-table-bucket.md)
+ [Conceder permissões](s3-tables-grant-permissions.md)

## Como funciona a integração do Data Catalog e do Lake Formation
<a name="w2aac13c27c19"></a>

Quando você integra o catálogo de tabelas do S3 ao Data Catalog e ao Lake Formation, o serviço AWS Glue cria um único catálogo federado chamado `s3tablescatalog` no Data Catalog padrão de sua conta específico da sua Região da AWS. A integração mapeia todos os recursos do bucket de tabelas do Amazon S3 em sua conta e Região da AWS no catálogo federado da seguinte maneira:
+ Os buckets de tabela do Amazon S3 se tornam um catálogo de vários níveis no Data Catalog.
+ O namespace do Amazon S3 associado é registrado como um banco de dados no Data Catalog.
+ As tabelas do Amazon S3 no bucket de tabela se tornam tabelas no Data Catalog.

![\[Mapeamento de objetos entre tabelas S3 e. AWS Glue Data Catalog\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/S3Tables-glue-catalog.png)


 Após a integração com o Lake Formation, você pode criar tabelas Apache Iceberg no catálogo de tabelas e acessá-las por meio de mecanismos de AWS análise integrados, como o Amazon Athena Amazon EMR, bem como mecanismos de análise de terceiros. 

Quando você também ativa o Lake Formation com integração, ele permite um controle de acesso refinado. AWS Lake Formation Essa abordagem de segurança significa que, além das permissões AWS Identity and Access Management (IAM), você deve conceder ao diretor do IAM as permissões do Lake Formation em suas tabelas antes de poder trabalhar com elas.

Há dois tipos principais de permissões no AWS Lake Formation:
+ As permissões de acesso a metadados controlam a capacidade de criar, ler, atualizar e excluir tabelas e bancos de dados de metadados no Catálogo de Dados.
+ As permissões de acesso aos dados subjacentes controlam a capacidade de ler e gravar dados nos locais do Amazon S3 subjacentes para os quais os recursos do Catálogo de Dados apontam.

O Lake Formation usa conjuntamente um modelo de permissões próprio e o modelo de permissões do IAM para controlar o acesso aos recursos do Catálogo de Dados e aos dados subjacentes:
+ Para que uma solicitação de acesso aos recursos do Catálogo de Dados ou os dados subjacentes seja bem-sucedida, ela deve passar pelas verificações de permissão do IAM e do Lake Formation.
+ As permissões do IAM controlam o acesso ao Lake Formation AWS Glue APIs e aos recursos, enquanto as permissões do Lake Formation controlam o acesso aos recursos do Catálogo de Dados, às localizações do Amazon S3 e aos dados subjacentes.

As permissões do Lake Formation se aplicam somente na região em que foram concedidas, e uma entidade principal deve ser autorizada por um administrador do data lake ou por outra entidade principal com as permissões necessárias para receber as permissões do Lake Formation.

# Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation
<a name="s3tables-catalog-prerequisites"></a>

A seguir estão os pré-requisitos para habilitar a integração de tabelas do Amazon S3 com e. AWS Glue Data Catalog AWS Lake Formation

1.  Quando você habilita a integração das tabelas do Amazon S3, o Lake Formation registra automaticamente o local das tabelas do S3. Para registrar a localização do bucket de tabelas no Lake Formation, você precisa de um IAM role/user com `lakeformation:RegisterResource``lakeformation:RegisterResourceWithPrivilegedAccess`,, e `lakeformation:CreateCatalog` permissões. Quando um usuário não administrador com essas permissões registra um local de catálogo, o Lake Formation concede automaticamente a ele a permissão `DATA_LOCATION_ACCESS` para esse local, possibilitando que a entidade principal da chamada tenha permissões para realizar todas as operações aceitas do Lake Formation no local de dados registrado.

1. <a name="step3-permissions"></a> Ao habilitar a integração de tabelas do S3, você precisa escolher um perfil do IAM para que o Lake Formation forneça credenciais a fim de permitir o acesso aos dados. Criar um perfil do IAM para acesso aos dados do Lake Formation aos buckets de tabelas do S3. O perfil do IAM usado para registrar o bucket de tabelas no Lake Formation requer as seguintes permissões: 

------
#### [ JSON ]

****  

   ```
   {
       "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:123456789012:bucket/*"
               ]
           }
       ]
   }
   ```

------

   Para obter mais informações, consulte [Requisitos para funções usadas para registrar locais](registration-role.md).

1.  Adicione a política de confiança a seguir ao perfil do IAM para permitir que o serviço Lake Formation assuma o perfil e forneça credenciais temporárias aos mecanismos de analytics integrados. 

   ```
   {
     "Effect": "Allow",
     "Principal": {
       "Service": "lakeformation.amazonaws.com"
     },
     "Action": [
       "sts:AssumeRole",
       "sts:SetSourceIdentity",
       "sts:SetContext"  # add action to trust relationship when using IAM Identity center principals with Lake Formation
     ]
   }
   ```

**nota**  
O processo de integração dos serviços de AWS análise foi atualizado. Se você configurou a integração com a versão prévia, pode continuar usando sua integração atual. No entanto, o processo de integração atualizado oferece melhorias de desempenho. Para atualizar a integração:  
Primeiro, exclua seu catálogo de tabelas do S3 existente no Lake Formation. Para excluir o catálogo, selecione o catálogo `s3tablescatalog` na lista de catálogos e escolha **Excluir** de **Ações**.
Depois, cancele o registro do local dos dados para o `s3tablescatalog`.  
No console do Lake Formation, na seção **Administrações**, escolha **Locais de dados**.
Selecione um local e, no menu **Ações**, escolha **Remover**.
Quando solicitada a confirmação, escolha **Remover**.  
Para obter instruções detalhadas sobre como cancelar o registro de um local de dados, consulte a seção. [Cancelar o registro de uma localização do Amazon S3](unregister-location.md)
Em seguida, siga as etapas de integração atualizadas na [Habilitar a integração de Tabelas do Amazon S3](enable-s3-tables-catalog-integration.md) seção.

# Habilitar a integração de Tabelas do Amazon S3
<a name="enable-s3-tables-catalog-integration"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html). 

 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

## Como integrar as Tabelas do Amazon S3 ao Data Catalog e ao Lake Formation (console)
<a name="w2aac13c27c23b7b1"></a>

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

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

1. 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.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/enable-s3-table-integration.png)

1.  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](s3tables-catalog-prerequisites.md#step3-permissions) na seção de pré-requisitos.   
![\[A tela de ativação da integração do S3 a perfil do IAM.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/enable-s3-table-catalog.png)

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

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

1. Escolha o catálogo para visualizar os objetos e conceder permissões a outras entidades principais.   
![\[O catálogo de Tabelas do S3\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/s3-table-catalog.png)

   Para criar catálogos de vários níveis, consulte a seção [Criar um bucket de tabelas](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) no Guia do usuário do Amazon Simple Storage Service.

## Como integrar as Tabelas do Amazon S3 ao Data Catalog e ao Lake Formation (CLI)
<a name="w2aac13c27c23b7b3"></a>

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"
             }
           }
         }
       ]
   }
   ```

1. 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
   ```

1. 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/*"
               ]
           }
       ]
   }
   ```

1. 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
   ```

1. 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"
   }
   ```

1. 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
   ```

1. 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"
      }
   }
   ```

1. 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
   ```

1. Verifique se o `s3tablescatalog` catálogo foi adicionado AWS Glue usando o seguinte comando:

   ```
   aws glue get-catalog --catalog-id s3tablescatalog
   ```

# Criar bancos de dados e tabelas no catálogo de Tabelas do S3
<a name="create-databases-tables-s3-catalog"></a>

 Você pode criar bancos de dados para organizar suas tabelas do Apache Iceberg e tabelas para definir o esquema e o local dos seus dados no catálogo de Tabelas do S3. 

## Criar um banco de dados (Console)
<a name="w2aac13c27c25b5b1"></a>

1.  Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e faça login como administrador do data lake ou criador de banco de dados. 

1. No painel de navegação, selecione **Bancos de dados**, em **Catálogo de dados**.

1. Selecione **Criar banco de dados**.

1.  Na página **Criar banco de dados**, escolha a opção **Banco de dados** e insira os seguintes detalhes: 
   + **Nome**: um nome exclusivo para o banco de dados.
   + **Catálogo de dados**: escolha o catálogo de Tabelas do S3. O banco de dados residirá nesse catálogo.
   + **Descrição**: (opcional) adicione uma descrição e um local. 
   + **Controle de acesso do IAM para novas tabelas**: opcionalmente, selecione Usar somente controle de acesso do IAM para novas tabelas nesse banco de dados. Para acessar informações sobre essa opção, consulte a seção [Alterar as configurações padrão do seu data lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). 
   + Escolha **Criar banco de dados**. Você pode ver o banco de dados criado no catálogo de Tabelas do S3.

## Crie um banco de dados usando AWS CLI
<a name="w2aac13c27c25b5b3"></a>

O comando da CLI a seguir mostra como criar um banco de dados no catálogo de Tabelas do S3.

```
aws glue create-database 
--region us-east-1 \
--catalog-id "123456789012:s3tablescatalog/test" \
--database-input \
 '{ "Name": "testglueclidbcreation" }'
```

## Criar uma tabela (Console de gerenciamento da AWS)
<a name="w2aac13c27c25b5b5"></a>

 Você pode criar tabelas de metadados do Apache Iceberg no catálogo de tabelas do S3 usando o console do Lake Formation ou a API. AWS Glue `CreateTable` 

1. Abra o console do Lake Formation em e faça login como administrador do data lake ou usuário com `CreateTable` permissão. [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)

1. No painel de navegação, escolha **Tabelas** no Data Catalog.

1. Escolha Criar tabela.

1. Na página **Criar tabela**, insiraos detalhes da tabela:  
![\[O catálogo de Tabelas do S3\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/s3-catalog-create-table.png)
   + **Nome**: insira um nome exclusivo para a tabela.
   + **Catálogo**: escolha o catálogo de Tabelas do S3 como catálogo.
   + **Banco de dados**: escolha o banco de dados no catálogo de Tabelas do S3.
   +  **Descrição**: insira uma descrição para a tabela. 
   + **Esquema**: escolha Adicionar colunas para adicionar colunas e tipos de dados das colunas. Você tem a opção de criar uma tabela vazia e atualizar o esquema posteriormente. O Iceberg permite que você evolua o esquema e a partição depois de criar a tabela. Você pode usar as consultas do Athena para atualizar o esquema da tabela e as consultas do Spark para atualizar as partições. 

1. Selecione **Enviar**.

## Criar uma tabela (AWS CLI)
<a name="w2aac13c27c25b5b7"></a>

```
aws glue create-table \ 
--database-name "testglueclidbcreation" \ 
--catalog-id "123456789012:s3tablescatalog/test" \ 
--region us-east-1 \ 
--table-input \ 
'{ "Name": "testtablegluecli", "Parameters": { "format": "ICEBERG" }, "StorageDescriptor": { "Columns": [ {"Name": "x", "Type": "int", "Parameters": {"required": "true"}} ] } }'
```

# Registrando um bucket de tabela do Amazon S3 em outra conta AWS
<a name="register-cross-account-s3-table-bucket"></a>

Você pode registrar buckets de mesa individuais do Amazon S3 (formato ARN:`arn:aws:s3tables:us-east-1:account-id:bucket/bucket-name`) de uma conta com AWS Lake Formation em outra conta. Por exemplo, você pode registrar um bucket de tabelas da conta A no Lake Formation da conta B.

## Pré-requisitos
<a name="w2aac13c27c27b5"></a>

Antes de iniciar o registro do bucket entre contas:
+ Crie um bucket de tabela na conta A.
+ Crie um perfil do IAM na conta B com as permissões apropriadas para o registro do bucket.

  Para acessar mais informações sobre as permissões necessárias para registrar um bucket de tabelas no Lake Formation, consulte[Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation](s3tables-catalog-prerequisites.md).
+ Registre o bucket de tabelas na conta em que você criará o catálogo de Tabelas do S3.
+  Para acesso entre contas, o perfil especificado ao registrar o bucket de tabelas deve ser um perfil na conta com as permissões apropriadas para acessar o bucket entre contas. O perfil precisa das ações do IAM das Tabelas do S3 necessárias para acessar os recursos do bucket.

## Registro do bucket de tabelas entre contas
<a name="w2aac13c27c27b7"></a>

Nos procedimentos a seguir, a conta A é a conta proprietária do recurso e a conta B é onde o bucket de tabelas será registrado para gerenciar as permissões de acesso.

1. Faça login Console de gerenciamento da AWS na conta A.

   Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1.  Crie um bucket de tabela. Para acessar mais informações, consulte [Criar um bucket de tabela](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) no Guia do usuário do Amazon S3. 

1. Registre o bucket de tabelas na conta B.

   Use o AWS CLI para registrar o balde de mesa da conta A com Lake Formation na conta B.

   ```
   aws lakeformation register-resource \
   --resource-arn 'arn:aws:s3tables:us-east-1:account-A-id:bucket/single-bucket-name' \
   --role-arn arn:aws:iam::account-B-id:role/role-name \
   --region us-east-1
   ```

   Substitua account-A-id single-bucket-name, account-B-id,, e nome da função por seus valores específicos.

1. Depois, crie um catálogo para o bucket de tabelas na conta B.

   Crie um catálogo usando a AWS CLI.

   ```
   aws glue create-catalog --region us-east-1 \
   --cli-input-json \
   '{
      "Name": "catalog-name",
      "CatalogInput" : {
         "FederatedCatalog": {
            "Identifier": "arn:aws:s3tables:us-east-1:account A:bucket/single-bucket-name",
            "ConnectionName": "aws:s3tables"
         },
         "CreateDatabaseDefaultPermissions": [],
         "CreateTableDefaultPermissions": []      
      }
   }'
   ```

   Substitua catalog-name e bucket-name por seus valores específicos. account-A-id

    O exemplo de CLI a seguir mostra como visualizar os detalhes do catálogo. 

   ```
    aws glue get-catalog \
     --catalog-id account-id:catalog-name \
     --region us-east-1
   ```

1. Depois, crie bancos de dados e tabelas no catálogo recém-criado na conta B.

   Crie um banco de dados.

   ```
   aws glue create-database \
     --region us-east-1 \
     --catalog-id "account-B-id:catalog-name" \
     --database-input \
   '{
     "Name": "database-name"
   }'
   ```

   Crie uma tabela.

   ```
   aws glue create-table \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name\
     --region us-east-1 \
     --table-input \
     '{
           "Name": "table-name",
           "Parameters": {
               "format": "ICEBERG"
           },
           "StorageDescriptor": {
              "Columns": [
           {"Name": "x", "Type": "int", "Parameters": {"required": "true"}}
             ]
           }
   }'
   ```

   Substitua nome do banco de dados account-B-id, nome do catálogo e nome da tabela por seus valores específicos.

1. Os exemplos a seguir mostram como visualizar os objetos no catálogo.

   Visualize detalhes do banco de dados.

   ```
   aws glue get-database \
     --name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Visualize os detalhes da tabela.

   ```
   aws glue get-table \
     --name table-name \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Substitua nome do banco de dados account-B-id, nome do catálogo e nome da tabela por seus valores específicos.

# Conceder permissões
<a name="s3-tables-grant-permissions"></a>

 Depois de integrar suas tabelas do S3 AWS Lake Formation, você pode conceder permissões no catálogo de tabelas do S3 e nos objetos do catálogo (compartimentos de tabelas, bancos de dados, tabelas) para outras funções e usuários do IAM em sua conta. As permissões do Lake Formation permitem definir controles de acesso em granularidade em nível de tabela, coluna e linha para usuários de mecanismos analíticos integrados, como o Amazon Redshift Spectrum e o Athena. 

 Você pode conceder permissões usando o método de recurso nomeado ou o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC). Antes de conceder permissões usando tags LF e expressões de tag LF, você deve defini-las e atribuí-las aos objetos do Data Catalog. 

Para obter mais informações, consulte [Gerenciar tags do LF para controle de acesso a metadados](managing-tags.md).

Você pode compartilhar bancos de dados e tabelas com AWS contas externas concedendo permissões do Lake Formation às contas externas. Os usuários podem então executar consultas e trabalhos que unem e consultam tabelas em várias contas. Quando você compartilha um recurso do catálogo com outra conta, as entidades principais dessa conta podem operar nesse recurso como se ele estivesse no respectivo Data Catalog. 

Quando você compartilha bancos de dados e tabelas com contas externas, a permissão de **superusuário** não está disponível. 

 Para receber instruções detalhadas sobre como conceder permissões, consulte a seção [Gerenciando permissões do Lake Formation](managing-permissions.md). 

## AWS CLI exemplo de concessão de permissões em uma tabela do Amazon S3
<a name="w2aac13c27c29c15"></a>

```
aws lakeformation grant-permissions \
--cli-input-json \
'{
    "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::111122223333:role/DataAnalystRole"
    },
    "Resource": {
        "Table": {
            "CatalogId":"111122223333:s3tablescatalog/amzn-s3-demo-bucket1",
            "DatabaseName":"S3 table bucket namespace <example_namespace>",
            "Name":"S3 table bucket table name <example_table>"
        }
    },
    "Permissions": [
        "SELECT"
    ]
}'
```

 Os seguintes parâmetros devem ser inseridos no comando: 
+ DataLakePrincipalIdentifier — ARN de usuário, função ou grupo do IAM para conceder permissões
+ CatalogId — ID da AWS conta de 12 dígitos que possui o Catálogo de Dados
+ DatabaseName — Nome do namespace do bucket de tabelas do Amazon S3
+ Nome: nome da tabela do bucket de Tabelas do Amazon S3.
+ Permissões: permissões a serem concedidas. As opções são: SELECT, INSERT, DELETE, DESCRIBE, ALTER, DROP, ALLL e SUPER.

# Acessar Tabelas do Amazon S3 compartilhadas
<a name="s3-tables-cross-account-sharing"></a>

 Depois de conceder permissões entre contas em um banco de dados ou tabela no catálogo de Tabelas do S3, para acessar os recursos, você precisa criar links de recursos para os bancos de dados e tabelas compartilhados. 

1.  Na conta de destino (a conta que recebe os recursos compartilhados), crie um link de recurso de banco de dados. Para obter instruções detalhadas, consulte [Como criar um link de recurso para um banco de dados compartilhado do catálogo de dados](create-resource-link-database.md). 

   Exemplo de CLI para criar um link de recurso de banco de dados

   ```
   aws glue create-database 
   --region us-east-1 
   --catalog-id "111122223333" 
   --database-input \
   '{
     "Name": "s3table_resourcelink",
     "TargetDatabase": {
       "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
       "DatabaseName": "s3_table_ns"
     },
     "CreateTableDefaultPermissions": []
   }'
   ```

1.  Conceda permissão entre contas na tabela. 

   Exemplo de CLI para concessão de permissão entre contas

   ```
   aws lakeformation grant-permissions \
   --region us-east-1 \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:role/S3TablesTestExecRole"
       },
       "Resource": {
           "Table": {
               "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
               "DatabaseName": "s3_table_ns",
               "Name": "test_s3_iceberg_table"
           }
       },
       "Permissions": [
           "ALL"
       ]
   }'
   ```

1.  Conceda a permissão `DESCRIBE` do Lake Formation no link de recurso. 

    Exemplo de CLI para conceder permissão describe no link de recurso. 

   ```
   aws lakeformation grant-permissions \
       --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/S3TablesTestExecRole
       --resource Database='{CatalogId=111122223333;, Name=s3table_resourcelink}' \
       --permissions DESCRIBE
   ```