

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

# 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. Em Lake Formation, esses atributos são chamados *LF-Tags*. Você pode LF-Tags se conectar aos recursos do Catálogo de Dados e conceder permissões aos diretores do Lake Formation sobre esses recursos usando esses LF-Tags recursos. 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. 

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

LF-TBAC é o método recomendado para conceder permissões ao Lake Formation quando há um grande número de objetos do Catálogo de Dados, 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 IAM não são iguais LF-Tags a. Essas etiquetas não são intercambiáveis. LF-Tagssã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 um LF-Tag é 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 LF-TBAC método, os administradores e engenheiros de dados do data lake realizam as seguintes tarefas.


| Tarefa | Detalhes da tarefa | 
| --- | --- | 
| 1. Defina as propriedades e os relacionamentos de LF-Tags. | - | 
| 2. Crie os LF-Tag criadores em Lake Formation. | [Adicionando LF-Tag criadores](TBAC-adding-tag-creator.md) | 
| 3. Crie o LF-Tag em Lake Formation. | [Criando LF-Tags](TBAC-creating-tags.md) | 
| 4. Atribua LF-Tags aos recursos do Catálogo de Dados. | [Atribuição LF-Tags aos recursos do Catálogo de Dados](TBAC-assigning-tags.md) | 
| 5. Conceda permissões a outros diretores para LF-Tags atribuir recursos, opcionalmente com a opção de concessão. | [Gerenciando permissões de LF-Tag valor](TBAC-granting-tags.md) | 
| 6. Conceda LF-Tag expressões aos diretores, opcionalmente com a opção de concessão. | [Concedendo permissões de data lake usando o método LF-TBAC](granting-catalog-perms-TBAC.md) | 
| 7. (Recomendado) Depois de verificar se os diretores têm acesso aos recursos corretos por meio do LF-TBAC método, 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 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 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.](https://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 LF-TBAC o. O diagrama a seguir indica que você atribuiu LF-Tags a bancos de dados e tabelas e concedeu permissões LF-Tags aos principais. 

Neste exemplo, LF-Tags 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. Todos LF-Tags têm a chave `module` e os valores possíveis `Sales``Orders`, `Customers` e. Um exemplo LF-Tag se parece com isso:

```
module=Sales
```

O diagrama mostra somente os LF-Tag valores.

![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 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 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ário1 recebeu as LF-Tags Vendas e os Clientes, o usuário 2 recebeu os LF-Tag Pedidos e o usuário 3 recebeu os Clientes. LF-Tag As bandeiras ao lado dos bancos de dados e tabelas indicam as seguintes atribuições de bancos de LF-Tags 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. Tabela B.1 e B.2 herde pedidos, e a tabela B.2 tem clientes. O banco de dados C tem clientes C.1 C.2, tabelas e C.3 herda clientes. As tabelas C não têm nenhuma outra atribuição.](https://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 LF-Tags dos bancos de dados e as colunas herdam LF-Tags das tabelas. Os valores herdados podem ser substituídos. No diagrama anterior, os esmaecidos são LF-Tags herdados.

Por causa da herança, o administrador do data lake precisa fazer somente as cinco LF-Tag atribuições a seguir 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 LF-Tags aos bancos de dados e tabelas, o administrador do data lake deve fazer apenas quatro concessões LF-Tags aos diretores, 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, um diretor com o `module=Sales` LF-Tag pode acessar os recursos do Catálogo de Dados com o `module=Sales` LF-Tag (por exemplo, banco de dados A), um diretor com o `module=Customers` LF-Tag pode acessar recursos com o `module=Customers` LF-Tag e assim por diante.

Os comandos de concessão anteriores estão incompletos. Isso ocorre porque, embora indiquem, por meio LF-Tags dos recursos do Catálogo de Dados, que os diretores têm permissões, eles não indicam exatamente quais permissões do Lake Formation (por exemplo`SELECT`,`ALTER`) os diretores 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. LF-Tags

```
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 a LF-Tags atribuição aos bancos de dados e tabelas no diagrama anterior e a LF-Tags concedida aos diretores no diagrama, a tabela a seguir lista as permissões do Lake Formation que os diretores têm nos bancos de dados e tabelas.


| Entidade principal | Permissões concedidas por meio de LF-Tags | 
| --- | --- | 
| Entidade principal 1 |  +  `CREATE_TABLE` no banco de dados A <br />+  `SELECT`, `INSERT` na mesa A.1 <br />+  `SELECT`, `INSERT` na mesa B.2 <br />+  `CREATE_TABLE` no banco de dados C <br />+  `SELECT`, `INSERT` na mesa C.1 <br />+  `SELECT`, `INSERT` na mesa C.2 <br />+  `SELECT`, `INSERT` na mesa C.3   | 
| Entidade principal 2 |  +  `SELECT`, `INSERT` na mesa A.2 <br />+  `CREATE_TABLE` no banco de dados B <br />+  `SELECT`, `INSERT` na mesa B.1   | 
| Entidade principal 3 |  +  `SELECT`, `INSERT` na mesa B.2 <br />+  `CREATE_TABLE` no banco de dados C <br />+  `SELECT`, `INSERT` na mesa C.1 <br />+  `SELECT`, `INSERT` na mesa C.2 <br />+  `SELECT`, `INSERT` na mesa C.3   | 

**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 LF-TBAC método 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 LF-TBAC método, usando um único LF-Tag, o total do número de doações para diretores e atribuições para recursos é `n(P)` \+. `n(R)`

**Consulte também**  
[Gerenciamento do controle LF-Tags de acesso aos metadados](managing-tags.md)
[Concedendo 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)
+ [Gerenciamento do controle LF-Tags de acesso aos metadados](managing-tags.md)
+ [Gerenciando LF-Tag expressões para controle de acesso a metadados](managing-tag-expressions.md)
+ [Gerenciando permissões de LF-Tag valor](TBAC-granting-tags.md)