

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 nos recursos do Catálogo de Dados
<a name="granting-catalog-permissions"></a>

Você pode conceder **permissões de dados** aos diretores para que eles AWS Lake Formation possam criar e gerenciar recursos do Catálogo de Dados e acessar os dados subjacentes. É possível conceder **Permissões de data lake** em catálogos, bancos de dados, tabelas e visualizações. Ao conceder permissões em tabelas, é possível limitar o acesso a colunas ou linhas específicas da tabela para um controle de acesso ainda mais refinado.

É possível conceder permissões em catálogos, bancos de dados, tabelas e visualizações individuais ou, com uma única operação de concessão, você pode conceder permissões em todos os bancos de dados, tabelas e visualizações em um catálogo ou banco de dados. Se você conceder permissões em todas as tabelas em um banco de dados a entidades principais do IAM, estará concedendo implicitamente a permissão `DESCRIBE` no banco de dados. Em seguida, o banco de dados aparece na página **Bancos de dados** no console e é retornado pela operação da API `GetDatabases`. O mesmo princípio se aplica em nível de catálogo: quando você recebe permissões para bancos de dados em um catálogo, também recebe permissões `DESCRIBE` para esse catálogo.

**Importante**  
A `DESCRIBE` permissão implícita se aplica somente ao conceder permissões aos diretores do IAM na mesma conta. AWS Em relação a recursos entre contas, você deve conceder permissões `DESCRIBE` explicitamente. A concessão da permissão `DESCRIBE` automática não se aplica quando você usa o controle de acesso por atributo (ABAC). Quando você concede permissões em todas as tabelas em um banco de dados usando atributos, o Lake Formation não concede a permissão `DESCRIBE` implícita ao banco de dados.

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

Você pode conceder permissões aos diretores nas mesmas contas Conta da AWS ou organizações externas. Quando você as concede a contas ou organizações externas, você está compartilhando objetos do Data Catalog que possui com essas contas ou organizações. As entidades principais dessas contas ou organizações podem então acessar os objetos do Data Catalog que você possui e os dados subjacentes.

**nota**  
Atualmente, o método LF-TBAC oferece suporte à concessão de permissões entre contas para diretores Contas da AWS, organizações e unidades organizacionais () do IAM. OUs

Ao conceder permissões a contas ou organizações externas, você deve incluir a opção de concessão. Somente o administrador do data lake na conta externa pode acessar os objetos compartilhados até que o administrador conceda permissões nos objetos compartilhados a outras entidades principais na conta externa.

Você pode conceder permissões do Catálogo de Dados usando o AWS Lake Formation console, a API ou o AWS Command Line Interface (AWS CLI).

**nota**  
Ao excluir um recurso do Data Catalog, todas as permissões associadas ao objeto se tornam inválidas. Recriar o mesmo recurso com o mesmo nome não recuperará as permissões do Lake Formation. Os usuários precisarão configurar novas permissões novamente.

**Consulte também:**  
 [Compartilhamento de tabelas e bancos de dados do catálogo de dados entre AWS contas](sharing-catalog-resources.md) 
 [Controle de acesso a metadados](access-control-metadata.md) 
 [Referência de permissões do Lake Formation](lf-permissions-reference.md) 

# Permissões do IAM necessárias para conceder ou revogar as permissões do Lake Formation
<a name="required-permissions-for-grant"></a>

Todos os diretores, incluindo o administrador do data lake, precisam das seguintes permissões AWS Identity and Access Management (IAM) para conceder ou revogar as permissões do catálogo de AWS Lake Formation dados ou as permissões de localização de dados com a API Lake Formation ou com: AWS CLI
+ `lakeformation:GrantPermissions`
+ `lakeformation:BatchGrantPermissions`
+ `lakeformation:RevokePermissions`
+ `lakeformation:BatchRevokePermissions`
+ `glue:GetTable`, `glue:GetDatabase` ou `glue:GetCatalog` para uma tabela, banco de dados ou catálogo para o qual você está concedendo permissões com o método de recurso nomeado.

**nota**  
Os administradores do data lake possuem permissões implícitas do Lake Formation para conceder e revogar permissões do Lake Formation. Mas eles ainda precisam das permissões do IAM nas operações de concessão e revogação da API do Lake Formation.  
As funções do IAM com política `AWSLakeFormationDataAdmin` AWS gerenciada não podem adicionar novos administradores de data lake porque essa política contém uma negação explícita para a operação da API Lake Formation,. `PutDataLakeSetting` 

A política do IAM a seguir é recomendada para entidades principais que não são administradores de data lake e que desejam conceder ou revogar permissões usando o console do Lake Formation.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lakeformation:ListPermissions",
                "lakeformation:GrantPermissions",
                "lakeformation:BatchGrantPermissions",
                "lakeformation:RevokePermissions",
                "lakeformation:BatchRevokePermissions",
                "glue:GetCatalogs",
                "glue:GetDatabases",
                "glue:SearchTables",
                "glue:GetTables",
                "glue:GetCatalog",
                "glue:GetDatabase",
                "glue:GetTable",
                "iam:ListUsers",
                "iam:ListRoles",
                "sso-directory:DescribeUser",
                "sso-directory:DescribeGroup",
                "sso:DescribeInstance"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Todas `glue:` as `iam:` permissões desta política estão disponíveis na política AWS gerenciada`AWSGlueConsoleFullAccess`.

Para conceder permissões usando o controle de acesso baseado em tags do Lake Formation (LF-TBAC), as entidades principais precisam de permissões adicionais do IAM. Para obter mais informações, consulte [Considerações e práticas recomendadas de controle de acesso com base em tags do Lake Formation](lf-tag-considerations.md) e [Referência de personas e permissões do IAM do Lake Formation](permissions-reference.md).

**Permissões do entre contas**  
Os usuários que desejam conceder permissões entre contas do Lake Formation usando o método de recurso nomeado também devem ter as permissões na política `AWSLakeFormationCrossAccountManager` AWS gerenciada.

Os administradores do Data Lake precisam dessas mesmas permissões para conceder permissões entre contas, além da permissão AWS Resource Access Manager (AWS RAM) para permitir a concessão de permissões às organizações. Para obter mais informações, consulte [Permissões de administrador do data lake](permissions-reference.md#persona-dl-admin).

**O usuário administrador**  
Um diretor com permissões administrativas — por exemplo, com a política `AdministratorAccess` AWS gerenciada — tem permissões para conceder permissões do Lake Formation e criar administradores de data lake. Para negar a um usuário ou função o acesso às operações de administrador do Lake Formation, anexe ou adicione à política uma declaração `Deny` para as operações da API do administrador.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "lakeformation:GetDataLakeSettings",
                "lakeformation:PutDataLakeSettings"
            ],
            "Effect": "Deny",
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

**Importante**  
Para evitar que os usuários se adicionem como administradores com um script de extração, transformação e carregamento (ETL), certifique-se de que todos os usuários e funções não administradores tenham acesso negado a essas operações de API. A política `AWSLakeFormationDataAdmin` AWS gerenciada contém uma negação explícita da operação da API Lake Formation, `PutDataLakeSetting` que impede que os usuários adicionem novos administradores de data lake.

# Conceder permissões de dados usando o método de recurso nomeado
<a name="granting-cat-perms-named-resource"></a>

O método de recurso nomeado do Data Catalog é uma forma de conceder permissões a objetos do AWS Glue Data Catalog , como catálogos, bancos de dados, tabelas, colunas e visualizações, usando uma abordagem centralizada. Ele permite que você defina políticas baseadas em recursos que controlam o acesso a recursos específicos no data lake.

Ao usar o método de recurso nomeado para conceder permissões, você pode especificar o tipo de recurso e as permissões que deseja conceder ou revogar para esse recurso. Você também pode revogar a permissão posteriormente, se necessário, removendo, assim, as permissões dos recursos associados. 

Você pode conceder permissões usando o AWS Lake Formation console ou o AWS Command Line Interface (AWS CLI). APIs

**Topics**
+ [Conceder permissões do catálogo usando o método de recurso nomeado](granting-multi-catalog-permissions.md)
+ [Conceder permissões de banco de dados usando o método de recurso nomeado](granting-database-permissions.md)
+ [Conceder permissões de tabela usando o método de recurso nomeado](granting-table-permissions.md)
+ [Conceder permissões em visualizações usando o método de recurso nomeado](granting-view-permissions.md)

# Conceder permissões do catálogo usando o método de recurso nomeado
<a name="granting-multi-catalog-permissions"></a>

As etapas a seguir explicam como conceder permissões de catálogo usando o método de recurso nomeado.

------
#### [ Console ]

Use a página **Conceder permissões** no console do Lake Formation. A página está dividida nas seguintes seções:
+ **Tipo de entidade principal**: você pode conceder permissões a entidades principais específicas ou usar tags de atributo.
  +  **Entidades principais**: usuários e perfis do IAM, usuários e grupos do Centro de Identidade do IAM, usuários e grupos do SAML, contas da AWS , organizações ou unidades organizacionais aos quais conceder permissões.

    **Principal por atributos** — Adicione pares de chave-valor de tag IAMroles ou tags de sessão do IAM. As entidades principais com atributos correspondentes recebem acesso ao recurso especificado. 
  +  **Tags LF ou recursos do catálogo**: os catálogos, bancos de dados, tabelas, visualizações ou links de recursos nos quais conceder permissões.
  +  **Permissões** – As permissões do Lake Formation devem ser concedidas.

**nota**  
Para conceder permissões em um link de recurso de banco de dados, consulte [Como conceder permissões de links de recursos](granting-link-permissions.md).

1. Abra a página **Conceder permissões**.

   Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e faça login como administrador do data lake, criador do catálogo ou usuário do IAM com **permissões concedidas** no catálogo.

   Execute um destes procedimentos:
   + No painel de navegação, em **Permissões**, escolha **Permissões de dados**. Em seguida, escolha **Conceder**.
   + No painel de navegação, escolha **Catálogos**, em **Data Catalog**. Depois, na página **Catálogos**, selecione um catálogo e, no menu **Ações**, em **Permissões**, escolha **Conceder**.
**nota**  
É possível conceder permissões em um catálogo por meio do link do recurso. Para fazer isso, na página **Catálogos**, escolha um contêiner de links de catálogo e no menu **Ações**, escolha **Conceder no destino**. Para obter mais informações, consulte [Como os links de recursos funcionam no Lake Formation](resource-links-about.md).

