

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

# Referência de permissões do Lake Formation
<a name="lf-permissions-reference"></a>

Para realizar AWS Lake Formation operações, os diretores precisam tanto das permissões do Lake Formation quanto das permissões AWS Identity and Access Management (IAM). Normalmente, você concede permissões do IAM usando políticas de controle de acesso de *baixa granularidade*, conforme descrito em [Visão geral das permissões do Lake Formation](lf-permissions-overview.md). Você pode conceder permissões do Lake Formation usando o console, a API ou o AWS Command Line Interface (AWS CLI). 

Para saber como conceder ou revogar permissões do Lake Formation, consulte [Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md) e [Conceder permissões de localização de dados](granting-location-permissions.md).

**nota**  
Os exemplos nesta seção mostram como conceder permissões às entidades principais na mesma conta da AWS . Para obter exemplos de concessões entre contas, consulte [Compartilhamento de dados entre contas no Lake Formation](cross-account-permissions.md). 

## Permissões do Lake Formation por tipo de recurso
<a name="lf-resource-permissions-summary"></a>

A seguir estão as permissões válidas do Lake Formation disponíveis para cada tipo de recurso:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/lf-permissions-reference.html)

**Topics**
+ [Permissões do Lake Formation por tipo de recurso](#lf-resource-permissions-summary)
+ [Lake Formation concede e revoga comandos AWS CLI](#perm-command-format)
+ [Permissões do Lake Formation](#lf-permissions)

## Lake Formation concede e revoga comandos AWS CLI
<a name="perm-command-format"></a>

Cada descrição de permissão nesta seção inclui exemplos de como conceder a permissão usando um AWS CLI comando. A seguir estão as sinopses da Lake Formation e dos comandos. **grant-permissions** **revoke-permissions** AWS CLI 

```
grant-permissions
[--catalog-id <value>]
--principal <value>
--resource <value>
--permissions <value>
[--permissions-with-grant-option <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

```
revoke-permissions
[--catalog-id <value>]
--principal <value>
--resource <value>
--permissions <value>
[--permissions-with-grant-option <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

Para obter descrições detalhadas desses comandos, consulte [grant-permissions](https://docs.aws.amazon.com/cli/latest/reference/lakeformation/grant-permissions.html) e [revoke-permissions](https://docs.aws.amazon.com/cli/latest/reference/lakeformation/revoke-permissions.html) na *Referência de comandos da AWS CLI *. Esta seção fornece informações adicionais sobre a opção `--principal`.

O valor da opção `--principal` é um dos seguintes:
+ Nome de recurso da Amazon (ARN) para um usuário ou função AWS Identity and Access Management (IAM)
+ ARN para um usuário ou grupo que se autentica por meio de um provedor SAML, como o Microsoft Active Directory Federation Service (AD FS)
+ ARN para um usuário ou grupo do Amazon Quick
+ Para permissões entre contas, uma ID AWS da conta, uma ID da organização ou uma ID da unidade organizacional
+ Para usuário ou grupo do Centro de Identidade do IAM, ARN do usuário ou grupo do Centro de Identidade do IAM.

Veja a seguir a sintaxe e exemplos para todos os tipos `--principal`.

**Entidade principal é um usuário do IAM**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/<user-name>
```
Exemplo:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1
```

**Entidade principal é um perfil do IAM**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:role/<role-name>
```
Exemplo:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/workflowrole
```

**Entidade principal é um usuário que se autentica por meio de um provedor SAML**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:user/<user-name>
```
Exemplos:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:user/datalake_user1
```

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:user/athena-user@example.com
```

**Entidade principal é um grupo que se autentica por meio de um provedor SAML**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:group/<group-name> 
```
Exemplos:  

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:group/data-scientists
```

```
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:group/my-group
```

**Principal é usuário do Amazon Quick Enterprise Edition**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:user/<namespace>/<user-name>
```
Para *<namespace>*, você deve especificar `default`.
Exemplo:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:user/default/bi_user1
```

**Principal é um grupo Amazon Quick Enterprise Edition**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:group/<namespace>/<group-name> 
```
Para *<namespace>*, você deve especificar `default`.
Exemplo:  

```
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:group/default/data_scientists
```

**Principal é uma AWS conta**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=<account-id>
```
Exemplo:  

```
--principal DataLakePrincipalIdentifier=111122223333
```

**Entidade principal é uma organização**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:organization/<organization-id>
```
Exemplo:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl
```

**Entidade principal é uma unidade organizacional**  
Sintaxe:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:ou/<organization-id>/<organizational-unit-id>
```
Exemplo:  

```
--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:ou/o-abcdefghijkl/ou-ab00-cdefghij
```

**A entidade principal é um usuário ou grupo de identidade do Centro de Identidade do IAM**  
Exemplo: user  

```
--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::user/<UserID>
```
Exemplo: group  

```
--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::group/<GroupID>
```

**A entidade principal é um grupo do IAM (`IAMAllowedPrincipals`)**  
Por padrão, o Lake Formation define a permissão `Super` em todos os bancos de dados e tabelas no Catálogo de Dados para um grupo chamado `IAMAllowedPrincipals`. Se essa permissão de grupo existir em um banco de dados ou tabela, todas as entidades principais da sua conta terão acesso ao recurso por meio das políticas de entidade principal do IAM para o AWS Glue. A compatibilidade com versões anteriores será fornecida quando você começar a usar as permissões do Lake Formation para proteger os recursos do Catálogo de Dados que antes eram protegidos pelas políticas do IAM para o AWS Glue.  
Ao usar o Lake Formation para gerenciar permissões para seus recursos do Catálogo de Dados, primeiro você precisa revogar a permissão `IAMAllowedPrincipals` dos recursos ou optar pelo modo de acesso híbrido às entidades principais e aos recursos para que as permissões do Lake Formation funcionem.   
Exemplo:  

```
--principal DataLakePrincipalIdentifier=IAM_Allowed_Principals
```

**A entidade principal é um grupo do IAM (`ALLIAMPrincipals`)**  
Quando você concede permissões a um grupo de `ALLIAMPrincipals` em um recurso do Catálogo de Dados, cada entidade principal da conta tem acesso ao recurso do Catálogo de Dados usando as permissões do Lake Formation e do IAM.  
Exemplo:  

```
--principal DataLakePrincipalIdentifier=123456789012:IAMPrincipals
```

## Permissões do Lake Formation
<a name="lf-permissions"></a>

Esta seção contém as permissões disponíveis do Lake Formation que você pode conceder às entidades principais.

### `ALTER`
<a name="perm-alter"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| ALTER | DATABASE | glue:UpdateDatabase  | 
| ALTER | TABLE | glue:UpdateTable | 
| ALTER | LF-Tag | lakeformation:UpdateLFTag | 

Uma entidade principal com essa permissão pode alterar os metadados de um banco de dados ou tabela no catálogo de dados. Para tabelas, você pode alterar o esquema da coluna e adicionar parâmetros da coluna. Você não pode alterar as colunas nos dados subjacentes para os quais uma tabela de metadados aponta.

Se a propriedade que está sendo alterada for um local registrado do Amazon Simple Storage Service (Amazon S3), a entidade principal deverá ter permissões de localização de dados no novo local.

**Example**  
O exemplo a seguir concede a `ALTER` permissão ao usuário `datalake_user1` no banco de dados `retail` na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Database": {"Name":"retail"}}'
```

**Example**  
O exemplo a seguir concede `ALTER` ao usuário `datalake_user1` na tabela `inventory` no banco de dados `retail`.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

### `CREATE_DATABASE`
<a name="perm-create-database"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| CREATE\$1DATABASE | catálogo de dados | glue:CreateDatabase | 

Uma entidade principal com essa permissão pode criar um banco de dados de metadados ou um link de recurso no catálogo de dados. A entidade principal também pode criar tabelas no banco de dados.

**Example**  
O exemplo a seguir concede `CREATE_DATABASE` ao usuário `datalake_user1` na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'
```

Quando uma entidade principal cria um banco de dados no catálogo de dados, nenhuma permissão para os dados subjacentes é concedida. As seguintes permissões adicionais de metadados são concedidas (junto com a capacidade de conceder essas permissões a outras pessoas):
+ `CREATE_TABLE` no banco de dados
+ Banco de dados da `ALTER`
+ Banco de dados da `DROP`

Ao criar um banco de dados, a entidade principal pode opcionalmente especificar um local do Amazon S3. Dependendo se a entidade principal tem permissões de localização de dados, a permissão `CREATE_DATABASE` pode não ser suficiente para criar bancos de dados em todos os casos. É importante ter em mente os três casos a seguir.


| Crie um caso de uso de banco de dados | Permissões necessárias | 
| --- | --- | 
| A propriedade do local não é especificada. | CREATE\$1DATABASE é suficiente. | 
| A propriedade de localização é especificada e a localização não é gerenciada pelo Lake Formation (não está registrada). | CREATE\$1DATABASE é suficiente. | 
| A propriedade de localização é especificada e a localização é gerenciada pelo Lake Formation (está registrada). | CREATE\$1DATABASE é obrigatório, além de permissões de localização de dados no local especificado. | 

### `CREATE_TABLE`
<a name="perm-create-table"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| CREATE\$1TABLE | DATABASE | glue:CreateTable  | 

Uma entidade principal com essa permissão pode criar uma tabela de metadados ou um link de recurso no catálogo de dados dentro do banco de dados especificado.

**Example**  
O exemplo a seguir concede ao usuário `datalake_user1` permissão para criar tabelas no `retail` banco de dados na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 
 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
```

Quando uma entidade principal cria uma tabela no catálogo de dados, todas as permissões do Lake Formation na tabela são concedidas à entidade principal, com a capacidade de conceder essas permissões a outras pessoas.

**Concessões entre contas**  
Se uma conta do proprietário do banco de dados conceder `CREATE_TABLE` a uma conta do destinatário e um usuário na conta do destinatário criar com êxito uma tabela no banco de dados da conta do proprietário, as seguintes regras se aplicam:
+ O usuário e os administradores do data lake na conta do destinatário têm todas as permissões do Lake Formation disponíveis. Eles podem conceder permissões na tabela a outras entidades principais de suas contas. Eles não podem conceder permissões às entidades principais na conta do proprietário ou em qualquer outra conta.
+ Os administradores do data lake na conta do proprietário podem conceder permissões na tabela a outras entidades principais da conta.

**Permissões de localização de dados**  
Quando você tenta criar uma tabela que aponta para um local do Amazon S3, dependendo se você tem permissões de localização de dados, a permissão `CREATE_TABLE` pode não ser suficiente para criar uma tabela. É importante ter em mente os três casos a seguir.


| Crie um caso de uso de tabela | Permissões necessárias | 
| --- | --- | 
| O local especificado não é gerenciado pelo Lake Formation (não está registrado). | CREATE\$1TABLE é suficiente. | 
| O local especificado é gerenciado pelo Lake Formation (está registrado), e o banco de dados que o contém não tem propriedade de localização ou tem uma propriedade de localização que não seja um prefixo do Amazon S3 da localização da tabela. | CREATE\$1TABLE é obrigatório, além de permissões de localização de dados no local especificado. | 
| O local especificado é gerenciado pelo Lake Formation (está registrado), e o banco de dados que o contém tem uma propriedade de localização que aponta para um local registrado e é um prefixo Amazon S3 da localização da tabela. | CREATE\$1TABLE é suficiente. | 

### `DATA_LOCATION_ACCESS`
<a name="perm-location"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| DATA\$1LOCATION\$1ACCESS | Local do Amazon S3 | (Permissões do Amazon S3 no local, que devem ser especificadas pela função usada para registrar o local.) | 

Essa é a única permissão de localização de dados. Uma entidade principal com essa permissão pode criar um banco de dados ou tabela de metadados que aponte para a localização especificada do Amazon S3. O local deve ser registrado. Uma entidade principal que tem permissões de localização de dados em um local também tem permissões de localização em locais secundários.

**Example**  
O exemplo a seguir concede permissões de localização de dados de `s3://products/retail` ao usuário `datalake_user1` na conta AWS 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::products/retail"}}'
```

`DATA_LOCATION_ACCESS` não é necessário consultar ou atualizar dados subjacentes. Essa permissão se aplica somente à criação de recursos do catálogo de dados.

Para obter mais informações sobre permissões de local de dados, consulte [Underlying data access control](access-control-underlying-data.md#data-location-permissions).

### `DELETE`
<a name="perm-delete"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| DELETE | TABLE | (Nenhuma permissão adicional do IAM é necessária se o local estiver registrado.) | 

Uma entidade principal com essa permissão pode inserir, atualizar e ler dados subjacentes no local do Amazon S3 especificado pela tabela. A entidade principal também pode visualizar a tabela no console do Lake Formation e recuperar informações sobre a tabela com a API do AWS Glue.

**Example**  
O exemplo a seguir concede a `DELETE` permissão ao usuário `datalake_user1` na tabela do banco de dados `inventory` `retail` na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DELETE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

Essa permissão se aplica somente aos dados no Amazon S3 e não aos dados de outros armazenamentos de dados, como o Amazon Relational Database Service (Amazon RDS).

### `DESCRIBE`
<a name="perm-describe"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| DESCRIBE |  Link de recurso de tabela Link de recurso de banco de dados  |  `glue:GetTable` `glue:GetDatabase`  | 
| DESCRIBE | DATABASE | glue:GetDatabase | 
| DESCRIBE | TABLE | glue:GetTable | 
| DESCRIBE | LF-Tag |  `glue:GetTable` `glue:GetDatabase` `lakeformation:GetResourceLFTags` `lakeformation:ListLFTags` `lakeformation:GetLFTag` `lakeformation:SearchTablesByLFTags` `lakeformation:SearchDatabasesByLFTags`  | 

Uma entidade principal com essa permissão pode visualizar o banco de dados, a tabela ou o link do recurso especificado. Nenhuma outra permissão do catálogo de dados é concedida implicitamente e nenhuma permissão de acesso aos dados é concedida implicitamente. Bancos de dados e tabelas aparecem nos editores de consultas dos serviços integrados, mas nenhuma consulta pode ser feita neles, a menos que outras permissões do Lake Formation (por exemplo, `SELECT`) sejam concedidas.

Por exemplo, um usuário que tem `DESCRIBE` em um banco de dados pode ver o banco de dados e todos os metadados do banco de dados (descrição, localização e assim por diante). No entanto, o usuário não consegue descobrir quais tabelas o banco de dados contém e não pode descartar, alterar ou criar tabelas no banco de dados. Da mesma forma, um usuário que tem `DESCRIBE` em uma tabela pode ver a tabela e os metadados da tabela (descrição, esquema, localização e assim por diante), mas não pode descartar, alterar ou executar consultas na tabela.

A seguir estão algumas regras adicionais para `DESCRIBE`:
+ Se um usuário tiver outras permissões do Lake Formation em um banco de dados, tabela ou link de recurso, `DESCRIBE` será concedida implicitamente.
+ Se um usuário tiver `SELECT` em apenas um subconjunto de colunas para uma tabela (parcial `SELECT`), o usuário estará restrito a ver apenas essas colunas.
+ Você não pode conceder `DESCRIBE` a um usuário que tenha seleção parcial em uma tabela. Por outro lado, você não pode especificar listas de inclusão ou exclusão de colunas para tabelas concedidas a `DESCRIBE`.

**Example**  
O exemplo a seguir concede a `DESCRIBE` permissão ao usuário `datalake_user1` no link do recurso de tabela no banco de dados `inventory-link` `retail` na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'
```

### `DROP`
<a name="perm-drop"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| DROP | DATABASE | glue:DeleteDatabase | 
| DROP | TABLE | glue:DeleteTable  | 
| DROP | LF-Tag | lakeformation:DeleteLFTag  | 
| DROP |  Link de recurso de banco de dados Link de recurso de tabela  | `glue:DeleteDatabase` `glue:DeleteTable`  | 

Uma entidade principal com essa permissão pode colocar um link de banco de dados, tabela ou recurso no catálogo de dados. Você não pode conceder DROP em um banco de dados a uma conta ou organização externa.

**Atenção**  
Eliminar um banco de dados elimina todas as tabelas no banco de dados.

**Example**  
O exemplo a seguir concede a `DROP` permissão ao usuário no banco de dados `datalake_user1` `retail` na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Database": {"Name":"retail"}}'
```

**Example**  
O exemplo a seguir concede `DROP` ao usuário `datalake_user1` na tabela `inventory` do banco de dados `retail`.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

**Example**  
O exemplo a seguir concede `DROP` ao usuário `datalake_user1` na tabela o link do recurso `inventory-link` no banco de dados `retail`.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'
```

### `INSERT`
<a name="perm-insert"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| INSERT | TABLE | (Nenhuma permissão adicional do IAM é necessária se o local estiver registrado.) | 

Uma entidade principal com essa permissão pode inserir, atualizar e ler dados subjacentes no local do Amazon S3 especificado pela tabela. A entidade principal também pode visualizar a tabela no console do Lake Formation e recuperar informações sobre a tabela com a API do AWS Glue.

**Example**  
O exemplo a seguir concede a `INSERT` permissão ao usuário `datalake_user1` na tabela do banco de dados `inventory` `retail` na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "INSERT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

Essa permissão se aplica somente aos dados no Amazon S3 e não aos dados em outros armazenamentos de dados, como o Amazon RDS.

### `SELECT`
<a name="perm-select"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| SELECT |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/lf-permissions-reference.html)  | (Nenhuma permissão adicional do IAM é necessária se o local estiver registrado.) | 

Uma entidade principal com essa permissão pode visualizar uma tabela no catálogo de dados e consultar os dados subjacentes no Amazon S3 no local especificado pela tabela. A entidade principal pode visualizar a tabela no console do Lake Formation e recuperar informações sobre a tabela com a API do AWS Glue. Se a filtragem de colunas foi aplicada quando essa permissão foi concedida, a entidade principal poderá visualizar os metadados somente das colunas incluídas e poderá consultar dados somente das colunas incluídas.

**nota**  
É responsabilidade do serviço de análise integrada aplicar a filtragem de colunas ao processar uma consulta.

**Example**  
O exemplo a seguir concede a `SELECT` permissão ao usuário `datalake_user1` na tabela do banco de dados `inventory` `retail` na AWS conta 1111-2222-3333.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```

Essa permissão se aplica somente aos dados no Amazon S3 e não aos dados em outros armazenamentos de dados, como o Amazon RDS.

Você pode filtrar (restringir o acesso a) colunas específicas com uma lista de inclusão opcional ou uma lista de exclusão. Uma lista de inclusão especifica as colunas que podem ser acessadas. Uma lista de exclusão especifica as colunas que não podem ser acessadas. Na ausência de uma lista de inclusão ou exclusão, todas as colunas da tabela estão acessíveis.

Os resultados de `glue:GetTable` retornam somente as colunas que o autor da chamada tem permissão para visualizar. Serviços integrados, como Amazon Athena e Amazon Redshift, honram as listas de inclusão e exclusão de colunas.

**Example**  
O exemplo a seguir concede `SELECT` ao usuário `datalake_user1` na tabela `inventory` usando uma lista de inclusão.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT"  --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnNames": ["prodcode","location","period","withdrawals"]}}'
```

**Example**  
O próximo exemplo concede `SELECT` na tabela `inventory` usando uma lista de exclusão.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT"  --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnWildcard": {"ExcludedColumnNames": ["intkey", "prodcode"]}}}'
```

As seguintes restrições se aplicam à permissão `SELECT`:
+ Ao conceder `SELECT`, você não poderá incluir a opção de concessão se a filtragem de colunas for aplicada.
+ Você não pode restringir o controle de acesso em colunas que são chaves de partição.
+ Uma entidade principal com a permissão `SELECT` em um subconjunto de colunas em uma tabela não pode receber a permissão `ALTER`, `DROP`, `DELETE` ou `INSERT` nessa tabela. Da mesma forma, uma entidade principal com a permissão `ALTER`, `DROP`, `DELETE` ou `INSERT` ou em uma tabela não pode receber a permissão `SELECT` com a filtragem de colunas.

A permissão `SELECT` sempre aparece na página **Permissões de dados** do console do Lake Formation como uma linha separada. A imagem a seguir mostra que `SELECT` é concedida aos usuários `datalake_user2` e `datalake_user3` em todas as colunas da tabela `inventory`.

![\[A página Permissões de dados mostra quatro linhas. A primeira linha lista as permissões Delete e Insert com o tipo de recurso Table, com o recurso exibido como inventory, e a segunda e quarta linhas listam a permissão Select com o tipo de recurso Column e com o recurso exibido como retail.inventory.*.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/data-permissions-dialog-select-cross.png)


### `Super`
<a name="perm-super"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| Super | DATABASE | glue:\$1Database\$1  | 
| Super | TABLE | glue:\$1Table\$1, glue:\$1Partition\$1 | 

Essa permissão permite que uma entidade principal execute todas as operações suportadas do Lake Formation no banco de dados ou na tabela. Você não pode conceder `Super` em um banco de dados para uma conta externa.

Essa permissão pode coexistir com as outras permissões do Lake Formation. Por exemplo, você pode conceder as permissões `Super`, `SELECT` e `INSERT` e em uma tabela de metadados. A entidade principal pode então executar todas as operações suportadas na tabela. Quando você revoga `Super`, as permissões `SELECT` e `INSERT` permanecem, e a entidade principal só pode realizar operações de seleção e inserção.

Em vez de conceder `Super` a uma entidade principal individual, você pode concedê-la ao grupo `IAMAllowedPrincipals`. O grupo `IAMAllowedPrincipals` é criado automaticamente e inclui todos os usuários e perfis do IAM que têm acesso permitido aos recursos do seu catálogo de dados por meio de suas políticas do IAM. Quando `Super` é concedido a `IAMAllowedPrincipals` para um recurso do Catálogo de sados, o acesso ao recurso é efetivamente controlado somente pelas políticas do IAM.

Você pode fazer com que a permissão `Super` seja concedida automaticamente a `IAMAllowedPrincipals` para novos recursos do catálogo aproveitando as opções na página **Configurações** do console do Lake Formation.

![\[A caixa de diálogo de configurações do catálogo de dados tem o subtítulo “Permissões padrão para bancos de dados e tabelas recém-criados” e possui duas caixas de seleção, descritas no texto.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/settings-page.png)

+ Para conceder `Super` a `IAMAllowedPrincipals` para todos os novos bancos de dados, selecione **Usar somente o controle de acesso do IAM para novos bancos de dados**.
+ Para conceder `Super` a `IAMAllowedPrincipals` para todas as novas tabelas em novos bancos de dados, selecione **Usar somente o controle de acesso do IAM para novas tabelas em novos bancos de dados**.
**nota**  
Essa opção faz com que a caixa de seleção **Usar somente o controle de acesso do IAM para novas tabelas nesse banco de dados** na caixa de diálogo **Criar banco de dados** seja selecionada por padrão. Não faz nada mais do que isso. É a caixa de seleção na caixa de diálogo **Criar banco de dados** que permite a concessão de `Super` a `IAMAllowedPrincipals`.

Essas opções da página **Configurações** estão habilitadas por padrão. Para saber mais, consulte:
+ [Alterando as configurações padrão do seu data lake](change-settings.md)
+ [Atualizando as permissões AWS Glue de dados para o modelo AWS Lake Formation](upgrade-glue-lake-formation.md)

### `SUPER_USER`
<a name="perm-super-user"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| Super user | Catalog | glue:GetCatalog  | 

É possível conceder a permissão `Super user` somente a entidades principais específicas, em catálogos dentro do Data Catalog padrão. Não é possível conceder permissão `Super user` no catálogo padrão nem em outros tipos de recurso, como bancos de dados e tabelas, ou para entidades principais em contas externas. A permissão `Super user` autoriza que uma entidade principal execute todas as operações aceitas pelo Lake Formation nos bancos de dados e nas tabelas do catálogo concedido. 

Com a permissão `Super user`, a entidade principal (beneficiário) pode realizar as seguintes ações nos recursos (catálogos, bancos de dados e tabelas) do catálogo:
+ Permissões `CREATE_DATABASE`, `DESCRIBE` no catálogo.
+ Permissões `DROP`, `ALTER`, `CREATE_TABLE`, `DESCRIBE` (efetivamente, `SUPER`) em todos os bancos de dados do catálogo.
+ Permissões `DROP`, `ALTER`, `DESCRIBE`, `SELECT`, `INSERT`, `DELETE` (efetivamente, `SUPER`) em todas as tabelas em todos os bancos de dados do catálogo.
+ Permissões `All` (efetivamente, SUPER) em catálogos dentro do catálogo.
+ Permissões que podem ser concedidas (a capacidade de conceder essas permissões a outras entidades principais) em todos os catálogos, bancos de dados e tabelas do catálogo.

Com a permissão `Super user` em um recurso do catálogo, o beneficiário não tem permissão para realizar nem delegar as ações `ALTER` e `DROP` no catálogo.

### `ASSOCIATE`
<a name="perm-associate"></a>


| Permissão | Concedido neste recurso | O beneficiário também precisa | 
| --- | --- | --- | 
| ASSOCIATE | LF-Tag |   `glue:GetDatabase` `glue:GetTable`  `lakeformation:AddLFTagsToResource"` `lakeformation:RemoveLFTagsFromResource"` `lakeformation:GetResourceLFTags` `lakeformation:ListLFTags` `lakeformation:GetLFTag` `lakeformation:SearchTablesByLFTags` `lakeformation:SearchDatabasesByLFTags`  | 

Uma entidade principal com essa permissão em uma tag do LF pode atribuir a tag do LF a um recurso do catálogo de dados. Concessão `ASSOCIATE` de concessões `DESCRIBE` implicitamente.

**Example**  
Este exemplo concede ao usuário `datalake_user1` a permissão `ASSOCIATE` na tag do LF com a chave `module`. Ele concede permissões para visualizar e atribuir todos os valores dessa chave, conforme indicado pelo asterisco (\$1).  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
```