

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

# 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
   ```