1. Depois, na seção **Tipo de entidade principal**, escolha as entidades principais ou especifique os atributos anexados a elas.  
![\[A seção de tipo de entidades principais contém dois blocos dispostos horizontalmente, e cada um contém um botão de opção e um texto descritivo. As opções são Entidades principais e Entidades principais por atributos. Abaixo do título são exibidas as entidades principais.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-catalog-principal-type.png)

****Especifique os principais****  
**Usuários e perfis do IAM**  
Escolha um ou mais usuários ou perfis na lista de **usuários e perfis do IAM**.  
**Centro de Identidade do IAM**  
Selecione um ou mais usuários ou grupos na lista **Usuários e grupos**. Selecione **Adicionar** para adicionar mais usuários ou grupos.  
**Usuários e grupos SAML**  
Para **usuários e grupos do SAML e do Quick**, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou para usuários ou grupos do ARNs Amazon Quick. Pressione Enter após cada ARN.  
Para obter informações sobre como construir o ARNs, consulte[Lake Formation concede e revoga comandos AWS CLI](lf-permissions-reference.md#perm-command-format).  
A integração do Lake Formation com o Quick é compatível somente com o Quick Enterprise Edition.  
**Contas externas**  
Para **Conta da AWS, AWS organização** ou **diretor do IAM**, insira uma ou mais AWS contas IDs, organizações IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função do IAM. Pressione **Enter** após cada ID.  
O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos.  
Uma ID de unidade organizacional começa com “ou-” seguida de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais.

****Entidades principais por atributos****  
**Atributos.**  
Adicione os pares de chave-valor de tags do IAM por meio do perfil do IAM.   
**Escopo de permissões**  
Especifique se você está concedendo permissões a entidades principais com atributos correspondentes na mesma ou em outra conta.

1. Na seção **Tags do LF ou recursos do catálogo**, selecione **Recursos do catálogo de dados nomeados**.  
![\[A seção tags do LF ou recursos do catálogo contém dois blocos dispostos horizontalmente, onde cada bloco contém um botão de opção e um texto descritivo. As opções são Recursos combinados por tags do LF e recursos do Catálogo de dados nomeados. Abaixo dos blocos, há duas listas suspensas: Banco de dados e Tabela. A lista suspensa Banco de dados tem um quadro abaixo dela contendo o nome do banco de dados selecionado.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-target-resources-catalog.png)

1. Escolha um ou mais catálogos na lista **Catálogos**. Você também pode escolher um ou mais **bancos de dados**, **tabelas** e **filtros and/or de dados**.

1. Na seção **Permissões do catálogo**, selecione permissões e permissões para concessão. Em **Permissões do catálogo**, selecione uma ou mais permissões a serem concedidas.  
![\[A seção Permissões e o bloco de permissões do catálogo. Abaixo dos blocos, há um grupo de caixas de seleção para conceder permissões de catálogo. As caixas de seleção incluem Superusuário, Criar catálogo, Criar banco de dados, Alterar, Eliminar, Descrever e Super. Abaixo desse grupo, há outro grupo com as mesmas caixas de seleção para permissões concedíveis.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-target-catalog-permissions-section.png)

   Escolha **Superusuário** a fim de conceder privilégios administrativos irrestritos para realizar qualquer operação em todos os recursos do catálogo (bancos de dados, tabelas e visualizações).
**nota**  
Depois de conceder `Create database` ou `Alter` em um catálogo que tenha uma propriedade de localização que aponta para um local registrado, certifique-se também de conceder permissões de localização de dados no local às entidades principais. Para obter mais informações, consulte [Conceder permissões de localização de dados](granting-location-permissions.md).

1. (Opcional) Em **Permissões concedidas**, selecione as permissões que o beneficiário da concessão pode conceder a outras entidades principais em sua conta da AWS . Essa opção não é compatível quando você está concedendo permissões a uma entidade principal do IAM a partir de uma conta externa. 

1. Selecione **Conceder**.

   A página **Permissões de dados** mostra os detalhes da permissão. Se você usou a opção **Entidades principais por atributo** para conceder permissões, poderá visualizar a permissão concedida a `ALLPrincipals` na lista.

------
#### [ AWS CLI ]

Para conceder permissões de catálogo usando AWS CLI, consulte[Criar catálogos federados do Amazon Redshift](create-ns-catalog.md).

------

# Conceder permissões de banco de dados usando o método de recurso nomeado
<a name="granting-database-permissions"></a>

As etapas a seguir explicam como conceder permissões de banco de dados usando o método de recurso nomeado.

------
#### [ Console ]

Use a página **Conceder permissões** no console do Lake Formation. A página está dividida nas seguintes seções:
+  **Tipo de entidade principal**: a seção **Entidades principais** incluem os usuários, os perfis do IAM, usuários e grupos do Centro de Identidade do IAM, usuários e grupos do SAML, contas da AWS , organizações ou unidades organizacionais aos quais conceder permissões. Na seção **Entidades principais por atributos**, é possível especificar a chave e os valores dos atributos anexados aos perfis do IAM. 
+  **Tags do LF ou recursos do catálogo**: bancos de dados, tabelas, visualizações ou links de recursos nos quais conceder permissões.
+  **Permissões** – As permissões do Lake Formation devem ser concedidas.

**nota**  
Para conceder permissões em um link de recurso de banco de dados, consulte [Como conceder permissões de links de recursos](granting-link-permissions.md).

1. Abra a página **Conceder permissões**.

   Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e faça login como administrador do data lake, criador do banco de dados ou usuário do IAM com **permissões concedidas no banco** de dados.

   Execute um destes procedimentos:
   + No painel de navegação, em **Permissões**, escolha **Permissões de dados**. Em seguida, escolha **Conceder**.
   + No painel de navegação, selecione **Bancos de dados**, em **Catálogo de dados**. Depois, na página **Bancos de dados**, selecione um banco de dados e, no menu **Ações**, em **Permissões**, escolha **Conceder**.
**nota**  
Você pode conceder permissões em um banco de dados por meio de seu link de recurso. Para fazer isso, na página **Bancos de dados**, escolha um link de recurso e, no menu **Ações**, escolha **Conceder no destino**. Para obter mais informações, consulte [Como os links de recursos funcionam no Lake Formation](resource-links-about.md).

1. Na seção **Tipo de entidade principal**, especifique as entidades principais ou conceda permissões às entidades principais usando atributos.  
![\[A seção Entidades principais contém quatro blocos. Cada bloco contém um botão de opção e um texto.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/identity-center-grant-perm.png)  
**Usuários e perfis do IAM**  
Escolha um ou mais usuários ou perfis na lista de **usuários e perfis do IAM**.  
**Centro de Identidade do IAM**  
Selecione um ou mais usuários ou grupos na lista **Usuários e grupos**. Selecione **Adicionar** para adicionar mais usuários ou grupos.  
**Usuários e grupos SAML**  
Para **usuários e grupos do SAML e do Quick**, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou para usuários ou grupos do ARNs Amazon Quick. Pressione Enter após cada ARN.  
Para obter informações sobre como construir o ARNs, consulte[Lake Formation concede e revoga comandos AWS CLI](lf-permissions-reference.md#perm-command-format).  
A integração do Lake Formation com o Quick é compatível somente com o Quick Enterprise Edition.  
**Contas externas**  
Para **Conta da AWS, AWS organização** ou **diretor do IAM**, insira uma ou mais AWS contas IDs, organizações IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função do IAM. Pressione **Enter** após cada ID.  
O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos.  
Uma ID de unidade organizacional começa com “ou-” seguida de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais.  
Entidades principais por atributos  
Especifique a chave e os valores do atributo. Se você escolher mais de um valor, estará criando uma expressão de atributo com um operador OR. Isso significa que, se algum dos valores da tag de atributo atribuídos a uma função ou usuário do IAM corresponder, eles role/user ganharão permissões de acesso ao recurso.  
 Escolha o escopo da permissão especificando se você está concedendo permissões a entidades principais com atributos correspondentes na mesma ou em outra conta. 

1. Na seção **Tags do LF ou recursos do catálogo**, selecione **Recursos do catálogo de dados nomeados**.  
![\[A seção tags do LF ou recursos do catálogo contém dois blocos dispostos horizontalmente, onde cada bloco contém um botão de opção e um texto descritivo. As opções são Recursos combinados por tags do LF e recursos do Catálogo de dados nomeados. Abaixo dos blocos, há duas listas suspensas: Banco de dados e Tabela. A lista suspensa Banco de dados tem um quadro abaixo dela contendo o nome do banco de dados selecionado.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-target-resources-section-2.png)

1. Escolha um ou mais bancos de dados na lista **Banco de dados**. Você também pode escolher um ou mais **filtros de and/or dados de** **tabelas**.

1. Na seção **Permissões**, selecione permissões e permissões concedidas. Em **Permissões do banco de dados**, selecione uma ou mais permissões para conceder.  
![\[A seção Permissões contém dois blocos, organizados horizontalmente. Cada bloco contém um botão de opção e um texto. O quadro Permissões do banco de dados está selecionado. O outro bloco, Permissões baseadas em colunas, está desativado porque está relacionado às permissões da tabela. Abaixo dos blocos, há um grupo de caixas de seleção para conceder permissões de banco de dados. As caixas de seleção incluem Criar tabela, Alterar, Eliminar, Descrever e Super. Abaixo desse grupo, há outro grupo com as mesmas caixas de seleção para permissões concedíveis.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-target-db-permissions-section.png)
**nota**  
Depois de conceder `Create Table` ou `Alter` em um banco de dados que tenha uma propriedade de localização que aponta para um local registrado, certifique-se também de conceder permissões de localização de dados no local às entidades principais. Para obter mais informações, consulte [Conceder permissões de localização de dados](granting-location-permissions.md).

1. (Opcional) Em **Permissões concedidas**, selecione as permissões que o beneficiário da concessão pode conceder a outras entidades principais em sua conta da AWS . Essa opção não é compatível quando você está concedendo permissões a uma entidade principal do IAM a partir de uma conta externa. 

1. Selecione **Conceder**.

------
#### [ AWS CLI ]

Você pode conceder permissões de banco de dados usando o método de recurso nomeado e o AWS Command Line Interface (AWS CLI).

**Para conceder permissões de banco de dados usando o AWS CLI**
+ Execute um comando `grant-permissions` e especifique um banco de dados ou o catálogo de dados como recurso, dependendo da permissão concedida.

  Nos exemplos a seguir, *<account-id>* substitua por um ID de AWS conta válido.  
**Example – Concessão para criar um banco de dados**  

  Este exemplo concede `CREATE_DATABASE` ao usuário `datalake_user1`. Como o recurso no qual essa permissão é concedida é o catálogo de dados, o comando especifica uma estrutura `CatalogResource` vazia como parâmetro `resource`.

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'
  ```  
**Example – Concessão para criar tabelas em um banco de dados designado**  

  O próximo exemplo concede `CREATE_TABLE` no banco de dados `retail` ao usuário `datalake_user1`.

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
  ```  
**Example — Conceder para uma AWS conta externa com a opção Conceder**  

  O próximo exemplo concede `CREATE_TABLE` com a opção de concessão no banco de dados à conta externa `retail` 1111-2222-3333.

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
  ```  
**Example – Concessão a uma organização**  

  O próximo exemplo concede a `ALTER` a opção de concessão no banco de dados `issues` à organização `o-abcdefghijkl`.

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "Database": {"Name":"issues"}}'
  ```  
**Example - Conceder `ALLIAMPrincipals` na mesma conta**  

  O próximo exemplo concede permissão `CREATE_TABLE` no banco de dados `retail` a todas as entidades principais na mesma conta. Essa opção permite que cada entidade principal da conta crie uma tabela no banco de dados e crie um link de recurso de tabela, permitindo que mecanismos de consulta integrados acessem bancos de dados e tabelas compartilhados. Essa opção é especialmente útil quando uma entidade principal recebe uma concessão entre contas e não tem permissão para criar links de recursos. Nesse cenário, o administrador do data lake pode criar um banco de dados de espaço reservado e conceder permissão `CREATE_TABLE` ao grupo `ALLIAMPrincipal`, permitindo que cada entidade principal do IAM na conta crie links de recursos no banco de dados de espaço reservado. 

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE"  --resource '{ "Database": {"Name":"temp","CatalogId":"111122223333"}}' 
  ```  
**Example - Conceder a `ALLIAMPrincipals` em uma conta externa**  

  O próximo exemplo concede `CREATE_TABLE` no banco de dados `retail` a todas as entidades principais em uma conta externa. Essa opção permite que cada entidade principal da conta crie uma tabela no banco de dados.

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE"  --resource '{ "Database": {"Name":"retail","CatalogId":"123456789012"}}'
  ```

**nota**  
Depois de conceder `CREATE_TABLE` ou `ALTER` em um banco de dados que tenha uma propriedade de localização que aponta para um local registrado, certifique-se também de conceder permissões de localização de dados no local às entidades principais. Para obter mais informações, consulte [Conceder permissões de localização de dados](granting-location-permissions.md).

------

**Consulte também**  
 [Referência de permissões do Lake Formation](lf-permissions-reference.md) 
 [Conceder permissões em um banco de dados ou tabela compartilhada com sua conta](regranting-shared-resources.md) 
 [Acessar e visualizar tabelas e bancos de dados compartilhados do catálogo de dados](viewing-shared-resources.md) 

# Conceder permissões de tabela usando o método de recurso nomeado
<a name="granting-table-permissions"></a>

Você pode usar o console do Lake Formation ou AWS CLI conceder permissões do Lake Formation nas tabelas do Catálogo de Dados. Você pode conceder permissões em tabelas individuais ou, com uma única operação de concessão, você pode conceder permissões em todas as tabelas em um banco de dados. 

Se você conceder permissões em todas as tabelas em um banco de dados, estará concedendo implicitamente a permissão `DESCRIBE` no banco de dados. Em seguida, o banco de dados aparece na página **Bancos de dados** no console e é retornado pela operação da API `GetDatabases`. Essa concessão da permissão `DESCRIBE` automática não se aplica quando você usa o controle de acesso por atributo (ABAC). Quando você concede permissões em todas as tabelas em um banco de dados usando atributos, o Lake Formation não concede a permissão `DESCRIBE` implícita ao banco de dados.

Ao escolher `SELECT` como a permissão a ser concedida, você tem a opção de aplicar um filtro de coluna, filtro de linha ou filtro de célula.

------
#### [ Console ]

As etapas a seguir explicam como conceder permissões de tabela usando o método de recurso nomeado e a página **Conceder permissões de data lake** no console do Lake Formation. A página está dividida nas seguintes seções:
+  **Tipos de entidade principal**: os usuários, perfis, contas da AWS , organizações ou unidades organizacionais aos quais conceder permissões. Você também pode conceder permissões a entidades principais com atributos correspondentes.
+  **Tags do LF ou recursos do catálogo** – Os bancos de dados, tabelas ou links de recursos nos quais conceder permissões.
+  **Permissões** – As permissões do Lake Formation devem ser concedidas.

**nota**  
Para conceder permissões em um link de recurso de tabela, consulte [Como conceder permissões de links de recursos](granting-link-permissions.md).

1. Abra a página Conceder permissões.

   Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e faça login como administrador do data lake, criador da tabela ou usuário que tenha recebido permissões na tabela com a opção de concessão.

   Execute um destes procedimentos:
   + No painel de navegação, escolha **Permissões de dados**, em **Permissões**. Em seguida, escolha **Conceder**.
   + No painel de navegação, selecione **Tabelas**. Em seguida, na página **Tabelas**, escolha uma tabela e, no menu **Ações**, em **Permissões**, escolha **Conceder**.
**nota**  
Você pode conceder permissões em uma tabela por meio de seu link de recurso. Para fazer isso, na página **Tabelas**, escolha um link de recurso e, no menu **Ações**, escolha **Conceder no destino**. Para obter mais informações, consulte [Como os links de recursos funcionam no Lake Formation](resource-links-about.md).

1. Na seção **Tipos de entidade principal**, especifique as entidades principais ou entidades principais com atributos correspondentes para conceder permissões.  
**Usuários e perfis do IAM**  
Escolha um ou mais usuários ou perfis na lista de **usuários e perfis do IAM**.  
**Centro de Identidade do IAM**  
Selecione um ou mais usuários ou grupos na lista **Usuários e grupos**.  
**Usuários e grupos SAML**  
Para **usuários e grupos do SAML e do Quick**, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou ARNs para usuários ou grupos do Quick. Pressione Enter após cada ARN.  
Para obter informações sobre como construir o ARNs, consulte[Lake Formation concede e revoga comandos AWS CLI](lf-permissions-reference.md#perm-command-format).  
A integração do Lake Formation com o Quick é compatível somente com o Quick Enterprise Edition.  
**Contas externas**  
Para **Conta da AWS , AWS organização** ou **diretor do IAM**, insira uma ou mais organizações Conta da AWS IDs IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função do IAM. Pressione **Enter** após cada ID.  
O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos.  
Uma ID de unidade organizacional começa com “ou-” seguida de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo caractere "-" e de 8 a 32 letras minúsculas ou dígitos adicionais.  
Entidades principais por atributos  
Especifique a chave e os valores do atributo. Se você escolher mais de um valor, estará criando uma expressão de atributo com um operador OR. Isso significa que, se algum dos valores da tag de atributo atribuídos a uma função ou usuário do IAM corresponder, ele role/user ganhará permissões de acesso ao recurso.  
 Escolha o escopo da permissão especificando se você está concedendo permissões a entidades principais com atributos correspondentes na mesma ou em outra conta. 

1. Na seção **Tags do LF ou recursos do catálogo**, escolha um banco de dados. Em seguida, escolha uma ou mais tabelas ou **Todas as tabelas**.  
![\[A seção tags do LF ou recursos do catálogo contém dois blocos dispostos horizontalmente, onde cada bloco contém um botão de opção e um texto descritivo. As opções são Recursos combinados por tags do LF e recursos do catálogo de dados nomeados. Os recursos do catálogo de dados nomeados são selecionados. Abaixo dos blocos, há duas listas suspensas: Banco de dados e tabela. A lista suspensa Banco de dados tem um quadro abaixo dela contendo o nome do banco de dados selecionado. A lista suspensa Tabela tem um quadro abaixo dela contendo o nome da tabela selecionada.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-target-resources-tables-section-2.png)

1. 

**Especifique as permissões sem filtragem de dados.**

   Na seção **Permissões**, selecione as permissões da tabela a serem concedidas e, opcionalmente, selecione as permissões que podem ser concedidas.  
![\[A seção Permissões de tabela e coluna tem duas subseções: Permissões de tabela e Permissões concedidas. Cada subseção tem uma caixa de seleção para cada permissão possível do Lake Formation: Alterar, Inserir, Eliminar, Excluir, Selecionar, Descrever e Super. A permissão Super é definida à direita das outras permissões e tem uma descrição: “Essa permissão permite que a entidade principal conceda qualquer uma das permissões à esquerda e substitui as permissões concedidas”.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-table-permissions-section-no-filter.png)

   Se você conceder **Selecionar**, a seção **Permissões de dados** aparecerá abaixo da seção **Permissões de tabela e coluna**, com a opção **Acesso a todos os dados** selecionada por padrão. Aceite o padrão.  
![\[A seção contém três blocos, dispostos horizontalmente, cada um com um botão de opção e uma descrição. Os botões de opção são: Acesso a todos os dados (selecionado), Acesso simples baseado em colunas e Filtros avançados em nível de célula.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-select-all-data-access.png)

1. Selecione **Conceder**.

1. 

**Especifique a permissão **Selecionar** com filtragem de dados**

   Selecione a permissão **Selecionar**. Não selecione nenhuma outra permissão.

   A seção **Permissões de dados** aparece abaixo da seção **Permissões de tabela e coluna**.

1. Execute um destes procedimentos:
   + Aplique somente a filtragem simples de colunas.

     1. Escolha **Acesso simples baseado em colunas**.  
![\[A seção superior é a seção Permissões de tabela e coluna. Está descrito na captura de tela anterior. Ele contém caixas de seleção para permissões de tabela e permissões concedidas. A seção inferior, Permissões de dados, tem três blocos dispostos horizontalmente, onde cada bloco tem um botão de opção e uma descrição. As opções são Acesso a todos os dados, Acesso simples baseado em colunas e Filtros avançados em nível de célula. A opção de acesso simples baseado em colunas está selecionada. Abaixo dos blocos, há um grupo de botões de opção com o rótulo Escolher filtro de permissão. As opções são Incluir colunas e Excluir colunas. Abaixo do grupo de opções, há uma lista suspensa Selecionar colunas e, abaixo dela, uma subseção Permissões concedidas, que contém uma única caixa de seleção chamada Selecionar.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-table-permissions-section-column-filter.png)

     1. Escolha se deseja incluir ou excluir colunas e, em seguida, escolha as colunas a serem incluídas ou excluídas.

        Somente listas de inclusão são suportadas ao conceder permissões a uma AWS conta ou organização externa.

     1. (Opcional) Em **Permissões concedidas**, ative a opção de concessão para a permissão Selecionar.

         Se você incluir a opção de concessão, o destinatário da concessão poderá conceder permissões somente nas colunas que você conceder a ele.
**nota**  
Você também pode aplicar a filtragem de colunas somente criando um filtro de dados que especifique um filtro de coluna e especifique todas as linhas como filtro de linha. No entanto, isso requer mais etapas.
   + Aplique filtragem de coluna, linha ou célula.

     1. Escolha **Filtros avançados em nível de célula**.  
![\[Essa seção, intitulada Permissões de dados, está abaixo da seção Permissões de tabela. Possui três ladrilhos dispostos horizontalmente, onde cada ladrilho tem um botão de opção e uma descrição. As opções são Acesso a todos os dados, Acesso simples baseado em colunas e Filtros avançados em nível de célula. A opção Filtros avançados em nível de célula está selecionada. Abaixo dos blocos está o rótulo Exibir permissões existentes com um triângulo de exposição à esquerda. As permissões existentes não são expostas. Abaixo está uma seção intitulada Filtros de dados a serem concedidos. À direita do título, há três botões: Atualizar, Gerenciar filtros e Criar novo filtro. Abaixo do título e dos botões, há um campo de texto com o texto reservado “Localizar filtro”. Abaixo está uma tabela de filtros existentes. Cada linha tem uma caixa de seleção à esquerda. Os cabeçalhos das colunas são Nome do filtro, Tabela, Banco de dados e ID do catálogo da tabela. Há duas fileiras. O nome do filtro na primeira linha é restrict-pharma. O nome na segunda linha é no-pharma.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-table-permissions-section-cell-filter.png)

     1. (Opcional) Expanda **Visualizar permissões existentes**.

     1. (Opcional) Escolha **Criar novo filtro**.

     1. (Opcional) Para ver detalhes dos filtros listados, criar novos filtros ou excluir filtros existentes, escolha **Gerenciar filtros**.

        A página **Filtros de dados** é aberta em uma nova janela do navegador.

        Quando terminar de acessar a página **Filtros de dados**, retorne à página **Conceder permissões** e, se necessário, atualize a página para ver os novos filtros de dados que você criou.

     1. Selecione um ou mais filtros de dados a serem aplicados à concessão.
**nota**  
Se não houver filtros de dados na lista, isso significa que nenhum filtro de dados foi criado para a tabela selecionada.

1. Selecione **Conceder**.

------
#### [ AWS CLI ]

Você pode conceder permissões de tabela usando o método de recurso nomeado e o AWS Command Line Interface (AWS CLI).

**Para conceder permissões de tabela usando o AWS CLI**
+ Execute um comando `grant-permissions` e especifique uma tabela como recurso.

**Example – Concessão em uma única tabela - sem filtragem**  
O exemplo a seguir concede `SELECT` e `ALTER` ao usuário `datalake_user1` na AWS conta 1111-2222-3333 na tabela no banco de dados. `inventory` `retail`  

```
1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```
Se você conceder a permissão `ALTER` em uma tabela que tem seus dados subjacentes em um local registrado, certifique-se de também conceder permissões de localização de dados no local às entidades principais. Para obter mais informações, consulte [Conceder permissões de localização de dados](granting-location-permissions.md).

**Example – Conceder em todas as tabelas com a opção Conceder - sem filtragem**  
O próximo exemplo concede `SELECT` com a opção de concessão em todas as tabelas no banco de dados `retail`.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
```<a name="simple-column-filter-example"></a>

**Example – Grant com filtragem simples de colunas**  
O próximo exemplo concede a `SELECT` um subconjunto de colunas na tabela `persons`. Ele usa filtragem de coluna simples.  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"hr", "Name":"persons", "ColumnNames":["family_name", "given_name", "gender"]}}'
```

**Example – Conceda com um filtro de dados**  
Este exemplo concede `SELECT` na tabela `orders` e aplica o filtro de dados `restrict-pharma`.  

```
aws lakeformation grant-permissions --cli-input-json file://grant-params.json
```
A seguir está o conteúdo do arquivo `grant-params.json`.  

```
{
    "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"},
    "Resource": {
        "DataCellsFilter": {
            "TableCatalogId": "111122223333",
            "DatabaseName": "sales",
            "TableName": "orders",
            "Name": "restrict-pharma"
        }
    },
    "Permissions": ["SELECT"],
    "PermissionsWithGrantOption": ["SELECT"]
}
```

------

**Consulte também**  
[Visão geral das permissões do Lake Formation](lf-permissions-overview.md)
[Filtragem de dados e segurança por célula no Lake Formation](data-filtering.md)
[Referência de personas e permissões do IAM do Lake Formation](permissions-reference.md)
 [Como conceder permissões de links de recursos](granting-link-permissions.md)
 [Acessar e visualizar tabelas e bancos de dados compartilhados do catálogo de dados](viewing-shared-resources.md) 

# Conceder permissões em visualizações usando o método de recurso nomeado
<a name="granting-view-permissions"></a>

As etapas a seguir explicam como conceder permissões em visualizações usando o método de recurso nomeado e a página **Conceder permissões**. A página está dividida nas seguintes seções:
+  **Tipos principais**: usuários, funções, usuários e grupos do IAM Identity Center Contas da AWS, organizações ou unidades organizacionais para conceder permissões. Você também pode conceder permissões a entidades principais com atributos correspondentes.
+  **Tags do LF ou recursos do catálogo**: bancos de dados, tabelas, visualizações ou links de recursos nos quais conceder permissões.
+  **Permissões**: as permissões de data lake a serem concedidas.

## Abra a página **Conceder permissões**.
<a name="view-start-grant"></a>

1. Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e faça login como administrador do data lake, criador do banco de dados ou usuário do IAM com **permissões concedidas no banco** de dados.

1. Execute um destes procedimentos:
   + No painel de navegação, em **Permissões**, escolha **Permissões de dados**. Em seguida, escolha **Conceder**.
   + No painel de navegação, selecione **Visualizações** em **Catálogo de dados**. Depois, na página **Visualizações**, selecione uma visualização e, no menu **Ações**, em **Permissões**, escolha **Conceder**.
**nota**  
É possível conceder permissões em uma visualização por meio do link de recurso. Para fazer isso, na página **Visualizações**, escolha um link de recurso e, no menu **Ações**, selecione **Conceder no destino**. Para obter mais informações, consulte [Como os links de recursos funcionam no Lake Formation](resource-links-about.md).

## Especificar os tipos de entidade principal
<a name="views-specify-principals"></a>

 Na seção **Tipo de entidade principal**, escolha Entidades principais ou Entidades principais por atributos. Se você escolher Entidades principais, as seguintes opções estarão disponíveis:

**Usuários e perfis do IAM**  
Escolha um ou mais usuários ou perfis na lista de **usuários e perfis do IAM**.

**Centro de Identidade do IAM **  
Selecione um ou mais usuários ou grupos na lista **Usuários e grupos**.

**Usuários e grupos SAML**  
Para **usuários e grupos do SAML e do Quick**, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou para usuários ou grupos do ARNs Amazon Quick. Pressione Enter após cada ARN.  
Para obter informações sobre como construir o ARNs, consulte[Lake Formation concede e revoga comandos AWS CLI](lf-permissions-reference.md#perm-command-format).  
A integração do Lake Formation com o Quick é compatível somente com o Quick Enterprise Edition.

**Contas externas**  
Para **Conta da AWS, AWS organização** ou **diretor do IAM**, insira uma ou mais AWS contas IDs, organizações IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função do IAM. Pressione **Enter** após cada ID.  
O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos.  
Uma ID de unidade organizacional começa com “ou-” seguida de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais.  
**Consulte também**  
+  [Acessar e visualizar tabelas e bancos de dados compartilhados do catálogo de dados](viewing-shared-resources.md) 

**Entidades principais por atributos**  
Especifique a chave e os valores do atributo. Se você escolher mais de um valor, estará criando uma expressão de atributo com um operador OR. Isso significa que, se algum dos valores da tag de atributo atribuídos a uma função ou usuário do IAM corresponder, ele role/user ganhará permissões de acesso ao recurso.  
 Escolha o escopo da permissão especificando se você está concedendo permissões a entidades principais com atributos correspondentes na mesma ou em outra conta. 

## Especificar as visualizações
<a name="view-specify-resources"></a>

Na seção **Tags do LF ou recursos do catálogo**, selecione uma ou mais visualizações nas quais conceder permissões.

1. Escolha **Recursos do catálogo de dados nomeado**.

1. Selecione uma ou mais visualizações na lista **Visualizações**. Você também pode escolher um ou mais catálogos, bancos de dados, tabelas e filtros de and/or dados.

   Conceder permissões de data lake a `All tables` em um banco de dados resultará em permissões do favorecido em todas as tabelas e visualizações do banco de dados.

## Especifique as permissões
<a name="view-specify-permissions"></a>

Na seção **Permissões**, selecione permissões e permissões concedidas.

![\[A seção Permissões tem um grupo de caixas de seleção para visualizar permissões a serem concedidas. As caixas de seleção incluem Selecionar, Descrever, Soltar e Super. Abaixo desse grupo, há outro grupo com as mesmas caixas de seleção para permissões concedíveis.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/view-permissions.png)


1. Em **Visualizar permissões**, selecione uma ou mais permissões a serem concedidas.

1. (Opcional) Em **Permissões que podem ser concedidas**, selecione as permissões que o beneficiário pode conceder a outras entidades principais na Conta da AWS. Essa opção não é compatível quando você está concedendo permissões a uma entidade principal do IAM a partir de uma conta externa. 

1. Selecione **Conceder**.

**Consulte também**  
 [Referência de permissões do Lake Formation](lf-permissions-reference.md) 
 [Conceder permissões em um banco de dados ou tabela compartilhada com sua conta](regranting-shared-resources.md) 

# Controle de acesso baseado em tags do Lake Formation
<a name="tag-based-access-control"></a>

O controle de acesso baseado em tags do Lake Formation (LF-TBAC) é uma estratégia de autorização que define permissões com base em atributos. No Lake Formation, esses atributos são chamados de *tags do LF*. Você pode anexar tags do LF aos recursos do Catálogo de Dados e conceder permissões a entidades principais do Lake Formation nesses recursos usando essas tags do LF. O Lake Formation permite operações nesses recursos quando a entidade principal possui acesso concedido a um valor de tag correspondente ao valor da tag do recurso. 

O LF-TBAC é útil em ambientes que estão crescendo rapidamente e ajuda em situações em que o gerenciamento de políticas se torna um problema. 

O LF-TBAC é o método recomendado para conceder permissões do Lake Formation quando há um grande número de objetos do Data Catalog, incluindo catálogos federados, bancos de dados, tabelas e visualizações. O Lake Formation oferece suporte ao controle de acesso baseado em tags para catálogos federados de tabelas, Amazon Redshift data warehouses e fontes de dados federadas do Amazon S3, como Amazon DynamoDB SQL Server e Snowflake.

**nota**  
As tags do IAM não são iguais às tags do LF. Essas tags não são intercambiáveis. As tags do LF são usadas para conceder permissões do Lake Formation e as tags do IAM são usadas para definir políticas do IAM.

## Como funciona o controle de acesso baseado em tags do Lake Formation
<a name="how-TBAC-works"></a>

Cada tag do LF é um par de valores-chave, como `department=sales` ou `classification=restricted`. Uma chave pode ter vários valores definidos, como `department=sales,marketing,engineering,finance`. 

Para usar o método LF-TBAC, os administradores e engenheiros de dados do data lake realizam as seguintes tarefas.


| Tarefa | Detalhes da tarefa | 
| --- | --- | 
|  1. Defina as propriedades e os relacionamentos das tags do LF.  | - | 
|  2. Crie os criadores de tags do LF no Lake Formation.  | [Adicionar criadores de tags do LF](TBAC-adding-tag-creator.md) | 
|  3. Crie a tag do LF no Lake Formation.  | [Criação de tags do LF](TBAC-creating-tags.md) | 
|  4. Atribua tags do LF aos recursos do catálogo de dados.  | [Atribuição de tags do LF aos recursos do catálogo de dados](TBAC-assigning-tags.md) | 
|  5. Conceda permissões a outras entidades principais para atribuir tags do LF aos recursos, opcionalmente com a opção de concessão.  | [Gerenciar permissões de valor de tag do LF](TBAC-granting-tags.md) | 
|  6. Conceda expressões de tag do LF às entidades principais, opcionalmente com a opção de concessão.  | [Conceder permissões de data lake usando o método LF-TBAC](granting-catalog-perms-TBAC.md) | 
|  7. (Recomendado) Depois de verificar se as entidades principais têm acesso aos recursos corretos por meio do método LF-TBAC, revogue as permissões concedidas usando o método de recurso nomeado.  | - | 

Considere o caso em que você deve conceder permissões a três entidade principais em três bancos de dados e sete tabelas. 

![\[Três figuras de usuários estão à esquerda, dispostas verticalmente. À direita estão três bancos de dados rotulados A, B e C, organizados verticalmente. O banco de dados A tem duas tabelas rotuladas como A.1 e A.2, o banco de dados B tem rótulos de tabelas B.1 e B.2 e o banco de dados C tem três tabelas rotuladas como C.1, C.2 e C.3. Dezessete setas conectam os usuários aos bancos de dados e tabelas, indicando concessões nos bancos de dados e tabelas aos usuários.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/TBAC_example_discreet.png)


Para obter as permissões indicadas no diagrama anterior usando o método de recurso nomeado, você precisaria fazer 17 concessões, da seguinte forma (em pseudocódigo).

```
GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1
GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1
GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1
GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1
...
GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2
GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2
...
GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3
```

Agora, considere como você concederia permissões usando o LF-TBAC. O diagrama a seguir indica que você atribuiu tags do LF a bancos de dados e tabelas e concedeu permissões sobre tags do LF às entidades principais. 

Neste exemplo, as tags do LF representam áreas do data lake que contêm análises para diferentes módulos de um pacote de aplicativos de planejamento de recursos corporativos (ERP). Você pode usá-las para controlar o acesso aos dados de analytics dos vários módulos. Todas as tags do LF têm a chave `module` e os valores possíveis `Sales`, `Orders` e `Customers`. Um exemplo de uma tag do LF é semelhante a este:

```
module=Sales
```

O diagrama mostra somente os valores da tag do LF.

![\[Como no diagrama anterior, três figuras de usuários estão à esquerda, organizadas verticalmente, e à direita estão três bancos de dados rotulados A, B e C, organizados verticalmente. O banco de dados A tem duas tabelas rotuladas como A.1 e A.2, o banco de dados B tem rótulos de tabelas B.1 e B.2 e o banco de dados C tem três tabelas rotuladas como C.1, C.2 e C.3. Não há setas entre os usuários e os bancos de dados e tabelas. Em vez disso, as “bandeiras” marcadas ao lado dos usuários indicam que o usuário 1 recebeu as Vendas e Clientes de tags do LF, o usuário 2 recebeu os Pedidos de tags do LF e o usuário 3 recebeu os Clientes de tags do LF. As bandeiras ao lado dos bancos de dados e tabelas indicam as seguintes atribuições de tags do LF a bancos de dados e tabelas: Banco de dados A: Vendas. Tabela A1: uma bandeira esmaecida indica que as vendas foram herdadas do banco de dados A. Tabela A2: pedidos, mas uma bandeira esmaecida indica que as vendas foram herdadas do banco de dados A. Banco de dados B: pedidos. As Tabelas B.1 e B.2 herdam pedidos, e a Tabela B.2 tem clientes. O banco de dados C tem clientes, e as tabelas C.1, C.2 e C.3 herdam clientes. As tabelas C não têm nenhuma outra atribuição.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/TBAC_example_tags.png)


**Atribuições de tags aos recursos e herança do catálogo de dados**  
As tabelas herdam as tags do LF dos bancos de dados e as colunas herdam as tags do LF das tabelas. Os valores herdados podem ser substituídos. No diagrama anterior, as tags do LF esmaecidas são herdadas.

Por causa da herança, o administrador do data lake precisa fazer somente as cinco seguintes atribuições de tag do LF aos recursos (em pseudocódigo).

```
ASSIGN TAGS module=Sales TO database A
ASSIGN TAGS module=Orders TO table A.2
ASSIGN TAGS module=Orders TO database B
ASSIGN TAGS module=Customers TO table B.2
ASSIGN TAGS module=Customers TO database C
```

**Concessões de tags a entidade principais**  
Depois de atribuir tags do LF aos bancos de dados e tabelas, o administrador do data lake deve fazer apenas quatro concessões de tags do LF às entidades principais, da seguinte forma (em pseudocódigo).

```
GRANT TAGS module=Sales TO Principal 1
GRANT TAGS module=Customers TO Principal 1
GRANT TAGS module=Orders TO Principal 2
GRANT TAGS module=Customers TO Principal 3
```

Agora, uma entidade principal com a tag do LF `module=Sales` pode acessar os recursos do catálogo de dados com a tag do LF `module=Sales` (por exemplo, banco de dados A), uma entidade principal com a tag do LF `module=Customers` pode acessar recursos com a tag do LF `module=Customers` e assim por diante.

Os comandos de concessão anteriores estão incompletos. Isso ocorre porque, embora indiquem por meio de tags do LF os recursos do catálogo de dados sobre os quais as entidades principais têm permissões, eles não indicam exatamente quais permissões do Lake Formation (por exemplo `SELECT`, `ALTER`) as entidades principais têm sobre esses recursos. Portanto, os comandos de pseudocódigo a seguir são uma representação mais precisa de como as permissões do Lake Formation são concedidas nos recursos do catálogo de dados por meio de tags do LF.

```
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Sales TO Principal 1
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Customers TO Principal 1
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Orders TO Principal 2
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Customers TO Principal 3
```

**Reunir tudo: permissões resultantes em recursos**  
Considerando as tags do LF atribuídas aos bancos de dados e tabelas no diagrama anterior e as tags do LF concedidas às entidades principais no diagrama, a tabela a seguir lista as permissões do Lake Formation que as entidades principais têm nos bancos de dados e tabelas.


| Entidade principal | Permissões concedidas por meio de tags do LF | 
| --- | --- | 
| Entidade principal 1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/tag-based-access-control.html)  | 
| Entidade principal 2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/tag-based-access-control.html)  | 
| Entidade principal 3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/tag-based-access-control.html)  | 

**Conclusão**  
Neste exemplo simples, usando cinco operações de atribuição e oito operações de concessão, o administrador do data lake conseguiu especificar 17 permissões. Quando há dezenas de bancos de dados e centenas de tabelas, a vantagem do método LF-TBAC sobre o método de recurso nomeado fica clara. No caso hipotético da necessidade de conceder a todos os principais acesso a todos os recursos, e onde `n(P)` é o número de entidades principais e `n(R)` o número de recursos:
+ Com o método de recurso nomeado, o número de concessões necessárias é `n(P)` ✕ `n(R)`.
+ Com o método LF-TBAC, usando uma única tag do LF, o total do número de concessões para entidades principais e atribuições de recursos é `n(P)` \$1 `n(R)`.

**Consulte também**  
[Gerenciar tags do LF para controle de acesso a metadados](managing-tags.md)
[Conceder permissões de data lake usando o método LF-TBAC](granting-catalog-perms-TBAC.md)

**Topics**
+ [Como funciona o controle de acesso baseado em tags do Lake Formation](#how-TBAC-works)
+ [Gerenciar tags do LF para controle de acesso a metadados](managing-tags.md)
+ [Gerenciar expressões de tag LF para controle de acesso a metadados](managing-tag-expressions.md)
+ [Gerenciar permissões de valor de tag do LF](TBAC-granting-tags.md)

# Gerenciar tags do LF para controle de acesso a metadados
<a name="managing-tags"></a>

Para usar o método de controle de acesso baseado em tag do Lake Formation (LF-TBAC) para proteger os objetos do Data Catalog, como catálogos, bancos de dados, tabelas e colunas, você cria tags LF, as atribui aos recursos e concede permissões de tag LF a entidades principais.

Antes de atribuir tags LF aos objetos do Data Catalog ou conceder permissões a entidades principais, você precisa definir tags LF. Somente um administrador de data lake ou uma entidade principal com permissões de criador de tags do LF pode criar tags do LF.

**Criadores de tags do LF**  
O criador de tags do LF é uma entidade principal não administradora que tem permissões para criar e gerenciar tags do LF. Os administradores do Data Lake podem adicionar criadores de tags do LF usando a CLI ou o console do Lake Formation. Os criadores de tags do LF têm permissões implícitas do Lake Formation para atualizar e excluir tags do LF, atribuir tags do LF a recursos e conceder permissões de tag do LF e permissões de valor de tag do LF a outras entidades principais.

Com as funções de criador de tags do LF, os administradores do data lake podem delegar tarefas de gerenciamento de tags, como criar e atualizar valores e chaves de tags, a entidades principais que não são administradoras. Os administradores do Data Lake também podem conceder aos criadores de tag do LF permissões `Create LF-Tag` concedíveis. Em seguida, o criador da tag do LF pode conceder a permissão para criar tags do LF a outras entidades principais. 

 Você pode conceder dois tipos de permissões nas tags do LF:
+ Permissões de tag do LF: `Create LF-Tag`, `Alter` e `Drop`. Essas permissões são necessárias para criar, atualizar e excluir tags do LF.

  Os administradores do data lake e os criadores de tags do LF têm implicitamente essas permissões nas tags do LF que criam e podem concedê-las explicitamente às entidades principais para gerenciar tags no data lake. 
+ Permissões do par chave-valor de tag do LF: `Assign`, `Describe` e `Grant with LF-Tag expressions`. Essas permissões são necessárias para atribuir tags LF a objetos do Data Catalog e para conceder permissões nos recursos a entidades principais usando o controle de acesso baseado em tag do Lake Formation. Os criadores de tags do LF recebem implicitamente essas permissões ao criar tags do LF.

Depois de receber a permissão `Create LF-Tag` e criar tags LF com êxito, o criador de tags LF pode atribuir tags LF a recursos e conceder permissões de tag LF (`Create LF-Tag`, `Alter` e `Drop`) a outras entidades principais não administrativas para gerenciar tags no data lake. Você pode gerenciar tags LF usando o console do Lake Formation, a API ou o AWS Command Line Interface ()AWS CLI.

**nota**  
 Os administradores do Data Lake têm permissões implícitas do Lake Formation para criar, atualizar e excluir tags do LF, atribuir tags do LF a recursos e conceder permissões de tags do LF às entidades principais. 

Para conhecer as práticas recomendadas e as considerações, consulte [Considerações e práticas recomendadas de controle de acesso com base em tags do Lake Formation](lf-tag-considerations.md).

**Topics**
+ [Adicionar criadores de tags do LF](TBAC-adding-tag-creator.md)
+ [Criação de tags do LF](TBAC-creating-tags.md)
+ [Atualizar tags do LF](TBAC-updating-tags.md)
+ [Excluir tags do LF](TBAC-deleting-tags.md)
+ [Listar tags do LF](TBAC-listing-tags.md)
+ [Atribuição de tags do LF aos recursos do catálogo de dados](TBAC-assigning-tags.md)
+ [Visualização de tags do LF atribuídas a um recurso](TBAC-view-resource-tags.md)
+ [Visualizando os recursos aos quais uma tag do LF está atribuída](TBAC-view-tag-resources.md)
+ [Ciclo de vida de uma tag do LF](#lf-tag-life-cycle)
+ [Comparação do controle de acesso baseado em tags do Lake Formation com o controle de acesso baseado em atributos do IAM](#TBAC-comparison-ABAC)

**Consulte também**  
[Gerenciar permissões de valor de tag do LF](TBAC-granting-tags.md)
[Conceder permissões de data lake usando o método LF-TBAC](granting-catalog-perms-TBAC.md)
[Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md)

# Adicionar criadores de tags do LF
<a name="TBAC-adding-tag-creator"></a>

 Por padrão, os administradores do data lake podem criar, atualizar e excluir tags LF, atribuir tags aos objetos do Data Catalog e conceder permissões de tag às entidades principais. Se você quer delegar as operações de criação e gerenciamento de tags a entidades principais que não são administradores, o administrador do data lake pode criar funções de criador de tags do LF e conceder a permissão `Create LF-Tag` do Lake Formation para as funções. Com a permissão `Create LF-Tag` concedida, os criadores de tags do LF podem delegar tarefas de criação e manutenção de tags a outras entidades principais não administrativas.

Para que os administradores do data lake atribuam tags do LF aos recursos do Catálogo de Dados, eles precisam conceder a si mesmos permissões de associação em tags do LF que não foram criadas por eles.

**nota**  
As concessões de permissão entre contas podem incluir somente permissões `Describe` e `Associate`. Você não pode conceder permissões `Create LF-Tag`, `Drop`, `Alter` e `Grant with LFTag expressions` a entidades principais em uma conta diferente. 

**Topics**
+ [Permissões de IAM necessárias para criar tags do LF](#tag-creator-permissions)
+ [Adicionar criadores de tags do LF](#add-lf-tag-creator)

**Consulte também**  
[Gerenciar permissões de valor de tag do LF](TBAC-granting-tags.md)
[Conceder permissões de data lake usando o método LF-TBAC](granting-catalog-perms-TBAC.md)
[Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md)

## Permissões de IAM necessárias para criar tags do LF
<a name="tag-creator-permissions"></a>

 Você deve configurar permissões para permitir que uma entidade principal do Lake Formation crie tags do LF. Adicione a seguinte declaração à política de permissões para a entidade principal que precisa ser um criador de tags do LF.

**nota**  
Embora os administradores do data lake tenham permissões implícitas do Lake Formation para criar, atualizar e excluir tags do LF, atribuir tags do LF aos recursos e conceder tags do LF às entidades principais, os administradores do data lake também precisam das seguintes permissões do IAM.

Para obter mais informações, consulte [Referência de personas e permissões do IAM do Lake Formation](permissions-reference.md).

```
{
"Sid": "Transformational",
"Effect": "Allow",
    "Action": [
        "lakeformation:AddLFTagsToResource",
        "lakeformation:RemoveLFTagsFromResource",
        "lakeformation:GetResourceLFTags",
        "lakeformation:ListLFTags",
        "lakeformation:CreateLFTag",
        "lakeformation:GetLFTag",
        "lakeformation:UpdateLFTag",
        "lakeformation:DeleteLFTag",
        "lakeformation:SearchTablesByLFTags",
        "lakeformation:SearchDatabasesByLFTags"
     ]
 }
```

As entidades principais que atribuem tags do LF aos recursos e concedem tags do LF a entidades principais devem ter as mesmas permissões, exceto as `CreateLFTag`, `UpdateLFTag` e `DeleteLFTag`.

## Adicionar criadores de tags do LF
<a name="add-lf-tag-creator"></a>

Um criador de tags do LF pode criar uma tag do LF, atualizar a chave e os valores da tag, excluir tags, associar tags aos recursos do catálogo de dados e conceder permissões sobre os recursos do catálogo de dados às entidades principais usando o método LF-TBAC. O criador de tags do LF também pode conceder essas permissões a entidades principais.

Você pode criar funções de criador de tags LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ console ]

**Para adicionar um criador de tags do LF**

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

   Faça login como administrador de data lake.

1. No painel de navegação, em **Permissões**, selecione **permissões e tags do LF**.

   Na página **Permissões e tags do LF**, escolha a seção **Criadores de tags do LF** e selecione **Adicionar criadores de tags do LF**.  
![\[LF-Tag creator details form with Usuário do IAM selection and permission options.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/add-lf-tag-creator.png)

1. Na página **Adicionar criadores de tags do LF**, escolha um perfil ou usuário do IAM que tenha as permissões necessárias para criar tags do LF.

1. Ativar caixa de seleção de permissão `Create LF-Tag`.

1. (Opcional) Para permitir que as entidades principais selecionadas concedam a permissão `Create LF-Tag` às entidades principais, escolha a permissão `Create LF-Tag` concedível.

1. Escolha **Adicionar**.

------
#### [ AWS CLI ]

```
aws lakeformation grant-permissions --cli-input-json file://grantCreate
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:user/tag-manager"
    },
    "Resource": {
        "Catalog": {}
    },
    "Permissions": [
        "CreateLFTag"
    ],
    "PermissionsWithGrantOption": [
        "CreateLFTag"
    ]
}
```

------

A seguir estão as permissões disponíveis para a função de criador de tags do LF:


| Permissão | Description | 
| --- | --- | 
| Drop | Uma entidade principal com essa permissão em uma tag do LF pode excluir uma tag do LF do data lake. A entidade principal obtém a permissão Describe implícita em todos os valores de tag de um recurso de tag do LF. | 
| Alter | Uma entidade principal com essa permissão em uma tag do LF pode adicionar ou remover o valor de tag de uma tag do LF. A entidade principal obtém a permissão Alter implícita em todos os valores de tag de uma tag do LF. | 
| Describe | Uma entidade principal com essa permissão em uma tag do LF pode visualizar a tag do LF e os valores dela ao atribuir tags do LF a recursos ou conceder permissões em tags do LF. Você pode conceder Describe em todos os valores-chave ou em valores específicos. | 
| Associate | 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. Conceder Associate concede implicitamente Describe. | 
| Grant with LF-Tag expression | Uma entidade principal com essa permissão em uma tag do LF pode conceder permissões sobre os recursos de um catálogo de dados usando os valores e a chave da tag do LF. Conceder Grant with LF-Tag expression concede implicitamente Describe. | 

Essas permissões são concedidas. Uma entidade principal que tenha recebido essas permissões com a opção de concessão pode concedê-las a outras entidades principais.

# Criação de tags do LF
<a name="TBAC-creating-tags"></a>

Todas as tags do LF devem ser definidas no Lake Formation antes de serem usadas. Uma tag do LF consiste em uma chave e um ou mais valores possíveis para essa chave.

 Depois que o administrador do data lake configurar as permissões necessárias do IAM e as permissões do Lake Formation para a função de criador de tags do LF, a entidade principal pode criar uma tag do LF. O criador da tag do LF obtém permissão implícita para atualizar ou remover qualquer valor da tag do LF e excluir a tag do LF.

Você pode criar tags LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Para criar uma tag do LF**

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

   Faça login como uma entidade principal com permissões de criador de tag do LF ou como administrador do data lake.

1. No painel de navegação, em **Permissões** e **Tags LF e permissões**, escolha **Tags LF**.

   A página **Tags do LF** é exibida.  
![\[A página tem uma tabela de quatro colunas com títulos de coluna Chave, Valores, ID da conta do proprietário e permissões tag do LF. A tabela tem duas linhas. Acima da tabela, há quatro botões dispostos horizontalmente: Excluir (desativado), Editar (desativado), Conceder permissões (desativado) e Adicionar tag. A página também tem um campo de pesquisa com o texto reservado “Localizar tag”. À direita do campo de pesquisa há um seletor de páginas, mostrando o valor “1" entre os botões esquerdo e direito, e um ícone de Configurações.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/policy-tags-page-2.png)

1. Selecione **Adicionar tag do LF**.

1. Na caixa de diálogo **Adicionar tag do LF**, insira uma chave e um ou mais valores.

   Cada chave deve ter pelo menos um valor. Para inserir vários valores, insira uma lista delimitada por vírgulas e pressione **Enter** ou insira um valor por vez e escolha **Adicionar** após cada um. O número máximo de aliases por usuário é de 1000.

1. Escolha **Adicionar Tag**.

------
#### [ AWS CLI ]

**Para criar uma tag do LF**
+ Insira um comando `create-lf-tag`.

  O exemplo a seguir cria uma tag do LF com chave `module` e valores `Customers` e `Orders`.

  ```
  aws lakeformation create-lf-tag --tag-key module --tag-values Customers Orders
  ```

------

 Como criador da tags, a entidade principal obtém a permissão `Alter` sobre essa tag do LF e pode atualizar ou remover qualquer valor de tag dessa tag do LF. A entidade principal criadora da tag do LF também pode conceder a permissão `Alter` a outra entidade principal para atualizar e remover os valores de tag dessa tag do LF. 

# Atualizar tags do LF
<a name="TBAC-updating-tags"></a>

Você atualiza uma tag do LF na qual tem permissão `Alter` adicionando ou excluindo valores de chave permitidos. Não é possível alterar a chave de tag do LF. Para alterar a chave, exclua a tag do LF e adicione uma com a chave necessária. Além da permissão `Alter`, você também precisa da permissão do IAM `lakeformation:UpdateLFTag` para atualizar os valores.

Quando você exclui um valor de tag do LF, nenhuma verificação é realizada para verificar a presença desse valor de tag do LF em qualquer recurso do catálogo de dados. Se o valor da tag do LF excluído estiver associado a um recurso, ele não estará mais visível para o recurso, e todas as entidades principais que receberam permissões nesse par de valores-chave não terão mais as permissões.

Antes de excluir um valor de tag do LF, você pode, opcionalmente, usar o [comando `remove-lf-tags-from-resource`](TBAC-assigning-tags.md#remove-tag-command) para remover a tag do LF dos recursos do catálogo de dados que têm o valor que você deseja excluir e, em seguida, remarcar o recurso com os valores que você deseja manter.

Somente administradores do data lake, o criador da tag do LF e as entidades principais que têm permissões `Alter` na tag do LF podem atualizar uma tag do LF.

Você pode atualizar uma tag LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Como atualizar uma política de tag do LF (console)**

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

   Faça login como administrador do data lake, criador de tag do LF ou como uma entidade principal com a permissão `Alter` na tag do LF.

1. No painel de navegação, em **Permissões** e **Tags LF e permissões**, escolha **Tags LF**.

1. Na página **Tags do LF**, selecione uma tag do LF e, em seguida, escolha **Editar**.

1. Na caixa de diálogo **Editar tag do LF**, adicione ou remova valores de tag do LF.

   Para inserir vários **Valores**, insira uma lista delimitada por vírgulas e pressione **Enter** ou insira um valor por vez e escolha **Adicionar** após cada um.

1. Escolha **Salvar**.

------
#### [ AWS CLI ]

**Para atualizar uma tag do LF (AWS CLI)**
+ Insira um comando `update-lf-tag`. Forneça um ou ambos os argumentos a seguir:
  + `--tag-values-to-add`
  + `--tag-values-to-delete`

**Example**  
O exemplo a seguir substitui o valor `vp` pelo valor `vice-president` da chave de tag do LF `level`.  

```
aws lakeformation update-lf-tag --tag-key level --tag-values-to-add vice-president 
--tag-values-to-delete vp
```

------

# Excluir tags do LF
<a name="TBAC-deleting-tags"></a>

Você pode excluir tags do LF que não estão mais em uso. Nenhuma verificação é realizada quanto à presença da tag do LF em um recurso do catálogo de dados. Se a tag do LF excluída estiver associada a um recurso, ela não estará mais visível para ele, e todas as entidades principais que receberam permissões nessa tag do LF não as terão mais.

Antes de excluir uma tag do LF, você pode, opcionalmente, usar o comando [`remove-lf-tags-from-resource`](TBAC-assigning-tags.md#remove-tag-command) para remover a tag do LF de todos os recursos.

Somente administradores do data lake, o criador de tags LF ou uma entidade principal que tenha a permissão `Drop` na tag LF podem excluir uma tag LF. Além da permissão `Drop`, a entidade principal também precisa da permissão `lakeformation:DeleteLFTag` do IAM para excluir uma tag do LF.

Você pode excluir uma tag LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Para excluir uma tag do LF (console)**

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

   Faça login como administrador de data lake.

1. No painel de navegação, em **Permissões** e **Tags LF e permissões**, escolha **Tags LF**.

1. Na página **Tags do LF**, selecione uma tag do LF e, em seguida, escolha **Excluir**.

1. Na caixa de diálogo **Excluir ambiente de tag?**, para confirmar a exclusão, insira o valor da chave tag do LF no campo designado e escolha **Excluir**.

------
#### [ AWS CLI ]

**Para excluir uma tag do LF (AWS CLI)**
+ Insira um comando `delete-lf-tag`. Forneça a chave da tag do LF a ser excluída.  
**Example**  

  O exemplo a seguir exclui a tag do LF com a chave `region`.

  ```
  aws lakeformation delete-lf-tag --tag-key region
  ```

------

# Listar tags do LF
<a name="TBAC-listing-tags"></a>

Você pode listar as tags do LF nas quais você tem as permissões `Describe` ou `Associate`. Os valores listados com cada chave de tag do LF são os valores sobre os quais você tem permissões.

O criador de tags do LF tem permissões implícitas para ver as tags do LF que ele criou.

Os administradores do Data Lake podem ver todas as tags do LF definidas na conta AWS local e todas as tags do LF para as quais as permissões `Describe` e `Associate` e foram concedidas à conta local por contas externas. O administrador do data lake pode ver todos os valores de todas as tags do LF.

Você pode listar tags LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Para listar tags (console)**

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

   Faça login como criador de tags do LF, como administrador do data lake ou como entidade principal que recebeu permissões em tags do LF e que tem a permissão do IAM `lakeformation:ListLFTags`.

1. No painel de navegação, em **Permissões** e **Tags LF e permissões**, escolha **Tags LF**.

   A página **Tags do LF** é exibida.  
![\[A página tem uma tabela de três colunas com títulos de coluna Chave, Valores e ID da conta do proprietário. A tabela tem duas linhas. Acima da tabela, há quatro botões dispostos horizontalmente: Recarregar página, Excluir (esmaecido), Editar (esmaecido) e Adicionar tag. A página também tem um campo de pesquisa com o texto reservado “Localizar tag”. À direita do campo de pesquisa há um seletor de páginas, mostrando o valor “1" entre os botões esquerdo e direito, e um ícone de Configurações.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/policy-tags-page-2.png)

   Verifique a coluna **ID da conta do proprietário** para determinar as tags do LF que foram compartilhadas com sua conta a partir de uma conta externa.

------
#### [ AWS CLI ]

**Para listar tags do LF (AWS CLI)**
+ Execute o comando a seguir como administrador de data lake ou como entidade principal que tenha recebido permissões em tags do LF e que tenha a permissão do IAM `lakeformation:ListLFTags`.

  ```
  aws lakeformation list-lf-tags
  ```

  A saída é semelhante à seguinte.

  ```
  {
      "LFTags": [
          {
              "CatalogId": "111122223333",
              "TagKey": "level",
              "TagValues": [
                  "director",
                  "vp",
                  "c-level"
              ]
          },
          {
              "CatalogId": "111122223333",
              "TagKey": "module",
              "TagValues": [
                  "Orders",
                  "Sales",
                  "Customers"
              ]
          }
      ]
  }
  ```

  Para ver também as tags do LF que foram concedidas por contas externas, inclua a opção de comando `--resource-share-type ALL`.

  ```
  aws lakeformation list-lf-tags --resource-share-type ALL
  ```

  A saída é semelhante à seguinte. Observe a chave `NextToken`, que indica que há mais para listar.

  ```
  {
      "LFTags": [
          {
              "CatalogId": "111122223333",
              "TagKey": "level",
              "TagValues": [
                  "director",
                  "vp",
                  "c-level"
              ]
          },
          {
              "CatalogId": "111122223333",
              "TagKey": "module",
              "TagValues": [
                  "Orders",
                  "Sales",
                  "Customers"
              ]
          }
      ],
      "NextToken": "eyJleHBpcmF0aW...ZXh0Ijp0cnVlfQ=="
  }
  ```

  Repita o comando e adicione o argumento `--next-token` para ver todas as tags do LF locais restantes e tags do LF que foram concedidas por contas externas. As tags do LF de contas externas estão sempre em uma página separada.

  ```
  aws lakeformation list-lf-tags --resource-share-type ALL 
  --next-token eyJleHBpcmF0aW...ZXh0Ijp0cnVlfQ==
  ```

  ```
  {
      "LFTags": [
          {
              "CatalogId": "123456789012",
              "TagKey": "region",
              "TagValues": [
                  "central",
                  "south"
              ]
          }
      ]
  }
  ```

------
#### [ API ]

Você pode usar o SDKs available for Lake Formation para listar as tags que o solicitante tem permissão para visualizar.

```
import boto3

client = boto3.client('lakeformation')
...

response = client.list_lf_tags(
    CatalogId='string',
    ResourceShareType='ALL',
    MaxResults=50'
)
```

Este comando retorna um objeto `dict` com a seguinte estrutura:

```
{
    'LFTags': [
        {
            'CatalogId': 'string',
            'TagKey': 'string',
            'TagValues': [
                'string',
            ]
        },
    ],
    'NextToken': 'string'
}
```

------

Para mais informações sobre as permissões necessárias, consulte [Referência de personas e permissões do IAM do Lake Formation](permissions-reference.md).

# Atribuição de tags do LF aos recursos do catálogo de dados
<a name="TBAC-assigning-tags"></a>

Você pode atribuir tags do LF a recursos do catálogo de dados (bancos de dados, tabelas e colunas) para controlar o acesso a esses recursos. Somente entidades principais que recebem tags do LF correspondentes (e as que recebem acesso com o método de recurso nomeado) podem acessar os recursos.

Se uma tabela herdar uma tag do LF de um banco de dados ou uma coluna herdar uma tag do LF de uma tabela, você poderá substituir o valor herdado atribuindo um novo valor à chave de tag do LF.

Número máximo de tags que você pode atribuir a um recurso é de 50.

**Topics**
+ [Requisitos para gerenciar tags atribuídas aos recursos](#manage-tags-reqs)
+ [Atribuir tags do LF a uma coluna da tabela](#assign-tag-column)
+ [Atribuir tags do LF aos recursos do catálogo de dados](#assign-tag-catalog-resource)
+ [Atualização de tags do LF para um recurso](#update-tags)
+ [Remoção de tag do LF de um recurso](#remove-tag)

## Requisitos para gerenciar tags atribuídas aos recursos
<a name="manage-tags-reqs"></a>

Para atribuir uma tag do LF a um recurso do catálogo de dados, você deve:
+ Ter a permissão `ASSOCIATE` do Lake Formation na tag do LF.
+ Tenha a permissão `lakeformation:AddLFTagsToResource` do IAM.
+ Tenha cola: GetDatabase permissão em um banco de dados do Glue.
+ Seja o proprietário do recurso (criador), tenha a permissão do Lake Formation `Super` no recurso com a opção `GRANT` ou tenha as seguintes permissões com a opção `GRANT`:
  + Para bancos de dados na mesma AWS conta: `DESCRIBE``CREATE_TABLE`,`ALTER`, e `DROP` 
  + Para bancos de dados em uma conta externa: `DESCRIBE`, `CREATE_TABLE` e `ALTER`
  + Para tabelas (e colunas): `DESCRIBE`, `ALTER`, `DROP`, `INSERT`, `SELECT` e `DELETE`

Além disso, a tag LF e o recurso ao qual ela está sendo atribuída devem estar na mesma AWS conta.

Para remover uma tag do LF de um recurso do catálogo de dados, você deve atender a esses requisitos e também ter a permissão do IAM `lakeformation:RemoveLFTagsFromResource`.

## Atribuir tags do LF a uma coluna da tabela
<a name="assign-tag-column"></a>

**Para atribuir tags do LF a uma coluna da tabela (console)**

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

   Faça login como um usuário que atende aos requisitos listados acima.

1. No painel de navegação, selecione **Tabelas**.

1. Escolha um nome de tabela (não o botão de opção ao lado do nome da tabela).

1. Na página de detalhes da tabela, na seção **Esquema**, escolha **Editar esquema**.

1. Na página **Editar esquema**, selecione uma ou mais colunas e escolha **Editar tags LF**.
**nota**  
Se você pretende adicionar ou excluir colunas e salvar uma nova versão, faça isso primeiro. Em seguida, edite as tags do LF.

   A caixa de diálogo **Editar tags do LF** é exibida e exibe todas as tags do LF herdadas da tabela.  
![\[A imagem é uma captura de tela da janela de diálogo Editar tags do LF. A parte superior da janela mostra duas chaves herdadas. A primeira chave herdada tem a chave “nível” e o valor “diretor (herdado)”. A primeira chave herdada tem a chave “módulo” e o valor “pedidos (herdado)”. Abaixo desses campos está o botão “Atribuir nova tag do LF”. Abaixo e à direita estão os botões Cancelar e Salvar.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/edit-policy-tags-for-columns-2a.png)

1. (Opcional) Na lista **Valores** ao lado do campo **Chaves herdadas**, escolha um valor para substituir o valor herdado.

1. (Opcional) Escolha **Atribuir nova tag do LF**. Em seguida, em **Chaves atribuídas**, escolha uma chave e, em **Valores**, escolha um valor para a chave.  
![\[A imagem é uma captura de tela da janela de diálogo Editar tags do LF. A parte superior da janela mostra duas chaves herdadas. A primeira chave herdada tem a chave “nível” e o valor “diretor (herdado)”. A primeira chave herdada tem a chave “módulo” e o valor “pedidos (herdado)”. Abaixo dessa seção, alinhados horizontalmente, estão os seguintes campos e controles: campo “Chaves atribuídas”, campo “Valores” e um botão Remover. O campo Chaves atribuídas contém o texto “ambiente”. O campo Valores é uma lista suspensa, com os valores “Produção” (destacado) e “Clientes”. Um botão “Atribuir nova tag do LF” aparece abaixo do campo Chaves atribuídas. No canto inferior direito da janela estão os botões Cancelar e Salvar.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/edit-policy-tags-for-columns-2b.png)

1. (Opcional) Escolha **Adicionar nova tag do LF** novamente para adicionar outra tag do LF.

1. Escolha **Salvar**.

## Atribuir tags do LF aos recursos do catálogo de dados
<a name="assign-tag-catalog-resource"></a>

------
#### [ Console ]

**Para atribuir tags do LF a um banco de dados ou tabela do catálogo de dados**

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

   Faça login como um usuário que atende aos requisitos listados anteriormente.

1. No painel de navegação, em **catálogo de dados**, faça o seguinte:
   + Para atribuir tags do LF aos bancos de dados, escolha **Bancos de dados**.
   + Para atribuir tags do LF às tabelas, escolha **Tabelas**.

1. Escolha um banco de dados ou tabela e, no menu **Ações**, selecione **Editar tags LF**.

   A caixa de *resource-name* diálogo **Editar LF-Tags:** é exibida.

   Se uma tabela herdar tags do LF do banco de dados que a contém, a janela exibirá as tags do LF herdadas. Caso contrário, ele exibirá o texto “Não há tags do LF herdadas associadas ao recurso.”  
![\[A imagem é uma captura de tela da janela de diálogo “Editar tags do LF: inventário”. Na parte superior estão os campos “Chaves herdadas” (esmaecidas) e “Valores”. O campo Chaves herdadas tem o valor “nível” e o campo Valores tem o valor “diretor (herdado)”. Abaixo dessa seção, alinhados horizontalmente, estão os seguintes campos e controles: campo “Chaves atribuídas”, campo “Valores” e um botão Remover. O campo Chaves atribuídas contém o texto “módulo”. O campo de valores é uma lista suspensa, com os valores "Pedidos", "Vendas" e "Clientes" (destacado). Um botão “Atribuir nova tag do LF” está abaixo do campo Chaves atribuídas. No canto inferior direito da janela estão os botões Cancelar e Salvar.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/edit-policy-tags-for-tables-2.png)

1. (Opcional) Se uma tabela tiver tags do LF herdadas, na lista **Valores** ao lado do campo **Chaves herdadas**, você poderá escolher um valor para substituir o valor herdado.

1. Para atribuir novas tags do LF, execute estas etapas:

   1. Escolha **Atribuir nova tag do LF**.

   1. No campo **Chaves atribuídas**, escolha uma chave de tag do LF e, no campo **Valores**, escolha um valor.

   1. (Opcional) Escolha **Atribuir nova tag do LF** novamente para atribuir uma tag do LF adicional.

1. Escolha **Salvar**.

------
#### [ AWS CLI ]

**Para atribuir tags do LF a um recurso do catálogo de dados**
+ Execute o comando `add-lf-tags-to-resource`.

  O exemplo a seguir atribui a tag do LF `module=orders` à tabela `orders` no banco de dados `erp`. Ele usa a sintaxe de atalho para o argumento `--lf-tags`. A propriedade `CatalogID` para `--lf-tags` é opcional. Se não for fornecido, o ID do catálogo do recurso (nesse caso, a tabela) será assumido.

  ```
  aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"orders"}}' --lf-tags  CatalogId=111122223333,TagKey=module,TagValues=orders
  ```

  A seguir está o resultado se o comando for bem-sucedido.

  ```
  {
      "Failures": []
  }
  ```

  O próximo exemplo atribui duas tags do LF à tabela `sales` e usa a sintaxe JSON para o argumento `--lf-tags`.

  ```
  aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"sales"}}' --lf-tags '[{"TagKey": "module","TagValues": ["sales"]},{"TagKey": "environment","TagValues": ["development"]}]'
  ```

  O próximo exemplo atribui a tag do LF `level=director` à coluna `total` da tabela `sales`.

  ```
  aws lakeformation add-lf-tags-to-resource --resource '{ "TableWithColumns": {"DatabaseName":"erp", "Name":"sales", "ColumnNames":["total"]}}' --lf-tags TagKey=level,TagValues=director
  ```

------

## Atualização de tags do LF para um recurso
<a name="update-tags"></a>

**Para atualizar uma tag do LF para um recurso do catálogo de dados (AWS CLI).**
+ Use o comando `add-lf-tags-to-resource`, conforme descrito no procedimento anterior.

  Adicionar uma tag do LF com a mesma chave de uma tag do LF existente, mas com um valor diferente, atualiza o valor existente.

## Remoção de tag do LF de um recurso
<a name="remove-tag"></a><a name="remove-tag-command"></a>

**Para remover uma tag do LF de um recurso do catálogo de dados (AWS CLI)**
+ Execute o comando `remove-lf-tags-from-resource`. 

  Se uma tabela tiver um valor de tag do LF que substitua o valor herdado do banco de dados pai, remover essa tag do LF da tabela vai restaurar o valor herdado. Esse comportamento também se aplica a uma coluna que substitui os valores-chave herdados da tabela. 

  O exemplo a seguir remove a tag LF `level=director` da coluna `total` da tabela `sales`. A propriedade `CatalogID` para `--lf-tags` é opcional. Se não for fornecido, o ID do catálogo do recurso (nesse caso, a tabela) será assumido. 

  ```
  aws lakeformation remove-lf-tags-from-resource 
  --resource ' { "TableWithColumns":  
  { "DatabaseName": "erp",  "Name": "sales",  "ColumnNames":[ "total"]}}' 
  --lf-tags  CatalogId=111122223333,TagKey=level,TagValues=director
  ```

# Visualização de tags do LF atribuídas a um recurso
<a name="TBAC-view-resource-tags"></a>

Você pode visualizar as tags do LF atribuídas a um recurso do catálogo de dados. Você deve ter a permissão `DESCRIBE` ou `ASSOCIATE` em uma tag do LF para visualizá-la.

------
#### [ Console ]

**Para visualizar as tags do LF atribuídas a um recurso (console)**

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

   Faça login como administrador do data lake, proprietário do recurso ou usuário que tenha recebido permissões do Lake Formation no recurso.

1. No painel de navegação, no título **catálogo de dados**, faça o seguinte:
   + Para visualizar as tags do LF atribuídas a um banco de dados, escolha **Bancos de dados**.
   + Para ver as tags do LF atribuídas a uma tabela, escolha **Tabelas**.

1. Na página **Tabelas** ou **Bancos de Dados**, escolha o nome do banco de dados ou da tabela. Na seção de detalhes, role para baixo até a seção **Tags do LF**.

   A captura de tela a seguir mostra as tags do LF atribuídas a uma tabela `customers`, que está contida no banco de dados `retail`. A tag do LF `module` é herdada do banco de dados. A coluna `credit_limit` tem a tag do LF `level=vp` atribuída.  
![\[A imagem é uma captura de tela da seção tags do LF da página de detalhes da tabela customers. A seção tags do LF contém uma tabela com as seguintes colunas: Recurso, Chave, Valor e Herdado de. A tabela tem três linhas. Acima da tabela, há um campo de entrada de texto com o texto do espaço reservado “Localizar tags” e um botão Editar tags. O parágrafo que precede a imagem descreve os valores da tabela mostrados na captura de tela.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/tags-for-resource-2.png)

------
#### [ AWS CLI ]

**Para visualizar as tags do LF atribuídas a um recurso (AWS CLI)**
+ Digite um comando semelhante ao seguinte:

  ```
  aws lakeformation get-resource-lf-tags --show-assigned-lf-tags --resource '{ "Table": {"CatalogId":"111122223333", "DatabaseName":"erp", "Name":"sales"}}'
  ```

  O comando retorna a seguinte saída.

  ```
  {
      "TableTags": [
          {
              "CatalogId": "111122223333",
              "TagKey": "module",
              "TagValues": [
                  "sales"
              ]
          },
          {
              "CatalogId": "111122223333",
              "TagKey": "environment",
              "TagValues": [
                  "development"
              ]
          }
      ],
      "ColumnTags": [
          {
              "Name": "total",
              "Tags": [
                  {
                      "CatalogId": "111122223333",
                      "TagKey": "level",
                      "TagValues": [
                          "director"
                      ]
                  }
              ]
          }
      ]
  }
  ```

  Essa saída mostra somente tags do LF que são atribuídas explicitamente, não herdadas. Se você quiser ver todas as tags do LF em todas as colunas, incluindo as tags do LF herdadas, omita a opção `--show-assigned-lf-tags`.

------

# Visualizando os recursos aos quais uma tag do LF está atribuída
<a name="TBAC-view-tag-resources"></a>

Você pode visualizar todos os recursos do catálogo de dados aos quais uma determinada chave de tag do LF está atribuída. Para fazer isso, você precisa das seguintes permissões do Lake Formation:
+ `Describe` ou `Associate` na tag do LF.
+ `Describe` ou qualquer outra permissão do Lake Formation sobre o recurso.

Além disso, você precisa das seguintes permissões AWS Identity and Access Management (IAM):
+ `lakeformation:SearchDatabasesByLFTags`
+ `lakeformation:SearchTablesByLFTags`

------
#### [ Console ]

**Para visualizar os recursos aos quais uma tag do LF está atribuída (console)**

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

   Faça login como administrador do data lake ou como usuário que atenda aos requisitos listados anteriormente.

1. No painel de navegação, em **Permissões** e **Tags do LF e permissões**, escolha **Tags do LF**.

1. Escolha uma chave de tag do LF (não o botão de opção ao lado do nome da chave).

   A página de detalhes da tag do LF exibe uma lista dos recursos aos quais a tag do LF foi atribuída.  
![\[A imagem é uma captura de tela da página de detalhes da tag do LF do “módulo” chave. A página de detalhes da tag do LF tem duas seções. A seção superior exibe a chave e os valores da tag do LF. A seção inferior exibe os recursos associados a essa tag do LF em uma tabela com as seguintes colunas: Chave, Valores, Tipo de recurso e Recurso. A tabela tem 12 linhas, mas apenas sete são mostradas na captura de tela. As linhas da tabela mostram que a tag do LF está atribuída a um banco de dados, duas das tabelas no banco de dados e, por herança, às colunas dessas tabelas.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/resources-on-tags-2.png)

------
#### [ AWS CLI ]

**Para visualizar os recursos aos quais uma tag do LF está atribuída**
+ Execute um comando `search-tables-by-lf-tags` or `search-databases-by-lf-tags`.  
**Example**  

  O exemplo a seguir lista tabelas e colunas que têm a tag do LF `level=vp` atribuída. Para cada tabela e coluna listada, todas as tags do LF atribuídas à tabela ou coluna são geradas, não apenas a expressão de pesquisa.

  ```
  aws lakeformation search-tables-by-lf-tags --expression TagKey=level,TagValues=vp
  ```

------

Para mais informações sobre as permissões necessárias, consulte [Referência de personas e permissões do IAM do Lake Formation](permissions-reference.md).

## Ciclo de vida de uma tag do LF
<a name="lf-tag-life-cycle"></a>

1. O criador da tag do LF, Michael, cria uma tag do LF `module=Customers`.

1. Michael concede `Associate` na tag do LF ao engenheiro de dados Eduardo. Conceder `Associate` concede implicitamente `Describe`.

1. Michael concede `Super` na tabela `Custs` a Eduardo com a opção de concessão, para que Eduardo possa atribuir tags do LF à tabela. Para obter mais informações, consulte [Atribuição de tags do LF aos recursos do catálogo de dados](TBAC-assigning-tags.md).

1. Eduardo atribui a tag do LF `module=customers` à tabela `Custs`.

1. Michael faz a seguinte concessão à engenheira de dados Sandra (em pseudocódigo).

   ```
   GRANT (SELECT, INSERT ON TABLES) ON TAGS module=customers TO Sandra WITH GRANT OPTION
   ```

1. Sandra faz a seguinte concessão à analista de dados Maria.

   ```
   GRANT (SELECT ON TABLES) ON TAGS module=customers TO Maria
   ```

   Agora, Maria pode executar consultas na tabela `Custs`.

**Consulte também**  
[Controle de acesso a metadados](access-control-metadata.md)

## Comparação do controle de acesso baseado em tags do Lake Formation com o controle de acesso baseado em atributos do IAM
<a name="TBAC-comparison-ABAC"></a>

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define as permissões com base em atributos. Em AWS, esses atributos são chamados de *tags*. Você pode anexar tags aos recursos do IAM, incluindo entidades do IAM (usuários ou funções) e aos AWS recursos. É possível criar uma única política de ABAC ou um pequeno conjunto de políticas para suas entidades do IAM. Essas políticas de ABAC podem ser criadas para permitir operações quando a tag da entidade principal corresponder à tag de recurso. O ABAC é útil em ambientes que estão crescendo rapidamente e ajuda em situações em que o gerenciamento de políticas se torna um problema.

As equipes de segurança e governança da nuvem usam o IAM para definir políticas de acesso e permissões de segurança para todos os recursos, incluindo buckets do Amazon S3, instâncias do Amazon EC2 e quaisquer recursos que você possa referenciar com um ARN. As políticas do IAM definem permissões amplas (grosseiras) para seus recursos de data lake, por exemplo, para permitir ou negar acesso no nível de bucket, prefixo ou banco de dados do Amazon S3. Para obter mais informações sobre o IAM ABAC, consulte Para [que serve o ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)? AWS no *Guia do usuário do IAM*.

Por exemplo, é possível criar três funções com a chave de tag `project-access`. Defina o valor da tag da primeira função como `Dev`, a segunda como `Marketing` e a terceira como `Support`. Atribua tags com o valor apropriado aos recursos. Depois disso, é possível usar uma única política que permitirá o acesso quando a função e o recurso estiverem marcados com o mesmo valor para `project-access`.

As equipes de governança de dados usam o Lake Formation para definir permissões refinadas para recursos específicos do data lake. Tags do LF são atribuídas a recursos do catálogo de dados (bancos de dados, tabelas e colunas) e são concedidas a entidades principais. Uma entidade principal com tags do LF que correspondem às tags do LF de um recurso pode acessar esse recurso. As permissões do Lake Formation são secundárias às permissões do IAM. Por exemplo, se as permissões do IAM não permitirem que um usuário acesse um data lake, o Lake Formation não concederá acesso a nenhum recurso dentro desse data lake para esse usuário, mesmo que a entidade principal e o recurso tenham tags do LF correspondentes.

O controle de acesso baseado em tags do Lake Formation (LF-TBAC) funciona com o IAM ABAC para fornecer níveis adicionais de permissões para dados e recursos do Lake Formation. 
+ **As permissões de TBAC do Lake Formation são dimensionadas com inovação.** Não é mais necessário que um administrador atualize as políticas existentes para permitir o acesso a novos recursos. Por exemplo, suponha que você use uma estratégia ABAC do IAM com a tag `project-access` para fornecer acesso a bancos de dados específicos dentro do Lake Formation. Ao usar o LF-TBAC, a tag do LF `Project=SuperApp` é atribuída a tabelas ou colunas específicas, e a mesma tag do LF é concedida a um desenvolvedor para esse projeto. Pelo IAM, o desenvolvedor pode acessar o banco de dados, e as permissões do LF-TBAC concedem ao desenvolvedor acesso adicional a tabelas ou colunas específicas dentro das tabelas. Se uma nova tabela for adicionada ao projeto, o administrador do Lake Formation só precisará atribuir a tag à nova tabela para que o desenvolvedor tenha acesso a ela.
+ **O Lake Formation TBAC exige menos políticas de IAM.** Como você usa as políticas do IAM para conceder acesso de alto nível aos recursos do Lake Formation e o TBAC do Lake Formation para gerenciar um acesso mais preciso aos dados, você cria menos políticas do IAM.
+ **Ao usar o Lake Formation TBAC, as equipes podem mudar e crescer rapidamente.** Isso ocorre porque as permissões para novos recursos são concedidas automaticamente com base em atributos. Por exemplo, se um novo desenvolvedor ingressar no projeto, é fácil conceder acesso a esse desenvolvedor associando ao perfil do IAM ao usuário e, em seguida, atribuindo as tags do LF necessárias ao usuário. Você não precisa alterar a política do IAM para dar suporte a um novo projeto ou criar novas tags do LF. 
+ **Permissões mais refinadas são possíveis usando o Lake Formation TBAC.** As políticas do IAM concedem acesso aos recursos de nível superior, como bancos de dados ou tabelas do catálogo de dados. Ao usar o **Lake Formation TBAC**, você pode conceder acesso a tabelas ou colunas específicas que contêm valores de dados específicos.

**nota**  
As tags do IAM não são iguais às tags do LF. Essas tags não são intercambiáveis. As tags do LF são usadas para conceder permissões do Lake Formation e as tags do IAM são usadas para definir políticas do IAM.

# Gerenciar expressões de tag LF para controle de acesso a metadados
<a name="managing-tag-expressions"></a>

 As expressões LF-Tag são expressões lógicas compostas por uma ou mais tags LF (pares de valores-chave) usadas para conceder permissões em recursos. AWS Glue Data Catalog As expressões de tag LF permitem que você defina regras que controlem o acesso aos seus recursos de dados com base em suas tags de metadados. É possível salvar essas expressões e reutilizá-las em várias concessões de permissão, garantindo a consistência e facilitando o gerenciamento de alterações na ontologia de tags ao longo do tempo. 

Em determinada expressão de tag LF, as chaves de tag são combinadas usando a operação AND, enquanto os valores são combinados usando a operação OR. Por exemplo, a expressão de tag `content_type:Sales AND location:US` representa recursos relacionados aos dados de vendas nos EUA.

É possível criar até mil expressões de tag LF em uma Conta da AWS. Essas expressões proporcionam uma forma flexível e escalável de gerenciar permissões com base em tags de metadados, garantindo que somente usuários ou aplicações autorizados possam acessar recursos de dados específicos com base nas regras de tag definidas.

As expressões de tag LF oferecem os seguintes benefícios: 
+ **Reutilização**: quando você define e salve expressões de tag LF, não precisa mais replicar manualmente as mesmas expressões ao atribuir permissões a outros recursos ou entidades principais.
+ **Consistência**: a reutilização de expressões de tag LF em várias concessões de permissão garante a consistência na forma como as permissões são concedidas e gerenciadas.
+ **Gerenciamento de ontologia de tags**: as expressões de tag LF ajudam a gerenciar alterações na ontologia de tags ao longo do tempo, pois você pode atualizar as expressões salvas em vez de modificar as permissões individuais. 

Para acessar mais informações sobre o controle de acesso baseado em tags, consulte [Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md). 

**Criadores de expressões de tag LF**  
O criador de expressão de tag LF é uma entidade principal que tem permissões para criar e gerenciar expressões de tag LF. Os administradores do data lake podem adicionar criadores de expressões de tag LF usando o console do Lake Formation, a CLI, a API ou o SDK. Os criadores da expressões de tag LF têm permissões implícitas do Lake Formation para criar, atualizar e excluir expressões de tag LF e conceder permissões de expressão de tag LF a outras entidades principais.

Os criadores de expressões de tag LF que não são administradores de data lake recebem permissões `Alter`, `Drop`, `Describe` e `Grant with LF-Tag expression` implícitas somente para as expressões criadas. 

Os administradores do data lake também podem conceder aos criadores de expressões de tag LF permissões `Create LF-Tag expression` para concessão. Depois, o criador de expressões de tag LF pode conceder a permissão para criar expressões de tag LF a outras entidades principais.

**Topics**
+ [Permissões de IAM necessárias para criar expressões de tag LF](#tag-expression-creator-permissions)
+ [Criadores de expressões de tag LF](#add-lf-tag-expression-creator)
+ [Criar expressões de tag LF](TBAC-creating-tag-expressions.md)
+ [Atualizar expressões de tag LF](TBAC-updating-expressions.md)
+ [Excluir expressões de tag LF](TBAC-deleting-expressions.md)
+ [Listar expressões de tag LF](TBAC-listing-expressions.md)

**Consulte também**  
[Gerenciar permissões de valor de tag do LF](TBAC-granting-tags.md)
[Conceder permissões de data lake usando o método LF-TBAC](granting-catalog-perms-TBAC.md)
[Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md)

## Permissões de IAM necessárias para criar expressões de tag LF
<a name="tag-expression-creator-permissions"></a>

 Você deve configurar permissões para permitir que uma entidade principal do Lake Formation crie expressões de tag LF. Adicione a seguinte declaração à política de permissões para a entidade principal que precisa ser um criador de expressões de tag LF.

**nota**  
Embora os administradores do data lake tenham permissões implícitas do Lake Formation para criar, atualizar e excluir tags LF e expressões de tag LF, para atribuir tags LF aos recursos e conceder tags LF e expressões de tag LF às entidades principais, os administradores do data lake também precisam das permissões do IAM a seguir.

Para obter mais informações, consulte [Referência de personas e permissões do IAM do Lake Formation](permissions-reference.md).

```
{
"Sid": "Transformational",
"Effect": "Allow",
    "Action": [
        "lakeformation:AddLFTagsToResource",
        "lakeformation:RemoveLFTagsFromResource",
        "lakeformation:GetResourceLFTags",
        "lakeformation:ListLFTags",
        "lakeformation:CreateLFTag",
        "lakeformation:GetLFTag",
        "lakeformation:UpdateLFTag",
        "lakeformation:DeleteLFTag",
        "lakeformation:SearchTablesByLFTags",
        "lakeformation:SearchDatabasesByLFTags",
        "lakeformation:CreateLFTagExpression",
        "lakeformation:DeleteLFTagExpression",
        "lakeformation:UpdateLFTagExpression",
        "lakeformation:GetLFTagExpression",
        "lakeformation:ListLFTagExpressions",
        "lakeformation:GrantPermissions",
        "lakeformation:RevokePermissions",
        "lakeformation:BatchGrantPermissions",
        "lakeformation:BatchRevokePermissions"
     ]
 }
```

## Criadores de expressões de tag LF
<a name="add-lf-tag-expression-creator"></a>

Os criadores de expressões de tag LF podem criar e salvar expressões de tag LF reutilizáveis, atualizar a chave e os valores da tag, excluir expressões e conceder permissões sobre os recursos do Data Catalog às entidades principais usando o método LF-TBAC. O criador de expressões de tag LF também pode conceder essas permissões a entidades principais.

Você pode criar funções de criador de expressões LF-Tag usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ console ]

**Como adicionar um criador de expressões de tag LF**

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

   Faça login como administrador de data lake.

1. No painel de navegação, em **Permissões**, selecione **permissões e tags do LF**.

1. Escolha a guia **Expressões de tags LF**.

1. Na seção **Criadores de expressões de tag LF**, escolha **Adicionar criadores de expressões de tag LF**.  
![\[Form to add LF-Tag expression creators with Usuário do IAM selection and permissions.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/add-lf-tag-expression-creator.png)

1. Na página **Adicionar criadores de expressões de tag LF**, escolha um perfil ou usuário do IAM que tenha as permissões necessárias para criar expressões de tag LF.

1. Marque a caixa de seleção de permissão `Create LF-Tag expression`.

1. (Opcional) Para permitir que as entidades principais selecionadas concedam a permissão `Create LF-Tag expression` às entidades principais, escolha a permissão `Create LF-Tag expression` concedível.

1. Escolha **Adicionar**.

------
#### [ AWS CLI ]

```
aws lakeformation grant-permissions --cli-input-json file://grantCreate
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:user/tag-manager"
    },
    "Resource": {
        "Catalog": {}
    },
    "Permissions": [
        "CreateLFTagExpression"
    ],
    "PermissionsWithGrantOption": [
        "CreateLFTagExpression"
    ]
}
```

------

O perfil de criador da expressões de tag LF tem a capacidade de criar, atualizar ou excluir expressões de tag LF. 


| Permissão | Description | 
| --- | --- | 
| Create | Uma entidade principal com essa permissão pode adicionar expressões de tag LF no data lake. | 
| Drop | Uma entidade principal com essa permissão em uma expressão de tag LF pode excluir uma expressão de tag LF do data lake.  | 
| Alter | Uma entidade principal com essa permissão em uma expressão de tag LF pode atualizar o corpo de uma expressão de tag LF. | 
| Describe | Uma entidade principal com essa permissão em uma expressão de tag LF pode visualizar o conteúdo de uma expressão de tag LF.  | 
| Grant with LF-Tag expression | Com essa permissão, o destinatário usa a expressão de tag como recurso ao conceder permissões de acesso a dados ou metadados. Conceder Grant with LF-Tag expression concede implicitamente Describe. | 
| Super | Em relação a expressões de tag LF, a permissão Super concede a capacidade de Describe, Alter, Drop e concede permissões na expressão de tag a outras entidades principais. | 

Essas permissões são concedidas. Uma entidade principal que tenha recebido essas permissões com a opção de concessão pode concedê-las a outras entidades principais.

# Criar expressões de tag LF
<a name="TBAC-creating-tag-expressions"></a>

É necessário definir todas as tags LF no Lake Formation e atribuí-las aos recursos do Data Catalog para que elas possam ser usadas para criar expressões. Uma expressão de tag LF consiste em mais uma chave ou mais chaves e um ou mais valores possíveis para cada uma.

 Depois que o administrador do data lake configurar as permissões necessárias do IAM e as permissões do Lake Formation para o perfil criador de expressões de tag LF, a entidade principal pode criar expressões de tag LF. O criador da expressões de tag LF recupera permissões implícitas a fim de atualizar o corpo da expressão e excluir a expressão de tag LF.

Você pode criar expressões de tag LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Como criar uma expressão de tag LF**

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

   Faça login como uma entidade principal com permissões de criador de expressões de tag LF ou como administrador do data lake.

1. No painel de navegação, em **Permissões**, escolha LF-Tags** e permissões**.

1. Escolha **Expressões de tag LF**. A página **Adicionar expressões de tag LF** é exibida.  
![\[A página tem campos para adicionar um nome, uma descrição e uma lista suspensa para selecionar o corpo da expressão. Os usuários também podem ter a opção de conceder permissões.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/add-tag-expression.png)

1. Insira as seguintes informações:
   + Nome: insira um nome exclusivo para a expressão. Não é possível atualizar o nome da expressão. 
   + Descrição: forneça uma descrição opcional com os detalhes da expressão.
   + Expressão: crie a expressão especificando as chaves de tag e seus valores associados. É possível adicionar até cinquenta chaves por expressão. É necessário ter permissão `Grant with LF-Tags` do Lake Formation em todas as tags no corpo da expressão.

      Cada chave deve ter pelo menos um valor. Para inserir vários valores, insira uma lista delimitada por vírgulas e pressione **Enter** ou insira um valor por vez e escolha **Adicionar** após cada um. O número máximo de valores permitidos por chave é mil.

      Lake Formation usa a AND/OR lógica para combinar várias chaves e valores em uma expressão. Em um único par (chave: lista de valores), os valores são combinados usando o operador lógico OR. Por exemplo, se o par for (Department : [Sales, Marketing]), significa que a tag vai coincidir se o recurso tiver a tag Department com o valor Sales OU Marketing. 

      Quando você especifica várias chaves, elas são unidas por um operador lógico AND. Portanto, se a expressão completa for (Department : [Sales, Marketing]) E (Location : [US, Canada]), ela coincidirá com os recursos que têm a tag Department com o valor Sales OU Marketing e também têm a tag Location com o valor US OU Canada. Veja a seguir outro exemplo com várias chaves e valores:

     Expressão LF-Tag: (ContentType : [Vídeo, Áudio]) AND (Região: [Europa, Ásia]) AND (Departamento: [Engenharia, ProductManagement]).

     Essa expressão corresponderia a recursos que têm: - A ContentType tag com valor Vídeo OU Áudio E - A tag Região com valor Europa OU Ásia E - A tag Departamento com valor Engenharia OR ProductManagement. 

    Você também pode salvar uma expressão de tag ao conceder permissões de data lake usando tags LF. Escolha os pares de chave e valor e selecione a opção **Salvar como nova expressão**. Insira um nome que descreva a expressão.   
![\[A página tem campos para selecionar o corpo da expressão e um campo para inserir um nome.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/save-expression-grant.png)

1.  (Opcional) Depois, escolha os usuários/perfis e as permissões na expressão que você deseja conceder a eles na conta. Você também pode escolher permissões para concessão que permitam que os usuários concedam essas permissões a outros usuários na conta. Não é possível conceder permissões entre contas nas expressões de tag.  
![\[A página mostra os campos para selecionar a permissão a ser concedida a outras entidades principais.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-expression-permissions.png)

1. Escolha **Adicionar**.

------
#### [ AWS CLI ]

**Como criar uma expressão de tag LF**
+ Insira um comando `create-lf-tag-expression`.

  O exemplo a seguir cria uma expressão de tag LF com a tag `Department` com valores `Sales` e `Marketing` E a tag `Location` com o valor `US`.

  ```
  aws lakeformation create-lf-tag-expression \
  -- name "my-tag-expression" \
  -- catalog-id "123456789012" \
  -- expression '{"Expression":[{"TagKey":"Department","TagValues":["Sales","Marketing"]},{"TagKey":"Location","TagValues":["US"]}]}'
  ```

   Esse comando da CLI cria uma nova expressão de tag LF no. AWS Glue Data Catalog A expressão pode ser usada para conceder permissões aos recursos do Data Catalog, como bancos de dados, tabelas, visualizações ou colunas, com base nas tags associadas. Neste exemplo, a expressão coincidirá com recursos que têm a chave `Department` com os valores `Sales` ou `Marketing` e a chave `Location` com o valor `US`. 

------

 Como criador de expressões de tag, a entidade principal recupera a permissão `Alter` sobre essa expressão de tag LF e pode atualizá-la ou removê-la. A entidade principal criadora de expressões de tag LF também pode conceder a permissão `Alter` a outra entidade principal para atualizar e remover essa expressão. 

# Atualizar expressões de tag LF
<a name="TBAC-updating-expressions"></a>

Somente administradores do data lake, o criador de expressões de tag LF ou entidades principais que tenham a permissão `Alter` ou `Super` na expressão de tag LF podem atualizar uma expressão de tag LF. Além da permissão `Alter`, você também precisa da `lakeformation:UpdateLFTagExpression` do IAM e da `Grant with LF-Tag` em todos os valores de chave subjacentes no novo corpo da expressão para atualizar as expressões.

Atualize as expressões de tag LF atualizando a descrição, o corpo da expressão e as permissões concedidas nela. Não é possível alterar o nome da expressão de tag LF. Para alterar o nome, exclua a expressão de tag LF e adicione uma com a chave necessária. 

Você pode atualizar uma expressão de tag LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Como atualizar uma expressão de tag LF**

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

   Faça login como administrador do data lake, o criador de tag LF ou como uma entidade principal com a permissão `Alter` na tag LF.

1. No painel de navegação, em Permissões, escolha **Tags LF e permissões**.

1. Escolha a guia **Expressões de tag LF**.

1. Na seção **Expressões de tag LF**, selecione uma expressão de tag LF e escolha **Editar**.

1. Na caixa de diálogo **Editar expressão de tag LF**, atualize a descrição e o corpo da expressão adicionando ou removendo chaves e valores.

   Para adicionar vários valores, no campo **Valores**, escolha os valores no menu suspenso.

1. Escolha **Salvar**.

------
#### [ AWS CLI ]

 O update-lf-tag-expression comando no Lake Formation permite que você atualize uma expressão de tag LF existente. 

```
aws lakeformation update-lf-tag-expression \
-- name expression_name\
-- description new_description \
-- catalog-id catalog_id \
-- expression '{"Expression": [{"TagKey": "tag_key", "TagValues": ["tag_value1", "tag_value2", ...]}]}'
```

Veja o que significam os parâmetros no comando fornecido: 
+ name: o nome da expressão de tag nomeada existente que você deseja atualizar. 
+ description: uma nova descrição para a expressão.

  catalog-id: o ID do Data Catalog em que a expressão de tag nomeada reside. 
+ expression: a nova string de expressão de tag com a qual você deseja atualizar a expressão.

------

# Excluir expressões de tag LF
<a name="TBAC-deleting-expressions"></a>

É possível excluir as expressões de tag LF que não estão mais em uso. Se você concedeu permissões a entidades principais nos recursos do Data Catalog usando a expressão de tag LF, elas não terão mais as permissões.

Somente administradores do data lake, o criador de expressões de tag LF ou uma entidade principal que tenha a permissão `Drop` na expressão de tag LF podem excluir uma expressão de tag LF. Além da permissão `Drop`, a entidade principal também precisa da permissão `lakeformation:DeleteLFTagExpression` do IAM para excluir uma expressão de tag LF.

Você pode excluir uma expressão de tag LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Como excluir uma expressão de tag LF (console)**

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

   Faça login como administrador do data lake, criador da expressão de tag LF ou entidade principal que tenha permissões para excluir a expressão.

1. No painel de navegação, em **Permissões**, selecione **permissões e tags do LF**.

1. Escolha a guia **Expressões de tag LF**.

1. Na seção **Expressões de tag LF**, selecione uma expressão de tag LF e escolha **Excluir**.

1. Na caixa de diálogo **Excluir expressão de tag LF?**, para confirmar a exclusão, insira o nome da expressão de tag LF no campo designado e escolha **Excluir**.

------
#### [ AWS CLI ]

**Como excluir uma tag LF (AWS CLI)**
+ Insira um comando `delete-lf-tag-expression`. Forneça o nome da expressão e o ID do catálogo a serem excluídos.  
**Example**  

  No exemplo a seguir, a expressão de tag LF é excluída com o nome `my-tag-expression` do Data Catalog com o ID `123456789012`. O `catalog-id` parâmetro é opcional se você estiver usando a mesma conta da sua AWS CLI configuração. Depois de excluir uma expressão de tag LF, o Lake Formation limpa os registros de permissão associados a ela. Isso inclui registros de permissão individuais e registros de permissão agregados que contêm a expressão excluída.

  ```
  aws lakeformation delete-lf-tag-expression \
  --name "my-tag-expression" \
  --catalog-id "123456789012"
  ```

------

# Listar expressões de tag LF
<a name="TBAC-listing-expressions"></a>

 Você pode listar as expressões de tag LF nas quais você tem as permissões Describe. Administradores de data lake, criadores de expressões de tag LF e administradores somente leitura podem ver implicitamente todas as expressões de tag nas respectivas contas. 

Você pode listar expressões de tag LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

------
#### [ Console ]

**Como listar expressões de tag LF (console)**

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

   Faça login como criador de expressões de tag LF, como administrador do data lake ou como entidade principal que recebeu permissões em expressões de tag LF e que tenha a permissão `lakeformation:ListLFTagExpressions` do IAM.

1. No painel de navegação, em **Permissões**, **Tags LF e permissões**.

1. Escolha a guia **Expressões de tag LF** para ver as expressões. Esta seção mostra as informações sobre as expressões de tag LF existentes, incluindo o nome, a própria expressão com links para as tags incluídas e opções para criar, editar ou excluir expressões. 

------
#### [ AWS CLI ]

**Para listar tags do LF (AWS CLI)**
+ Para listar expressões de tag LF usando o AWS CLI, você pode usar o list-lf-tag-expressions comando. A sintaxe da solicitação é: 

  ```
  aws lakeformation list-lf-tag-expressions \
  -- catalog-id "123456789012" \
  -- max-items "100" \
  -- next-token "next-token"
  ```

   Em que:
  + `catalog-id`é o ID da AWS conta do Catálogo de Dados para o qual você deseja listar expressões de tag.
  + `max-items` especifica o número máximo de expressões de tag a serem exibidas. Se esse parâmetro não é usado, o valor padrão é 100.
  + `next-token` é um token de continuação caso os resultados tenham sido truncados em uma solicitação anterior.

  A resposta incluirá uma lista de expressões de tag LF e um próximo token, se aplicável. 

------

# Gerenciar permissões de valor de tag do LF
<a name="TBAC-granting-tags"></a>

Você pode conceder as permissões `Drop` e `Alter` nas tags do LF às entidades principais para gerenciar as expressões de valor da tag do LF. Você também pode conceder as permissões `Describe`, `Associate`, e `Grant with LF-Tag expressions` de tags do LF a entidades principais para visualizar as tags do LF e atribuí-las a recursos do catálogo de dados (bancos de dados, tabelas e colunas). Quando as tags do LF são atribuídas aos recursos do Catálogo de dados, você pode usar o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) para proteger esses recursos. Para obter mais informações, consulte [Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md).

Você pode conceder essas permissões com a opção de concessão para que outras entidades principais possam concedê-las. As permissões `Grant with LF-Tag expressions`, `Describe` e `Associate` são explicadas em [Adicionar criadores de tags do LF](TBAC-adding-tag-creator.md#add-lf-tag-creator).

Você pode conceder as `Associate` permissões `Describe` e em uma etiqueta LF para uma conta externa AWS . Um administrador de data lake nessa conta pode então conceder essas permissões a outras entidades principais na conta. As entidades principais às quais o administrador do data lake na conta externa concede a permissão `Associate` podem então atribuir tags do LF aos recursos do catálogo de dados que você compartilhou com a conta deles.

Ao conceder para uma conta externa, você deve incluir a opção de concessão.

Você pode conceder permissões em tags do LF usando o console do Lake Formation, a API ou o AWS Command Line Interface (AWS CLI).

**Topics**
+ [Listando as permissões do tag do LF usando o console](TBAC-listing-tag-perms-console.md)
+ [Conceder permissões de tag do LF usando o console](TBAC-granting-tags-console.md)
+ [Gerenciando as permissões do LF-Tag usando o AWS CLI](TBAC-granting-revoking-tags-cli.md)

Para obter mais informações, consulte [Gerenciar tags do LF para controle de acesso a metadados](managing-tags.md) e [Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md).

# Listando as permissões do tag do LF usando o console
<a name="TBAC-listing-tag-perms-console"></a>

Você pode usar o console do Lake Formation para visualizar as permissões concedidas nas tags do LF. Você deve ser um criador de tags do LF, administrador de um data lake ou ter a permissão `Describe` ou `Associate` em uma tag do LF para vê-la.

**Para listar as permissões de tag do LF (console)**

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

   Faça login como criador da tag do LF, administrador do data lake ou como usuário a quem as permissões `Drop`, `Alter`, `Associate` ou `Describe` nas tags do LF foram concedidas.

1. No painel de navegação, em **Permissões**, escolha **Tags do LF e permissões** e, então, a seção **Permissões de tag do LF**.

   A seção de **Permissões de tags do LF** mostra uma tabela que contém chaves de entidades principais, tags, valores e permissões.  
![\[A página inclui uma tabela de permissões com as seguintes colunas: Entidade principal, Tipo principal, Chaves, Valores, Permissões e Concedível. Existem cinco linhas. À esquerda de cada linha há um botão de rádio. Acima da tabela, há um campo de pesquisa e os seguintes botões: Atualizar, Exibir, Revogar e Conceder. Como nenhuma linha foi selecionada inicialmente, os botões Exibir e Revogar estão desativados. Os valores na primeira linha são: Principal=arn:aws:iam::111122223333:user/datalake_admin, Principal type=IAM user, Keys=environment, Values=All values, Permissions=DESCRIBE, Grantable=DESCRIBE.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/list-tag-permissions-page.png)

# Conceder permissões de tag do LF usando o console
<a name="TBAC-granting-tags-console"></a>

As etapas a seguir explicam como conceder permissões a tags do LF usando a página **Conceder permissões a tags do LF** no console do Lake Formation. A página está dividida nas seguintes seções:
+ **Tipos de permissão**: o tipo de permissão a ser concedida.
+ **Entidades principais**: os usuários ou perfis do IAM, ou os usuários ou perfis do SAML aos quais conceder permissões.
+  **Permissões do par de chave-valor de tag LF**: os pares chave-valor de tag LF aos quais conceder permissões.
+  **Permissões de tag LF**: as tags LF nas quais conceder permissões.
+  **Permissões de expressões de tag LF**: as tags LF às quais conceder permissões.
+  **Permissões** – As permissões a serem concedidas.

## Abra a página **Conceder permissões a tags do LF**
<a name="tag-start-grant"></a>

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

   Faça login como criador de tags do LF, administrador do data lake ou como usuário. As permissões de tags do LF ou do par de valores-chave de tags do LF nas tags do LF foram concedidas com a opção `Grant`.

1. No painel de navegação, escolha **Tags do LF e permissões**, escolha a seção **Permissões de tags do LF**.

1. Escolha **Conceder permissões**.

## Especifique o tipo de permissão
<a name="grant-tag-permission-type"></a>

Na seção **Tipo de permissões**, escolha um tipo de permissão.

Permissões de tags do LF  
Escolha as **Permissões de tag do LF** para permitir que as entidades principais atualizem os valores de tags do LF ou excluam tags do LF.

Permissões de pares de chave-valor de tag do LF  
Escolha as **Permissões do par chave-valor da tag do LF** para permitir que as entidades principais atribuam tags do LF aos recursos do catálogo de dados, visualizem tags do LF e valores e concedam às entidades principais permissões baseadas nos recursos do catálogo de dados.  
As opções disponíveis nas seções a seguir dependem do **Tipo de permissões**.

Permissões de expressões de tag LF  
Escolha as **permissões de expressões de tag LF** para permitir que as entidades principais atualizem ou excluam expressões.

## Especifique as entidades principais
<a name="grant-tags-principals"></a>

**nota**  
Você não pode conceder permissões de tags do LF (`Alter` e `Drop`) a contas externas ou entidades principais em outra conta.

Na seção **Entidades principais**, escolha um tipo de entidade principal e especifique as entidades principais às quais conceder permissões.

![\[A seção Entidades principais contém três blocos que são nomeados no texto a seguir. Cada bloco contém um botão de opção e um texto. O bloco de usuários e perfis do IAM é selecionado, e uma lista suspensa de usuários e perfis do IAM está abaixo dos blocos.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-tags-principals-section.png)


**Usuários e perfis do IAM**  
Escolha um ou mais usuários ou perfis na lista de **usuários e perfis do IAM**.

**Usuários e grupos SAML**  
Para **usuários e grupos do SAML e do Quick**, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou ARNs para usuários ou grupos do Quick. Pressione **Enter** após cada ARN.  
Para obter informações sobre como construir o ARNs, consulte[Lake Formation concede e revoga comandos AWS CLI](lf-permissions-reference.md#perm-command-format).  
A integração do Lake Formation com o Quick é compatível somente com o Quick Enterprise Edition.

**Contas externas**  
Em **AWS conta**, insira uma ou mais AWS contas válidas IDs. Pressione **Enter** após cada ID.  
O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos.  
Um ID de unidade organizacional começa com “ou-” seguido de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais.  
Para a entidade principal do IAM, insira o ARN para o usuário ou o perfil do IAM.

## Especifique as tags do LF
<a name="grant-tags-tags"></a>

Para conceder permissões a tags do LF, na seção **Permissões de tags do LF**, especifique as tags do LF para as quais conceder permissões.

![\[A seção tags do LF mostra duas linhas de campos, em que cada linha, da esquerda para a direita, tem um campo Chave, um campo Valor e um botão Remover. O campo Valor é uma lista suspensa. Abaixo das duas linhas de campos, há um botão Adicionar tag do LF. A primeira linha mostra “módulo” no campo Chave e, abaixo do campo Valores, há dois pequenos blocos que contêm Pedidos e Vendas, respectivamente, indicando que o usuário escolheu Pedidos e Vendas como valores para o módulo chave. Cada bloco tem um X no qual você pode clicar (como uma caixa fechada) para excluir o bloco. A segunda linha se os campos estiverem vazios.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-tags-tags-section-2.png)

+ Escolha uma ou mais tags do LF usando o menu suspenso.

## Especificar os pares de chave-valor
<a name="w2aac15b9c27c19c21c15"></a>

1. Para conceder permissões em pares de chave-valor da tag do LF, (você precisa primeiro escolher as **Permissões do par chave-valor da tag do LF** como o **Tipo de permissão**), escolha **Adicionar par chave-valor da tag do LF** para revelar a primeira linha de campos para especificar a chave e os valores da tag do LF.  
![\[Interface for adding LF-Tag key-value pairs and setting associated permissions.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/tag-key-value-pair.png)

1. Posicione o cursor no campo **Chave**, opcionalmente comece a digitar para restringir a lista de seleção e selecione uma tecla tag do LF.

1. Na lista **Valores**, selecione um ou mais valores e pressione **Guia** ou clique ou toque fora do campo para salvar os valores selecionados.
**nota**  
Se uma das linhas na lista **Valores** estiver em foco, pressionar **Enter** marcará ou desmarcará a caixa de seleção.

   Os valores selecionados aparecem como blocos abaixo da lista de **Valores**. Escolha o ✖ para remover um valor. Escolha **Remover** para remover toda a tags do LF.

1. Para adicionar outra tag do LF, escolha **Adicionar tag do LF** novamente e repita as duas etapas anteriores.

## Especificar as expressões de tag LF
<a name="w2aac15b9c27c19c21c17"></a>

1. Para conceder permissões em expressões de tag LF, (é necessário primeiro escolher as **permissões de expressão de tag LF** como o **tipo de permissão**).  
![\[Permission type selection interface with LF-Tag expression permissions highlighted.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/tag-expression.png)

1. Escolha uma expressão de tag LF.

1. As expressões selecionadas aparecem como blocos abaixo da lista **Expressões de tag LF**. Clique no ✖ para remover uma expressão.

1. Para adicionar outra expressão de tag LF, escolha outra expressão.

## Especifique as permissões
<a name="grant-tags-permissions"></a>

Esta seção mostra as **Permissões de tag do LF** ou as **Permissões do valor da tag do LF** com base no **Tipo de permissão** que você escolheu na etapa anterior.

Dependendo do **Tipo de permissão** que você escolheu conceder, selecione as **Permissões de tag do LF** ou as **Permissões do par chave-valor da tag do LF** e as permissões concedidas.

1. Em **Permissões de tag do LF**, selecione as permissões a serem concedidas.

   Conceder **Drop** e **Alter** concede implicitamente **Describe**. 

   Você precisa conceder as permissões **Alterar** e **Eliminar** em todos os valores da tag.

1. Em **Permissões de valor-chave de LT\$1Tag**, selecione as permissões a serem concedidas.

   Conceder **Associate** implicitamente concede **Describe**. Escolha **Conceder com expressão tag do LF** para permitir que o destinatário da concessão conceda ou revogue permissões de acesso aos recursos do catálogo de dados usando o método LF-TBAC.

1. Em **Permissões de expressão de tag LF**, selecione as permissões a serem concedidas.

   Conceder **Drop** e **Alter** concede implicitamente **Describe**. 

   Ao conceder a permissão **Super**, todas as permissões disponíveis são concedidas.

1. (Opcional) Em **Permissões concedidas, selecione as permissões** que o beneficiário do subsídio pode conceder a outros diretores em sua conta. AWS 

1. Selecione **Conceder**.

# Gerenciando as permissões do LF-Tag usando o AWS CLI
<a name="TBAC-granting-revoking-tags-cli"></a>

Você pode conceder, revogar e listar permissões em tags do LF usando o AWS Command Line Interface (AWS CLI).

**Para listar as permissões de tag do LF (AWS CLI)**
+ Insira um comando `list-permissions`. Você deve ser o criador da tag do LF, administrador do data lake ou ter as permissões `Drop`, `Alter`, `Describe`, `Associate`, `Grant with LF-Tag permissions` em uma tag do LF para vê-la.

  O comando a seguir solicita todas as tags do LF nas quais você tem permissões.

  ```
  aws lakeformation list-permissions --resource-type LF_TAG
  ```

  Veja a seguir um exemplo de saída para um administrador de data lake, que vê todas as tags do LF concedidas a todas as entidades principais. Usuários não administrativos veem somente as tags do LF concedidas a eles. As permissões de tags do LF concedidas por uma conta externa aparecem em uma página de resultados separada. Para vê-los, repita o comando e forneça ao argumento `--next-token` o token retornado da execução anterior do comando.

  ```
  {
      "PrincipalResourcePermissions": [
          {
              "Principal": {
                  "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_admin"
              },
              "Resource": {
                  "LFTag": {
                      "CatalogId": "111122223333",
                      "TagKey": "environment",
                      "TagValues": [
                          "*"
                      ]
                  }
              },
              "Permissions": [
                  "ASSOCIATE"
              ],
              "PermissionsWithGrantOption": [
                  "ASSOCIATE"
              ]
          },
          {
              "Principal": {
                  "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
              },
              "Resource": {
                  "LFTag": {
                      "CatalogId": "111122223333",
                      "TagKey": "module",
                      "TagValues": [
                          "Orders",
                          "Sales"
                      ]
                  }
              },
              "Permissions": [
                  "DESCRIBE"
              ],
              "PermissionsWithGrantOption": []
          },
  ...
      ],
      "NextToken": "eyJzaG91bGRRdWVy...Wlzc2lvbnMiOnRydWV9"
  }
  ```

  Você pode listar todas as concessões para uma chave de tag do LF específica. O comando a seguir retorna todas as permissões concedidas na tag do LF `module`.

  ```
  aws lakeformation list-permissions --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
  ```

  Você também pode listar os valores da tag do LF concedidos a uma entidade principal específica para uma tag do LF específica. Ao fornecer o argumento `--principal`, você deve fornecer o argumento `--resource`. Portanto, o comando só pode solicitar efetivamente os valores concedidos a uma entidade principal específica para uma chave tag do LF específica. O comando a seguir mostra como fazer isso com a chave de entidade principal `datalake_user1` e a chave de tag do LF `module`.

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

  Esta é uma saída de exemplo.

  ```
  {
      "PrincipalResourcePermissions": [
          {
              "Principal": {
                  "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
              },
              "Resource": {
                  "LFTag": {
                      "CatalogId": "111122223333",
                      "TagKey": "module",
                      "TagValues": [
                          "Orders",
                          "Sales"
                      ]
                  }
              },
              "Permissions": [
                  "ASSOCIATE"
              ],
              "PermissionsWithGrantOption": []
          }
      ]
  }
  ```

**Para conceder permissões em tags do LF (AWS CLI)**

1. Digite um comando semelhante ao seguinte: 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":["*"]}}'
   ```

   Conceder a permissão `Associate` implicitamente concede a permissão `Describe`.

   O próximo exemplo concede `Associate` à AWS conta externa 1234-5678-9012 na etiqueta LF com a chave, com a opção de concessão. `module` Ele concede permissões para visualizar e atribuir somente os valores `sales` e `orders`.

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "ASSOCIATE" --permissions-with-grant-option "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
   ```

1. Conceder a permissão `GrantWithLFTagExpression` implicitamente concede a permissão `Describe`.

   O próximo exemplo concede `GrantWithLFTagExpression` a um usuário na tag do LF com a chave `module`, com a opção de concessão. Ele concede permissões para visualizar e conceder permissões nos recursos do catálogo de dados usando somente os valores `sales` e `orders`.

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "GrantWithLFTagExpression" --permissions-with-grant-option "GrantWithLFTagExpression" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
   ```

1. O próximo exemplo concede permissões `Drop` a um usuário na tag do LF com a chave `module`, com a opção de concessão. Ele concede permissões para excluir a tag do LF. Para excluir uma tag do LF, você precisa de permissões em todos os valores dessa chave.

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "DROP" --permissions-with-grant-option "DROP" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
   ```

1. O próximo exemplo concede permissões `Alter` ao usuário na tag do LF com a chave `module`, com a opção de concessão. Ele concede permissões para excluir a tag do LF. Para atualizar uma tag do LF, você precisa de permissões em todos os valores dessa chave.

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
   ```

**Para revogar permissões em tags do LF (AWS CLI)**
+ Digite um comando semelhante ao seguinte: Este exemplo revoga a permissão `Associate` na tag do LF com a chave `module` do usuário `datalake_user1`.

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

# Conceder permissões de data lake usando o método LF-TBAC
<a name="granting-catalog-perms-TBAC"></a>

É possível conceder as permissões `DESCRIBE` e `ASSOCIATE` do Lake Formation em tags do LF a entidades principais para que elas possam visualizar as tags do LF e atribuí-las aos recursos do catálogo de dados (bancos de dados, tabelas, visualizações e colunas). Quando as tags do LF são atribuídas aos recursos do Catálogo de dados, você pode usar o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) para proteger esses recursos. Para obter mais informações, consulte [Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md).

No início, somente o administrador do data lake pode conceder essas permissões. Se o administrador do data lake conceder essas permissões com a opção de concessão, outras entidades principais poderão concedê-las. As permissões `DESCRIBE` e `ASSOCIATE` são explicadas em [Considerações e práticas recomendadas de controle de acesso com base em tags do Lake Formation](lf-tag-considerations.md).

Você pode conceder as `ASSOCIATE` permissões `DESCRIBE` e em uma etiqueta LF para uma conta externa AWS . Um administrador de data lake nessa conta pode então conceder essas permissões a outras entidades principais na conta. As entidades principais às quais o administrador do data lake na conta externa concede a permissão `ASSOCIATE` podem então atribuir tags do LF aos recursos do catálogo de dados que você compartilhou com a conta deles.

Ao conceder para uma conta externa, você deve incluir a opção de concessão.

Você pode conceder permissões em tags LF usando o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI.

**nota**  
As etapas a seguir não são necessárias para catálogos de Tabelas do S3. É possível usar tags LF para conceder permissões a catálogos existentes de Tabelas do S3 sem excluí-los e recriá-los.

**Habilitar o suporte de tags LF para catálogos federados existentes que usam as permissões do Lake Formation**

Siga estas etapas, se você tiver catálogos federados existentes que estejam usando permissões do Lake Formation, como o Amazon Redshift Amazon DynamoDB ou catálogos que foram criados antes que o suporte a LF-Tags estivesse disponível para catálogos federados. 

1. Exclua o catálogo existente: chame a operação `deleteCatalog` da API para remover o catálogo federado existente que usa as permissões do Lake Formation.

1.  Crie outro catálogo federado: crie outro catálogo e direcione-o para seu namespace/unidade de compartilhamento de dados existente. 

   Use um novo nome para o catálogo: esse processo atualiza seus catálogos federados preexistentes para comportar a funcionalidade de tag LF. Se você quiser usar o mesmo nome de catálogo, entre em contato com a equipe de AWS suporte para obter ajuda. 

**Topics**
+ [Conceder permissões do catálogo de dados](#granting-cat-perms-TBAC-console)

**Consulte também**  
[Gerenciar permissões de valor de tag do LF](TBAC-granting-tags.md)
[Gerenciar tags do LF para controle de acesso a metadados](managing-tags.md)
[Controle de acesso baseado em tags do Lake Formation](tag-based-access-control.md)

## Conceder permissões do catálogo de dados
<a name="granting-cat-perms-TBAC-console"></a>

Use o console do Lake Formation ou AWS CLI conceda permissões do Lake Formation em bancos de dados, tabelas, visualizações e colunas do Catálogo de Dados usando o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC).

------
#### [ Console ]

As etapas a seguir explicam como conceder permissões usando o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) e a página **Conceder permissões de data lake** no console do Lake Formation. A página está dividida nas seguintes seções:
+  **Diretores** — Os usuários, as funções e Contas da AWS para os quais conceder permissões.
+  **Tags do LF ou recursos do catálogo** – Os bancos de dados, tabelas ou links de recursos nos quais conceder permissões.
+  **Permissões** – As permissões do Lake Formation devem ser concedidas.

1. 

**Abra a página Conceder permissões de data lake.**

   Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e faça login como administrador do data lake ou como usuário que recebeu permissões do Lake Formation nos recursos do Catálogo de Dados por meio do LF-TBAC com a opção de concessão.

   No painel de navegação, em **Permissões**, escolha **Permissões do data lake**. Em seguida, escolha **Conceder**.

1. 

**Especifique as entidades principais.**

    Na seção **Entidades principais**, escolha um tipo de principal e, em seguida, especifique às entidades principais aos quais conceder permissões.  
![\[A seção Entidades principais contém quatro blocos que são nomeados no texto a seguir. Cada bloco contém um botão de opção e um texto. O bloco do Centro de Identidade do IAM está selecionado, e a lista suspensa de usuários e grupos está abaixo dos blocos.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/identity-center-grant-perm.png)  
**Usuários e perfis do IAM**  
Escolha um ou mais usuários ou perfis na lista de **usuários e perfis do IAM**.  
**Centro de Identidade do IAM **  
Selecione um ou mais usuários na lista **Usuários e grupos**.  
**Usuários e grupos SAML**  
Para **usuários e grupos do SAML e do Quick**, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou ARNs para usuários ou grupos do Quick. Pressione Enter após cada ARN.  
Para obter informações sobre como construir o ARNs, consulte[Lake Formation concede e revoga comandos AWS CLI](lf-permissions-reference.md#perm-command-format).  
A integração do Lake Formation com o Quick é compatível somente com o Quick Enterprise Edition.  
**Contas externas**  
Para **Contas da AWS, AWS organização** ou **diretor do IAM**, insira uma ou mais organizações Conta da AWS IDs IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função do IAM. Pressione **Enter** após cada ID.  
O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos.  
Um ID de unidade organizacional começa com “ou-” seguido de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais.

1. 

**Especifique as tags do LF.**

   Certifique-se de que a opção **Recursos correspondidos por tags do LF** seja escolhida. Escolha **Pares de chave-valor de tag LF** ou **Expressões de tag LF salvas**.

   1. Se você escolher a opção **Pares de chave-valor de tag LF**, escolha as chaves e os valores.

      Se você escolher mais de um valor, estará criando uma expressão de tags do LF com um operador `OR`. Isso significa que, se algum dos valores da tag do LF corresponder a uma tag do LF atribuída a um recurso do catálogo de dados, você receberá permissões sobre o recurso.  
![\[A seção tag do LF ou a seção de recursos do catálogo contém dois blocos dispostos horizontalmente, onde cada bloco contém um botão de opção e um texto descritivo. As opções são Recursos combinados com tags do LF (recomendado) e recursos do catálogo de dados nomeados. Os recursos correspondentes às tags do LF são selecionados. Abaixo dos blocos, há um campo Chave e um campo Valores organizados horizontalmente. O campo Chave contém “módulo” e o campo Valores é uma lista suspensa que contém três entradas: Pedidos, Vendas e Clientes. Cada entrada tem uma caixa de seleção associada. A caixa de seleção para Clientes está marcada. À direita desses dois campos, há um botão Remover. Na parte inferior, há um botão Adicionar tag do LF, indicando que você pode adicionar outra linha contendo os campos Chave e Valores e um botão Remover.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-data-permissions-tags-2.png)

   1. (Opcional) Escolha **Adicionar par de chave-valor de tag LF** novamente para especificar outra tag LF.

      Se você especificar mais de uma tag do LF, estará criando uma expressão de tag do LF com um operador `AND`. A entidade principal recebe permissões em um recurso do catálogo de dados somente se o recurso tiver sido atribuído a uma tag do LF correspondente para cada tag do LF na expressão da tag do LF.

   1. Escolha a opção **Salvar como nova expressão** para reutilizar a expressão.

      Você precisa de `Create LF-Tag expression` para salvar as expressões.

      Para acessar mais informações sobre expressões de tag LF, consulte [Gerenciar expressões de tag LF para controle de acesso a metadados](managing-tag-expressions.md).

1. 

**Especifique as permissões.**

   Especificar as permissões a serem concedidas à entidade principal em recursos correspondentes do catálogo de dados. Recursos correspondentes são aqueles recursos atribuídos a tags do LF que correspondem a uma das expressões de tags do LF concedidas à entidade principal. 

   É possível especificar as permissões a serem concedidas em bancos de dados, tabelas e visualizações correspondentes.  
![\[Duas seções da página são mostradas. A seção Permissões do banco de dados contém caixas de seleção para permissões de banco de dados e permissões concedidas. Abaixo da seção Banco de dados, a seção Permissões de tabela mostra as caixas de seleção para permissões de tabela e permissões concedidas.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-TBAC-DB-table-permissions.png)

   Em **Permissões do banco de dados**, selecione as permissões do banco de dados a serem concedidas à entidade principal nos bancos de dados correspondentes.

   Em **Permissões de tabela**, selecione as permissões de tabela ou visualização a serem concedidas à entidade principal nas tabelas e nas visualizações correspondentes.

   Também é possível selecionar as permissões `Select`, `Describe` e `Drop` nas **Permissões de tabela** a serem aplicadas às visualizações.

1. Selecione **Conceder**.

------
#### [ AWS CLI ]

Você pode usar o AWS Command Line Interface (AWS CLI) e o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) para conceder permissões do Lake Formation em bancos de dados, tabelas e colunas do Catálogo de Dados.

**Concedendo permissões de data lake usando o método LF-TBAC AWS CLI e o método LF-TBAC**
+ Use o comando `grant-permissions`.  
**Example**  

  O exemplo a seguir concede a expressão tag do LF "`module=*`" (todos os valores da chave tag do LF `module`) ao usuário `datalake_user1`. Esse usuário terá a permissão `CREATE_TABLE` em todos os bancos de dados correspondentes – bancos de dados aos quais foi atribuída a tag do LF com a chave `module`, com qualquer valor.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["*"]}]}}' 
  ```  
**Example**  

  O próximo exemplo concede a expressão da tag do LF "`(level=director) AND (region=west OR region=south)`" ao usuário `datalake_user1`. Esse usuário terá as permissões `SELECT`, `ALTER` e `DROP` com a opção de concessão em tabelas correspondentes – tabelas que foram atribuídas tanto a `level=director` quanto a `region=west` ou `region=south`.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" "DROP" --permissions-with-grant-option "SELECT" "ALTER" "DROP" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"TABLE","Expression": [{"TagKey": "level","TagValues": ["director"]},{"TagKey": "region","TagValues": ["west", "south"]}]}}'
  ```  
**Example**  

  O próximo exemplo concede a expressão LF-tag "`module=orders`" à AWS conta 1234-5678-9012. O administrador do data lake nessa conta pode então conceder a expressão "`module=orders`" às entidades principais em sua conta. Essas entidades principais terão então a permissão `CREATE_TABLE` para combinar bancos de dados pertencentes à conta 1111-2222-3333 e compartilhados com a conta 1234-5678-9012 usando o método de recurso nomeado ou o método LF-TBAC.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["orders"]}]}}'
  ```

------

# Controle de acesso por atributo
<a name="attribute-based-access-control"></a>

No AWS Lake Formation, você pode conceder acesso a AWS Glue Data Catalog objetos como catálogos, bancos de dados, tabelas e filtros de dados usando atributos que são tags do IAM e tags de sessão associadas a entidades do IAM, como funções e usuários.

Para obter mais informações sobre o uso de tags de sessão, consulte [assume-role no guia](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html) do AWS CLI usuário.

O controle de acesso baseado em atributos (ABAC) é uma estratégia de autorização que define permissões com base em atributos. AWS chama esses atributos de *tags*. É possível usar o ABAC para conceder acesso às entidades principais na mesma conta ou em outra conta nos recursos do Data Catalog. Qualquer entidade principal do IAM com chaves e valores correspondentes de tag do IAM ou de tag de sessão recebe acesso ao recurso. É necessário ter permissões para concessão nos recursos para fazer essas concessões.

O ABAC permite que você conceda acesso a vários usuários ao mesmo tempo. Quando novos usuários ingressam na organização, o acesso deles aos dados pode ser determinado automaticamente com base nos respectivos atributos, como cargo ou departamento, sem exigir que os administradores atribuam manualmente permissões ou perfis específicos. Ao usar atributos em vez de perfis, o ABAC oferece uma maneira mais simplificada e sustentável de gerenciar o acesso aos dados em diversos sistemas e ambientes, melhorando, em última análise, a governança e a conformidade dos dados.

Para acessar mais informações sobre como definir atributos, consulte [Definir permissões com base em atributos com autorização ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html).

Para obter informações sobre limitações, considerações e AWS regiões suportadas, consulte[Considerações sobre controle de acesso por atributo, limitações e regiões aceitas](abac-considerations.md).

**Topics**
+ [Pré-requisitos para conceder permissões usando atributos](abac-prerequisites.md)
+ [Conceder permissões usando o controle de acesso por atributo](abac-granting-permissions.md)

# Pré-requisitos para conceder permissões usando atributos
<a name="abac-prerequisites"></a>

Para conceder permissões usando o controle de acesso por atributo (ABAC), você deve atender aos seguintes pré-requisitos:
+ Atualize as configurações do **Data Catalog** ****para habilitar as permissões do Lake Formation para objetos do Data Catalog. Para acessar mais informações, consulte a seção [Alterar o modelo de permissão padrão ou usar o modo de acesso híbrido](https://docs.aws.amazon.com/lake-formation/latest/dg/initial-lf-config.html#setup-change-cat-settings).
+ Defina as configurações da versão entre contas como duas ou mais.
+ [Anexe atributos](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) às entidades do IAM que exigem acesso.
+ Somente um administrador do data lake ou um usuário do IAM com as permissões necessárias pode conceder acesso aos objetos do Data Catalog. Para acessar mais informações sobre as permissões necessárias, consulte [Permissões do IAM](https://docs.aws.amazon.com/lake-formation/latest/dg/required-permissions-for-grant.html).

# Conceder permissões usando o controle de acesso por atributo
<a name="abac-granting-permissions"></a>

Este tópico descreve as etapas que você precisa seguir para conceder permissões de acesso por atributo em recursos do Data Catalog. Você pode usar o console do Lake Formation ou a Interface de Linha de AWS Comando (AWS CLI). 

## Conceder permissões usando ABAC (Console de gerenciamento da AWS)
<a name="w2aac15b9c31c19b5b1"></a>

1. Abra o console do Lake Formation em e faça login como administrador do data lake, criador do recurso ou usuário do IAM com **permissões concedidas** no recurso. [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)

1. Execute um destes procedimentos:
   + No painel de navegação, em **Permissões**, escolha **Permissões do data lake**. Em seguida, escolha **Conceder**.
   + No painel de navegação, escolha **Catálogos**, em **Data Catalog**. Depois, escolha um objeto de catálogo (catálogos, bancos de dados, tabelas e filtros de dados) e, no menu **Ações**, em **Permissões**, escolha **Conceder**.

1. Na página **Conceder permissões**, escolha **Entidades principais por atributo**.

1. Especifique a chave e os valores do atributo. Se você escolher mais de um valor, estará criando uma expressão de atributo com um operador `OR`. Isso significa que, se algum dos valores da tag de atributo atribuídos a uma função ou usuário do IAM corresponder, eles role/user ganharão permissões de acesso ao recurso.

   Se você especificar mais de uma tag de atributo, estará criando uma expressão de atributo com um operador `AND`. O principal recebe permissões em um recurso do Catálogo de Dados somente se o IAM tiver role/user recebido uma tag correspondente para cada tag de atributo na expressão do atributo.

   Analise a expressão da política Cedar resultante mostrada no console.  
![\[Na caixa de diálogo Conceder permissões, uma expressão de atributo é criada.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/abac-grant-permissions.png)

1. Escolha o escopo da permissão. Se os beneficiários pertencerem a uma conta externa, escolha **Conta externa** e insira o ID da AWS conta.

1. Depois, escolha a conta do Data Catalog ou contas externas. Você deve ter as permissões para concessão correspondentes nos recursos para concluir com êxito as concessões de permissão.

1. Especifique quais ações você deseja permitir que as entidades principais (usuários ou perfis) que têm atributos correspondentes executem. O acesso é concedido a entidades do IAM às quais foram atribuídas tags e valores que correspondem a pelo menos uma das expressões de atributo especificadas. Analise a expressão da política Cedar no console. Para acessar mais informações sobre Cedar, consulte [O que é Cedar? \$1 Referência GuideLink de linguagem da Cedar Policy](https://docs.cedarpolicy.com/).

1. Depois, escolha os recursos do Data Catalog para conceder acesso. Você pode definir essas permissões para vários recursos do Data Catalog, incluindo catálogos, bancos de dados, tabelas e filtros de dados.

1. Selecione **Conceder**.

   Essa abordagem permite controlar o acesso por atributo, garantindo que somente usuários ou perfis com as tags apropriadas possam realizar ações específicas nos recursos designados.

## Conceder permissões usando ABAC (AWS CLI)
<a name="abac-granting-permissions-cli"></a>

 O exemplo a seguir mostra uma expressão de atributo que deve ser atendida para receber todas as permissões disponíveis no recurso. Você também pode especificar permissões individuais, como `Select`, `Describe` ou `Drop`. A expressão usa a expressão de política Cedar. Para acessar mais informações sobre Cedar, consulte [O que é Cedar? \$1 Referência GuideLink de linguagem da Cedar Policy](https://docs.cedarpolicy.com/). 

 Essa condição confere se a entidade principal do IAM tem uma tag `department` e o valor da tag `department` é igual a `sales`. 

```
aws lakeformation grant-permissions 
--principal '{"DataLakePrincipalIdentifier": "111122223333:IAMPrincipals"}' \
--resource '{"Database": {"CatalogId": 111122223333, "Name": "abac-db"}}' \
--permissions ALL \
--condition '{"Expression": "context.iam.principalTags.hasTag(\"department\") \
   && context.iam.principalTags.getTag(\"department\") == \"sales\""}'
```