

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

# Gerenciando permissões do Lake Formation
<a name="managing-permissions"></a>

O Lake Formation fornece controles de acesso central para dados em seu data lake. Você pode definir regras baseadas em políticas de segurança para seus usuários e aplicativos por função no Lake Formation, e a integração com AWS Identity and Access Management autentica esses usuários e funções. Depois que as regras são definidas, o Lake Formation aplica seus controles de acesso em granularidade em nível de tabela, coluna e linha para usuários do Amazon Redshift Spectrum e do Amazon Athena. 

**Topics**
+ [Conceder permissões de localização de dados](granting-location-permissions.md)
+ [Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md)
+ [Exemplo de cenário de permissões](security-permissions-example-scenario.md)
+ [Filtragem de dados e segurança por célula no Lake Formation](data-filtering.md)
+ [Visualizar permissões de banco de dados e tabelas no Lake Formation](viewing-permissions.md)
+ [Revogando a permissão usando o console Lake Formation](revoking-permssions-console-all.md)
+ [Compartilhamento de dados entre contas no Lake Formation](cross-account-permissions.md)
+ [Acessar e visualizar tabelas e bancos de dados compartilhados do catálogo de dados](viewing-shared-resources.md)
+ [Criação de links de recursos](creating-resource-links.md)
+ [Acessar tabelas entre regiões](data-access-across-region.md)

# Conceder permissões de localização de dados
<a name="granting-location-permissions"></a>

As permissões de localização de dados AWS Lake Formation permitem que os diretores criem e alterem recursos do catálogo de dados que apontam para locais registrados designados do Amazon S3. As permissões de localização de dados funcionam em conjunto com as permissões de dados do Lake Formation para proteger as informações em seu data lake.

O Lake Formation não usa o serviço AWS Resource Access Manager (AWS RAM) para conceder permissões de localização de dados, então você não precisa aceitar convites de compartilhamento de recursos para obter permissões de localização de dados.

Você pode conceder permissões de localização de dados usando o console do Lake Formation, a API ou AWS Command Line Interface (AWS CLI).

**nota**  
Para que uma concessão seja bem-sucedida, você deve primeiro registrar a localização dos dados no Lake Formation.

**Consulte também:**  
[Underlying data access control](access-control-underlying-data.md#data-location-permissions)

**Topics**
+ [Concessão de permissões de localização de dados (mesma conta)](granting-location-permissions-local.md)
+ [Concessão de permissões de localização de dados (conta externa)](granting-location-permissions-external.md)
+ [Conceder permissões em um local de dados compartilhado com sua conta](regranting-locations.md)

# Concessão de permissões de localização de dados (mesma conta)
<a name="granting-location-permissions-local"></a>

Siga estas etapas para conceder permissões de localização de dados às entidades principais da sua conta da AWS . Você pode conceder permissões usando o console do Lake Formation, a API ou a AWS Command Line Interface (AWS CLI).

------
#### [ Console de gerenciamento da AWS ]

**Como conceder permissões de localização de dados (mesma conta)**

1. Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Faça login como administrador do data lake ou como entidade principal que concedeu permissões no local de dados desejado.

1. No painel de navegação, em **Permissões**, selecione **Locais de dados**.

1. Selecione **Conceder**.

1. Na caixa de diálogo **Conceder permissões**, verifique se o quadro **Minha conta** está selecionado. Em seguida, forneça as seguintes informações:
   + Para **usuários e funções do IAM**, escolha um ou mais entidades principais. 
   + Para **usuários e grupos do SAML e do Amazon 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.

     Insira um ARN por vez e 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).
   + Para **Locais de armazenamento**, escolha **Browse** e escolha um local de armazenamento do Amazon Simple Storage Service (Amazon S3). O local deve ser registrado no Lake Formation. Escolha **Procurar** novamente para adicionar outro local. Você também pode digitar o local, mas certifique-se de preceder o local com `s3://`.
   + Em **Local da conta registrada**, insira o ID da AWS conta em que o local está registrado. O padrão é o ID da sua conta. Em um cenário de várias contas, os administradores de data lake em uma conta de destinatário podem especificar a conta do proprietário aqui ao conceder a permissão de localização de dados a outras entidades principais na conta do destinatário.
   + (Opcional) Para permitir que as entidades principais selecionadas concedam permissões de localização de dados no local selecionado, escolha **Concedível**.  
![\[Na caixa de diálogo Conceder permissões, o usuário datalake_user e o local de armazenamento s3://119 são selecionados. retail/transactions/q\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-location-dialog-local.png)

1. Selecione **Conceder**.

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

**Como conceder permissões de localização de dados (mesma conta)**
+ Execute um comando `grant-permissions` e conceda `DATA_LOCATION_ACCESS` à entidade principal, especificando o caminho do Amazon S3 como o recurso.  
**Example**  

  O exemplo a seguir concede permissões de localização de dados em `s3://retail` ao usuário `datalake_user1`.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::retail"}}'
  ```  
**Example**  

  O exemplo a seguir concede permissões de localização de dados em `s3://retail` ao grupo `ALLIAMPrincipals`.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::retail", "CatalogId": "111122223333"}}'
  ```

------

**Consulte também:**  
[Referência de permissões do Lake Formation](lf-permissions-reference.md)

# Concessão de permissões de localização de dados (conta externa)
<a name="granting-location-permissions-external"></a>

Siga estas etapas para conceder permissões de localização de dados a uma AWS conta ou organização externa. 

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

**Antes de começar**  
Certifique-se de que todos os pré-requisitos de acesso entre contas sejam atendidos. Para obter mais informações, consulte [Pré-requisitos](cross-account-prereqs.md).

------
#### [ Console de gerenciamento da AWS ]

**Para conceder permissões de localização de dados (conta externa, console)**

1. Abra o AWS Lake Formation console 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**, escolha **Localizações dos dados** e, em seguida, escolha **Conceder**.

1. Na caixa de diálogo **Conceder permissões**, escolha o quadro **Conta externa**.

1. Forneça as informações a seguir:
   + Para **ID AWS da conta ou ID AWS da organização**, insira números de AWS conta IDs, organização ou unidade organizacional válidos 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 consiste em "ou-" seguido de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa string é seguida por um segundo "-" (hífen) e 8 a 32 letras minúsculas ou dígitos adicionais.
   + Em **Locais de armazenamento**, escolha **Procurar** e escolha um local de armazenamento do Amazon Simple Storage Service (Amazon S3). O local deve ser registrado no Lake Formation.  
![\[A caixa de diálogo Conceder permissão tem o botão de opção Conta externa selecionado, uma AWS conta especificada e um local de armazenamento especificado.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-location-dialog-external.png)

1. Selecione **Concedível**.

1. Selecione **Conceder**.

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

**Para conceder permissões de localização de dados (conta externa AWS CLI)**
+ Para conceder permissões a uma AWS conta externa, digite um comando semelhante ao seguinte.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333  --permissions "DATA_LOCATION_ACCESS" --permissions-with-grant-option "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"CatalogId":"123456789012","ResourceArn":"arn:aws:s3::retail/transactions/2020q1"}}'
  ```

  Esse comando concede a `DATA_LOCATION_ACCESS` a opção de concessão à conta 1111-2222-3333 no local `s3://retail/transactions/2020q1` do Amazon S3, que pertence à conta 1234-5678-9012.

  Para conceder permissões a uma organização, digite um comando semelhante ao seguinte:

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl --permissions "DATA_LOCATION_ACCESS" --permissions-with-grant-option "DATA_LOCATION_ACCESS" --resource '{"DataLocation": {"CatalogId":"123456789012","ResourceArn":"arn:aws:s3::retail/transactions/2020q1"}}'
  ```

  Este comando concede a `DATA_LOCATION_ACCESS` a opção de concessão à organização `o-abcdefghijkl` no local do Amazon S3 `s3://retail/transactions/2020q1`, que pertence à conta 1234-5678-9012.

   Para conceder permissões a um principal em uma AWS conta externa, digite um comando semelhante ao seguinte.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3::retail/transactions/2020q1", "CatalogId": "123456789012"}}'
  ```

  Esse comando é concedido `DATA_LOCATION_ACCESS` a uma entidade principal na conta 1111-2222-3333 na localização `s3://retail/transactions/2020q1` do Amazon S3, que pertence à conta 1234-5678-9012.  
**Example**  

  O exemplo a seguir concede permissões de localização de dados a `s3://retail` para um grupo `ALLIAMPrincipals` em uma conta externa.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::retail", "CatalogId": "123456789012"}}'
  ```

------

**Consulte também:**  
[Referência de permissões do Lake Formation](lf-permissions-reference.md)

# Conceder permissões em um local de dados compartilhado com sua conta
<a name="regranting-locations"></a>

Depois que um recurso do Catálogo de Dados é compartilhado com sua AWS conta, como administrador do data lake, você pode conceder permissões sobre o recurso a outros diretores da sua conta. Se a permissão `ALTER` for concedida em uma tabela compartilhada e a tabela apontar para um local registrado no Amazon S3, você também deverá conceder permissões de localização de dados no local. Da mesma forma, se a permissão `CREATE_TABLE` ou `ALTER` for concedida em um banco de dados compartilhado e o banco de dados tiver uma propriedade de localização que aponte para um local registrado, você também deverá conceder permissões de localização de dados no local.

Para conceder permissões de localização de dados em um local compartilhado a uma entidade principal em sua conta, sua conta deve ter recebido a permissão `DATA_LOCATION_ACCESS` no local com a opção de concessão. Ao conceder `DATA_LOCATION_ACCESS` a outro principal em sua conta, você deve incluir a ID do catálogo de dados (ID da AWS conta) da conta do proprietário. A conta do proprietário é a conta que registrou o local.

Você pode usar o AWS Lake Formation console, a API ou o AWS Command Line Interface ()AWS CLI para conceder permissões de localização de dados.

**Para conceder permissões em um local de dados compartilhado com sua conta (console)**
+ Siga as etapas em [Concessão de permissões de localização de dados (mesma conta)](granting-location-permissions-local.md).

  Para **Locais de armazenamento**, você deve digitar os locais. Em **Localização da conta registrada**, insira o AWS ID da conta do proprietário.

**Para conceder permissões em um local de dados compartilhado com sua conta (AWS CLI)**
+ Digite um dos comandos a seguir para conceder permissões a um usuário ou a uma função.

  ```
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/<user-name> --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"CatalogId":"<owner-account-ID>","ResourceArn":"arn:aws:s3:::<s3-location>"}}'
  aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:role/<role-name> --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"CatalogId":"<owner-account-ID>","ResourceArn":"arn:aws:s3:::<s3-location>"}}'
  ```

# 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\""}'
```

# Exemplo de cenário de permissões
<a name="security-permissions-example-scenario"></a>

O cenário a seguir ajuda a demonstrar como você pode configurar permissões para proteger o acesso aos dados no AWS Lake Formation.

Shirley é administradora de dados. Ela quer configurar um data lake para sua empresa, AnyCompany. Atualmente, todos os dados são armazenados no Amazon S3. John é gerente de marketing e precisa ter acesso por escrito às informações de compra do cliente (contidas em `s3://customerPurchases`). Um analista de marketing, Diego, se junta a John neste verão. John precisa da capacidade de conceder acesso a Diego para realizar consultas nos dados sem envolver Shirley. 

Mateo, do setor financeiro, precisa acessar dados contábeis de consulta (por exemplo, `s3://transactions`). Ele quer consultar os dados das transações em tabelas em um banco de dados (`Finance_DB`) que a equipe financeira usa. Seu gerente, Arnav, pode dar a ele acesso ao `Finance_DB`. Embora ele não deva ser capaz de modificar os dados contábeis, ele precisa converter os dados em um formato (esquema) adequado para previsões. Esses dados serão armazenados em um bucket separado (`s3://financeForecasts`) que ele pode modificar.

Para resumir:
+ Shirley é a administradora do data lake. 
+ John exige permissão `CREATE_DATABASE` e `CREATE_TABLE` para criar novos bancos de dados e tabelas no catálogo de dados.
+ John também exige `SELECT`, `INSERT` e `DELETE` permissões nas tabelas que ele cria.
+ Diego exige permissão `SELECT` na tabela para executar consultas.

Os funcionários da AnyCompany realizam as seguintes ações para configurar as permissões. As operações de API mostradas nesse cenário mostram uma sintaxe simplificada para maior clareza.

1. Shirley registra o caminho do Amazon S3 contendo informações de compra do cliente no Lake Formation.

   ```
   RegisterResource(ResourcePath("s3://customerPurchases"), false, Role_ARN )
   ```

1. Shirley concede a John o acesso ao caminho do Amazon S3 contendo informações de compra do cliente.

   ```
   GrantPermissions(John, S3Location("s3://customerPurchases"), [DATA_LOCATION_ACCESS]) )
   ```

1. Shirley concede permissão a John para criar bancos de dados.

   ```
   GrantPermissions(John, catalog, [CREATE_DATABASE]) 
   ```

1. John cria o banco de dados `John_DB`. John tem permissão `CREATE_TABLE` automática nesse banco de dados porque ele o criou.

   ```
   CreateDatabase(John_DB)
   ```

1. John cria a tabela `John_Table` apontando para `s3://customerPurchases`. Como ele criou a tabela, ele tem todas as permissões nela e pode conceder permissões sobre ela.

   ```
   CreateTable(John_DB, John_Table)
   ```

1. John permite que seu analista, Diego, tenha acesso à tabela `John_Table`.

   ```
    GrantPermissions(Diego, John_Table, [SELECT])
   ```

1. John permite que seu analista, Diego, acesse o `s3://customerPurchases/London/`. Como Shirley já está registrada `s3://customerPurchases`, suas subpastas são registradas no Lake Formation.

   ```
    GrantDataLakePrivileges( 123456789012/datalake, Diego, [DATA_LOCATION_ACCESS], [], S3Location("s3://customerPurchases/London/") )
   ```

1. John permite que seu analista, Diego, crie tabelas no banco de dados `John_DB`.

   ```
    GrantDataLakePrivileges( 123456789012/datalake, Diego, John_DB, [CREATE_TABLE], [] )
   ```

1. Diego cria uma tabela `John_DB` em `s3://customerPurchases/London/` e obtém automaticamente as permissões `ALTER`, `DROP`, `SELECT`, `INSERT` e `DELETE`.

   ```
    CreateTable( 123456789012/datalake, John_DB, Diego_Table )
   ```

# Filtragem de dados e segurança por célula no Lake Formation
<a name="data-filtering"></a>

Ao conceder permissões do Lake Formation em uma tabela do catálogo de dados, você pode incluir especificações de filtragem de dados para restringir o acesso a determinados dados nos resultados da consulta e nos mecanismos integrados ao Lake Formation. O Lake Formation usa a filtragem de dados para obter segurança por coluna, segurança por linha e segurança por célula. Será possível definir e aplicar filtros de dados em colunas aninhadas se os dados de origem contiverem estruturas aninhadas.

Com os recursos de filtragem de dados do Lake Formation, você pode implementar os seguintes níveis de segurança de dados.

**Segurança por coluna**  
Conceder permissões em uma tabela do catálogo de dados com segurança em nível de coluna (filtragem de colunas) permite que os usuários visualizem somente colunas específicas e colunas aninhadas às quais eles têm acesso na tabela. Considere uma tabela do `persons` usada em vários aplicativos para uma grande empresa de comunicações multirregional. A concessão de permissões em tabelas do catálogo de dados com filtragem de colunas pode impedir que usuários que não trabalham no departamento de RH vejam informações de identificação pessoal (PII), como número de previdência social ou data de nascimento. Também é possível definir políticas de segurança e conceder acesso somente a subestruturas parciais de colunas aninhadas.

**Segurança por linha**  
A concessão de permissões em uma tabela do catálogo de dados com segurança por linha (filtragem de linha) permite que os usuários visualizem somente linhas específicas de dados às quais eles têm acesso na tabela. A filtragem é baseada nos valores de uma ou mais colunas. É possível incluir estruturas de colunas aninhadas ao definir expressões de filtro de linha. Por exemplo, se diferentes escritórios regionais da empresa de comunicações tiverem seus próprios departamentos de RH, você poderá limitar os registros pessoais que os funcionários de RH podem ver a apenas registros de funcionários em sua região.

**Segurança por célula**  
A segurança por célula combina filtragem de linhas e filtragem de colunas para um modelo de permissões altamente flexível. Se você exibir as linhas e colunas de uma tabela como uma grade, usando a segurança por célula, poderá restringir o acesso a elementos individuais (células) da grade em qualquer lugar nas duas dimensões. Ou seja, você pode restringir o acesso a diferentes colunas, dependendo da linha. Veja o diagrama a seguir, no qual as colunas restritas são sombreadas.

![\[Uma grade é mostrada com 5 linhas e 6 colunas. As linhas e colunas têm cabeçalhos como Col1, Col2, Row1, Row2 e assim por diante. As células da grade com as seguintes coordenadas estão sombreadas: R3,C1; R3,C2; R3,C3; R5,C1; R5;C2; R5,C5; R5,C6.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/cells-diagram.png)


Continuando com o exemplo da tabela de pessoas, você pode criar um *filtro de dados* no nível da célula que restringe o acesso à coluna de endereço da rua se a linha tiver a coluna do país definida como “Reino Unido”, mas permite o acesso à coluna do endereço da rua se a linha tiver a coluna do país definida como “EUA”.

Os filtros se aplicam somente a operações de leitura. Portanto, você pode conceder somente a permissão `SELECT` do Lake Formation com filtros.

**Segurança em nível de célula em colunas aninhadas**  
O Lake Formation permite definir e aplicar filtros de dados com segurança em nível de célula em colunas aninhadas. No entanto, os mecanismos analíticos integrados, como Amazon Athena, Amazon EMR e Amazon Redshift Spectrum, aceitam a execução de consultas em tabelas aninhadas gerenciadas pelo Lake Formation com segurança em nível de linha e coluna. 

Para conhecer as limitações, consulte [Limitações de filtragem de dados](data-filtering-notes.md).

**Topics**
+ [Filtros de dados no Lake Formation](#data-filters-about)
+ [Suporte PartiQL em expressões de filtro de linha](partiql-support.md)
+ [Permissões necessárias para consultar tabelas com filtragem em nível de célula](row-filtering-prereqs.md)
+ [Como gerenciar filtros de dados](managing-filters.md)

## Filtros de dados no Lake Formation
<a name="data-filters-about"></a>

É possível implementar segurança por coluna, por linha e por célula ao criar *filtros de dados*. Você seleciona um filtro de dados ao conceder permissão `SELECT` ao Lake Formation nas tabelas. Se a tabela contiver estruturas de colunas aninhadas, será possível definir um filtro de dados incluindo ou excluindo as colunas secundárias e definir expressões de filtro em nível de linha em atributos aninhados.



Cada filtro de dados pertence a uma tabela específica em seu catálogo de dados. Um filtro de dados inclui as seguintes informações:
+ Nome do filtro
+ O catálogo IDs da tabela associada ao filtro
+ Nome da tabela
+ Nome do banco de dados que contém a tabela
+ Especificação de coluna: uma lista de colunas e colunas aninhadas (com tipos de dados `struct`) a serem incluídas ou excluídas dos resultados da consulta. 
+ Expressão de filtro de linha — uma expressão que especifica as linhas a serem incluídas nos resultados da consulta. Com algumas restrições, a expressão tem a sintaxe de uma cláusula `WHERE` na linguagem PartiQL. Para especificar todas as linhas, selecione **Acesso a todas as linhas** em **Acesso em nível de linha** no console ou use `AllRowsWildcard` em chamadas de API.

  Para obter mais informações sobre o que é suportado em expressões de filtro de linha, consulte [Suporte PartiQL em expressões de filtro de linha](partiql-support.md).

O nível de filtragem obtido depende de como você preenche o filtro de dados.
+ Ao especificar o curinga “todas as colunas” e fornecer uma expressão de filtro de linha, você está estabelecendo apenas a segurança por linha (filtragem de linhas).
+ Ao incluir ou excluir colunas específicas e colunas aninhadas e especificar “todas as linhas” utilizando o curinga de todas as linhas, você está estabelecendo somente a segurança em nível de coluna (filtragem de colunas).
+ Quando você inclui ou exclui colunas específicas e também fornece uma expressão de filtro de linha, está estabelecendo a segurança por célula (filtragem de células).

A captura de tela a seguir do console do Lake Formation mostra um filtro de dados que realiza a filtragem em nível de célula. Para consultas na tabela `orders`, ela restringe o acesso à coluna `customer_name` e os resultados da consulta retornam somente as linhas em que a coluna `product_type` contém “pharma”.

![\[A janela do filtro de dados contém estes campos, organizados verticalmente: Nome do filtro de dados; Banco de dados de destino; Tabela de destino; Grupo de botões de opção com as opções Acesso a todas as colunas, Incluir colunas e Excluir colunas; Selecionar colunas (lista suspensa); Expressão do filtro de linha (caixa de texto de várias linhas). A opção Excluir colunas é selecionada, a coluna customer_name é selecionada para exclusão e o campo de expressão do filtro de linha contém 'product_type='pharma'.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/data-filter-sample-pharma.png)


Observe o uso de aspas simples para incluir o literal da string de caracteres, `'pharma'`. 

Você pode usar o console do Lake Formation para criar esse filtro de dados ou fornecer o seguinte objeto de solicitação para a operação `CreateDataCellsFilter` da API.

```
{
     "Name": "restrict-pharma",
     "DatabaseName": "sales",
     "TableName": "orders",
     "TableCatalogId": "111122223333",      
     "RowFilter": {"FilterExpression": "product_type='pharma'"},
     "ColumnWildcard": {
         "ExcludedColumnNames": ["customer_name"]
     }
}
```

É possível criar tantos filtros de dados quantos necessários para uma tabela. Para fazer isso, você precisa de permissão `SELECT` com a opção de concessão em uma tabela. Por padrão, os administradores do Data Lake têm permissão para criar *filtros de dados* em todas as tabelas dessa conta. Normalmente, você usa apenas um subconjunto dos filtros de dados possíveis ao conceder permissões na tabela a uma entidade principal. Por exemplo, você pode criar um segundo filtro de dados para a `orders` tabela que é um filtro row-security-only de dados. Referindo-se à captura de tela anterior, você pode escolher a opção **Acesso a todas as colunas** e incluir uma expressão de filtro de linha de `product_type<>pharma`. O nome desse filtro de dados pode ser `no-pharma`. Ele restringe o acesso a todas as linhas que têm a coluna `product_type` definida como “pharma”.

O objeto de solicitação para a operação `CreateDataCellsFilter` da API desse filtro de dados é o seguinte.

```
{
     "Name": "no-pharma",
     "DatabaseName": "sales",
     "TableName": "orders",
     "TableCatalogId": "111122223333",      
     "RowFilter": {"FilterExpression": "product_type<>'pharma'"},
     "ColumnNames": ["customer_id", "customer_name", "order_num"
          "product_id", "purchase_date", "product_type", 
          "product_manufacturer", "quantity", "price"]
}
```

Em seguida, você poderia conceder `SELECT` na tabela `orders` com o filtro de dados `restrict-pharma` a um usuário administrativo, e `SELECT` na tabela `orders` com o filtro de dados `no-pharma` a usuários não administrativos. Para usuários do setor de saúde, você concederia `SELECT` na tabela `orders` com acesso total a todas as linhas e colunas (sem filtro de dados), ou talvez com outro filtro de dados que restringe o acesso às informações de preços.

 É possível incluir ou excluir colunas aninhadas ao especificar a segurança em nível de coluna e em nível de linha em um filtro de dados. No exemplo a seguir, o acesso ao campo `product.offer` é especificado usando nomes de colunas qualificados (entre aspas duplas). Isso é importante para campos aninhados, a fim de evitar a ocorrência de erros quando os nomes das colunas contêm caracteres especiais e para manter a compatibilidade com versões anteriores das definições de segurança em nível de coluna de nível superior. 

```
{
     "Name": "example_dcf",
     "DatabaseName": "example_db",
     "TableName": "example_table",
     "TableCatalogId": "111122223333",      
     "RowFilter": { "FilterExpression": "customer.customerName <> 'John'" },
     "ColumnNames": ["customer", "\"product\".\"offer\""]
}
```

**Consulte também**  
[Como gerenciar filtros de dados](managing-filters.md)

# Suporte PartiQL em expressões de filtro de linha
<a name="partiql-support"></a>

Você pode estruturar expressões de filtro de linha usando um subconjunto de tipos de dados, operadores e agregações do PartiQL. O Lake Formation não permite nenhum perfil PartiQL padrão ou definida pelo usuário na expressão de filtro. Você pode usar operadores de comparação para comparar colunas com constantes (por exemplo, `views >= 10000`), mas não pode comparar colunas com outras colunas. 

 Uma expressão de filtro de linha pode ser uma expressão simples ou uma expressão composta. O tamanho total da expressão deve ter menos de 2048 caracteres. 

**Expressões simples**  
Uma expressão simples terá o formato: ` <column name > <comparison operator ><value >`
+ **Nome da coluna**

  Deve ser uma coluna de dados de nível superior, uma coluna de partição ou uma coluna aninhada presente no esquema da tabela e deve pertencer aos [Tipos de dados compatíveis](#row-filter-supported-datatypes) listados abaixo. 
+ **Operador de comparação**

   Os seguintes operadores são compatíveis: `=, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE, NOT, IS [NOT] NULL`
+  Todas as comparações de strings e correspondências de padrão `LIKE` diferenciam maiúsculas e minúsculas. Não é possível usar o operador IS [NOT] NULL em colunas de partição. 
+ **Valor da coluna**

   O valor da coluna deve corresponder ao tipo de dados do nome da coluna. 

**Expressão composta**  
Uma expressão composta terá o formato: `( <simple expression >) <AND/OR >(<simple expression >)`. Expressões compostas podem ser combinadas ainda mais usando operadores lógicos `AND/OR`. 

## Tipos de dados compatíveis
<a name="row-filter-supported-datatypes"></a>

Filtros de linha que se referem a uma AWS Glue Data Catalog tabela que contém tipos de dados incompatíveis resultarão em um erro. A seguir estão os tipos de dados compatíveis com colunas e constantes da tabela, que são mapeados para tipos de Amazon Redshift dados:
+ `STRING, CHAR, VARCHAR`
+ `INT, LONG, BIGINT, FLOAT, DECIMAL, DOUBLE`
+ `BOOLEAN`
+  `STRUCT` 

Para obter mais informações sobre tipos de dados no Amazon Redshift, consulte [Tipos de dados](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

## Expressões de filtro em linha
<a name="Row-Filter-Expressions"></a>

**Example**  
Veja a seguir exemplos de expressões de filtro de linha válidas para uma tabela com colunas: ` country (String), id (Long), year (partition column of type Integer), month (partition column of type Integer)`  
+ `year > 2010 and country != 'US'`
+ `(year > 2010 and country = 'US') or (month < 8 and id > 23)`
+ `(country between 'Z' and 'U') and (year = 2018)`
+ `(country like '%ited%') and (year > 2000)`

**Example**  
Veja a seguir exemplos de expressões de filtro de linha válidas para uma tabela com colunas aninhadas: `year > 2010 and customer.customerId <> 1 `   
 Os campos aninhados em colunas de partição não devem ser referenciados ao definir expressões aninhadas em nível de linha. 

As constantes de string devem estar entre aspas simples.

## Palavras-chave reservadas
<a name="partiql-reserved-keywords"></a>

Se sua expressão de filtro de linha contiver palavras-chave PartiQL, você receberá um erro de análise, pois os nomes das colunas podem entrar em conflito com as palavras-chave. Quando isso acontecer, substitua os nomes das colunas por aspas duplas. Alguns exemplos de palavras-chave reservadas são “primeiro”, “último”, “asc”, “ausente”. Consulte a especificação do PartiQL para obter uma lista de palavras-chave reservadas. 

## Referência do PartiQL
<a name="partiql-ref"></a>

Para obter mais informações sobre o PartiQL, consulte [https://partiql.org/](https://partiql.org/).

# Permissões necessárias para consultar tabelas com filtragem em nível de célula
<a name="row-filtering-prereqs"></a>

As permissões a seguir AWS Identity and Access Management (IAM) são necessárias para executar consultas em tabelas com filtragem em nível de célula.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lakeformation:StartQueryPlanning",
                "lakeformation:GetQueryState",
                "lakeformation:GetWorkUnits",
                "lakeformation:GetWorkUnitResults"
            ],
            "Resource": "*"
        }
    ]
}
```

------

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

# Como gerenciar filtros de dados
<a name="managing-filters"></a>

Para implementar a segurança por coluna, por linha e por célula, é possível criar e manter filtros de dados. Cada filtro de dados pertence a uma tabela do catálogo de dados. Você pode criar vários filtros de dados para uma tabela e, em seguida, usar um ou mais deles ao conceder permissões na tabela. Também é possível definir e aplicar filtros de dados em colunas aninhadas que têm tipos de dados `struct` que permitem aos usuários acessar somente subestruturas de colunas aninhadas.

Você precisa da permissão `SELECT` com a opção de concessão para criar ou visualizar um filtro de dados. Para permitir que as entidades principais da sua conta visualizem e usem um filtro de dados, você pode conceder a permissão `DESCRIBE` sobre ele.

**nota**  
O Lake Formation não dá suporte à concessão da permissão `Describe` em um filtro de dados, que é compartilhado de outra conta.

Você pode gerenciar filtros de dados usando o AWS Lake Formation console, a API ou o AWS Command Line Interface (AWS CLI).

Para obter informações sobre filtros de dados, consulte [Filtros de dados no Lake Formation](data-filtering.md#data-filters-about)

# Criar um filtro de dados
<a name="creating-data-filters"></a>

Você pode criar um ou mais filtros de dados para cada tabela do catálogo de dados.

**Para criar um filtro de dados para uma tabela do catálogo de dados (console)**

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

   Assine como administrador do data lake, proprietário da tabela de destino ou entidade principal que tenha uma permissão do Lake Formation na tabela de destino.

1. No painel de navegação, em **catálogo de dados**, escolha **Filtros de dados**.

1. Na página **Filtros de dados**, escolha **Criar novo filtro**.

1. Na caixa de diálogo **Criar filtro de dados**, insira as seguintes informações:
   + Nome do filtro de dados 
   + Banco de dados de destino – especifique o banco de dados que contém a tabela.
   + Tabela de destino 
   + Acesso em nível de coluna – deixe essa opção definida como **Acesso a todas as colunas** para especificar somente a filtragem de linhas. Escolha **Incluir colunas** ou **Excluir colunas** para especificar a filtragem de colunas ou células e, em seguida, especifique as colunas a serem incluídas ou excluídas.

     Colunas aninhadas: se você estiver aplicando o filtro em uma tabela que contenha colunas aninhadas, poderá especificar explicitamente as subestruturas das colunas da estrutura aninhada em um filtro de dados. 

     Ao conceder a permissão SELECT a uma entidade principal nesse arquivador, a entidade principal que executa a consulta a seguir verá apenas os dados de `customer.customerName` e não de `customer.customerId`.

     ```
     SELECT "customer" FROM "example_db"."example_table";
     ```  
![\[Column-level access settings with options to include specific columns and filter rows.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/nested-column-filter.png)

      Ao conceder permissões à coluna `customer`, a entidade principal recebe o acesso à coluna e aos campos aninhados abaixo da coluna (`customerName` e `customerID`). 
   + Expressão de filtro de linha – insira uma expressão de filtro para especificar a filtragem de linha ou célula. Para obter os tipos de dados e operadores compatíveis, consulte [Suporte PartiQL em expressões de filtro de linha](partiql-support.md). Selecione **Acesso a todas as linhas** para conceder acesso a todos.

     É possível incluir estruturas de coluna parciais de colunas aninhadas em uma expressão de filtro de linha para filtrar linhas que contenham valores específicos.

     Quando uma entidade principal recebe permissões para uma tabela com uma expressão `Select * from example_nestedtable where customer.customerName <>'John'` de filtro de linha e o acesso em **nível de coluna** é definido como **Acesso a todas as colunas**, os resultados da consulta mostram somente as linhas em que `customerName <>'John'` é avaliado como verdadeiro.

   A captura de tela a seguir mostra um filtro de dados que implementa a filtragem de células. Nas consultas com base na tabela `orders`, ela nega o acesso à coluna `customer_name` e mostra somente as linhas que têm “pharma” na coluna `product_type`.  
![\[A janela do filtro de dados contém estes campos, organizados verticalmente: Nome do filtro de dados; Banco de dados de destino; Tabela de destino; Grupo de botões de opção com as opções Acesso a todas as colunas, Incluir colunas e Excluir colunas; Selecionar colunas (lista suspensa); Expressão do filtro de linha (caixa de texto de várias linhas). A opção Excluir colunas é selecionada, a coluna customer_name é selecionada para exclusão e o campo de expressão do filtro de linha contém “product_type='pharma”.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/data-filter-sample-pharma.png)

1. Escolha **Criar filtro**.

**Como criar um filtro de dados com políticas de filtro de células em um campo aninhado**

 Esta seção usa o seguinte exemplo de esquema para mostrar como criar um filtro de células de dados: 

```
[
    { name: "customer", type: "struct<customerId:string,customerName:string>" },
    { name: "customerApplication", type: "struct<appId:string>" },
    { name: "product", type: "struct<offer:struct<prodId:string,listingId:string>,type:string>" },
    { name: "purchaseId", type: "string" },
]
```

1. Na página **Criar um filtro de dados**, insira um nome para o filtro de dados.

1.  Depois, use o menu suspenso para escolher o nome do banco de dados e o nome da tabela. 

1. Na seção **Acesso em nível de coluna**, selecione Colunas incluídas e uma coluna aninhada (`customer.customerName`).

1. Na seção **Acesso em nível de linha**, selecione a opção **Acesso a todas as linhas**.

1. Escolha **Criar filtro**.

   Ao conceder a permissão `SELECT` nesse filtro, a entidade principal obtém acesso a todas as linhas na coluna `customerName`.

1. Depois, defina outro filtro de dados para o mesmo banco de dados/tabela.

1. Na seção **Acesso em nível de coluna**, selecione Colunas incluídas e outra coluna aninhada (`customer.customerid`).

1. Na seção **Acesso em nível de linha**, escolha **Filtrar linhas** e insira uma **Expressão de filtro de linha** (`customer.customerid <> 5`).

1. Escolha **Criar filtro**.

   Ao conceder a permissão `SELECT` nesse filtro, a entidade principal recebe acesso a todas as linhas no `customerName` e aos campos `customerId`, exceto à célula em que o valor é 5 na coluna `customerId`.

# Conceder permissões de filtro de dados
<a name="granting-filter-perms"></a>

Você pode conceder as permissões `SELECT`, `DESCRIBE` e `DROP` do Lake Formation sobre filtros de dados às entidades principais.

No início, somente você pode visualizar os filtros de dados que você cria para uma tabela. Para permitir que outra entidade principal visualize um filtro de dados e conceda permissões do catálogo de dados com o filtro de dados, você deve:
+ Conceder `SELECT` uma tabela à entidade principal com a opção de concessão e aplique o filtro de dados à concessão.
+ Conceder a permissão `DESCRIBE` ou `DROP` no filtro de dados da entidade principal.

Você pode conceder a `SELECT` permissão a uma AWS conta externa. Um administrador do data lake nessa conta pode então conceder essa permissão a outras entidades principais da conta. Ao conceder a uma conta externa, você deve incluir a opção de concessão para que o administrador da conta externa possa transmitir ainda mais a permissão para outros usuários na his/her conta. Ao conceder a uma entidade principal em sua conta, a concessão com a opção de concessão é opcional.

Você pode conceder e revogar permissões em filtros de dados usando o AWS Lake Formation console, a API ou o AWS Command Line Interface (AWS CLI).

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

1. Faça login Console de gerenciamento da AWS e abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

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

1. Na página **Permissões**, na seção **Permissões de dados**, escolha **Conceder**.

1. Na página **Conceder permissões de dados**, escolha as entidades principais aos quais conceder as permissões. 

1. Na seção tags do LF ou recursos do catálogo, escolha **Recursos do catálogo de dados nomeados**. Em seguida, escolha o banco de dados, a tabela e o filtro de dados para os quais você deseja conceder permissões.  
![\[\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-data-filter-perms-step2.png)

1. Na seção **Permissões do filtro de dados**, escolha as permissões que você deseja conceder às entidades principais selecionadas.  
![\[\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-perms-on-filters.png)

------
#### [ AWS CLI ]
+ Insira um comando `grant-permissions`. Especifique `DataCellsFilter` para o argumento `resource` e especifique `DESCRIBE` ou `DROP` para o argumento `Permissions` e, opcionalmente, para o argumento `PermissionsWithGrantOption`.

  O exemplo a seguir concede a `DESCRIBE` a opção de concessão ao usuário `datalake_user1` no filtro de dados `restrict-pharma`, que pertence à tabela `orders` no banco de dados `sales` na conta AWS 1111-2222-3333.

  ```
  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": ["DESCRIBE"],
      "PermissionsWithGrantOption": ["DESCRIBE"]
  }
  ```

------

# Conceder permissões de dados fornecidas por filtros de dados
<a name="granting-data-perms-for-filters"></a>

Os filtros de dados representam um subconjunto de dados em uma tabela. Para fornecer acesso aos dados às entidades principais, as permissões `SELECT` precisam ser concedidas a essas entidades principais. Com essa permissão, as entidades principais podem:
+ Veja o nome real da tabela na lista de tabelas compartilhadas com suas contas.
+ Crie filtros de dados na tabela compartilhada e conceda permissões a seus usuários nesses filtros de dados.

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

**Para conceder permissões SELECIONAR**

1. Acesse a página **Permissões** no console do Lake Formation e escolha **Conceder**.  
![\[\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/permissions-grant-action.png)

1. Selecione as entidades principais às quais você deseja fornecer acesso e selecione **Recursos do catálogo de dados nomeados**.  
![\[\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-data-filter-perms-step2.png)

1. Para fornecer acesso aos dados que o filtro representa, escolha **Selecionar** em **Permissões do filtro de dados**.  
![\[\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/grant-data-filter-perms-step3.png)

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

Insira um comando `grant-permissions`. Especifique `DataCellsFilter` para o argumento do recurso e especifique `SELECT` para o argumento Permissões. 

O exemplo a seguir `SELECT` concede a opção de concessão ao usuário `datalake_user1` no filtro de dados`restrict-pharma`, que pertence à `orders` tabela no `sales` banco de dados em Conta da AWS `1111-2222-3333`. 

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

------

# Visualizando filtros de dados
<a name="view-data-filters"></a>

Você pode usar o console do Lake Formation ou AWS CLI a API do Lake Formation para visualizar os filtros de dados. 

Para visualizar os filtros de dados, você deve ser administrador do data lake ou ter as permissões necessárias nos filtros de dados.

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

1. Faça login Console de gerenciamento da AWS e abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação, em **catálogo de dados**, escolha **Filtros de dados**.

   A página exibe os filtros de dados aos quais você tem acesso.  
![\[A página Filtros de dados exibe os filtros de dados disponíveis com as seguintes colunas: Nome do filtro, Tabela, Banco de dados e ID do catálogo da tabelas. A captura de tela mostra um único filtro de dados com os seguintes valores: test-df, cloudtrailtest_cloudtrail, lakeformation_cloudtrail, ID da conta redigida. Acima da tabela, há quatro botões (da esquerda para a direita): Atualizar/Recarregar, Exibir (esmaecido), Excluir (esmaecido) e “Criar novo filtro”. Há também um campo de pesquisa, que está vazio.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/list-data-filters.jpg)

1. Para visualizar os detalhes do filtro de dados, escolha o filtro de dados e, em seguida, escolha Exibir. Uma nova janela aparece com as informações detalhadas do filtro de dados.  
![\[A janela “Exibir filtro de dados” mostra informações adicionais sobre o filtro de dados selecionado. As informações exibidas incluem o nome, banco de dados, tabela, configuração de acesso em nível de coluna, expressão de filtro de linha e as colunas.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/list-data-filters-details.jpg)

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

Insira um comando `list-data-cells-filter` e especifique um recurso de tabela.

O exemplo a seguir lista os filtros de dados para a tabela `cloudtrailtest_cloudtrail`.

```
aws lakeformation list-data-cells-filter --table '{ "CatalogId":"123456789012", 
"DatabaseName":"lakeformation_cloudtrail", "Name":"cloudtrailtest_cloudtrail"}'
```

------
#### [ API/SDK ]

Use a API `ListDataCellsFilter` e especifique um recurso de tabela.

O exemplo a seguir usa Python para listar os 20 primeiros filtros de dados da tabela `myTable`.

```
response = client.list_data_cells_filter(
    Table = {
        'CatalogId': '111122223333',
        'DatabaseName': 'mydb',
        'Name': 'myTable'
    },
    MaxResults=20
)
```

------

# Listando permissões de filtro de dados
<a name="listing-filter-perms"></a>

Você pode usar o console do Lake Formation para visualizar as permissões concedidas nos filtros de dados. 

Para ver as permissões em um filtro de dados, você deve ser administrador do data lake ou ter as permissões necessárias no filtro de dados.

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

1. Faça login Console de gerenciamento da AWS e abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação, em **Permissões**, escolha **Permissões de dados**.

1. Na página **Permissões de dados**, clique ou toque no campo de pesquisa e, no menu **Propriedades**, escolha **Tipo de recurso**.

1. No menu **Tipo de recurso**, escolha **Tipo de recurso: filtro de células de dados**.

   Os filtros de dados nos quais você tem permissões estão listados. Talvez seja necessário rolar horizontalmente para ver as colunas de **Permissões** e de **Concessão**.  
![\[A página Permissões de dados exibe uma tabela de permissões com as seguintes colunas: Entidade principal, Tipo de recurso, Banco de dados, Tabela, Recurso, Catálogo e Permissões. A coluna Tipo de recurso mostra “Filtro de células de dados” em todas as quatro linhas. As permissões para a primeira e a segunda linhas são Descrever, Soltar e Selecionar. As permissões para a terceira linha são Descrever. Acima da tabela, há um botão Limpar filtro e um quadro indicando que a pesquisa atual é por Tipo de recurso: Filtro de células de dados. Acima deles está um campo de pesquisa (texto) e, acima disso, estão os botões Atualizar, Revogar e Conceder.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/data-permissions-cell-filters.png)

------
#### [ AWS CLI ]
+ Insira um comando `list-permissions`. Especifique `DataCellsFilter` para o argumento `resource` e especifique `DESCRIBE` ou `DROP` para o argumento `Permissions` e, opcionalmente, para o argumento `PermissionsWithGrantOption`.

  O exemplo a seguir lista as permissões `DESCRIBE` com a opção de concessão no filtro de dados `restrict-pharma`. Os resultados são limitados às permissões concedidas para o diretor `datalake_user1` e a `orders` tabela no `sales` banco de dados na AWS conta 1111-2222-3333.

  ```
  aws lakeformation list-permissions --cli-input-json file://list-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": ["DESCRIBE"],
      "PermissionsWithGrantOption": ["DESCRIBE"]
  }
  ```

------

# Visualizar permissões de banco de dados e tabelas no Lake Formation
<a name="viewing-permissions"></a>

Você pode visualizar as permissões do Lake Formation concedidas em um banco de dados ou uma tabela do catálogo de dados. Você pode fazer isso usando o console do Lake Formation, a API ou o AWS Command Line Interface (AWS CLI).

Ao usar o console, você pode visualizar as permissões nas páginas **Bancos de dados**, **Tabelas** ou **Permissões de dados**.

**nota**  
Se você não for administrador de banco de dados ou proprietário de recursos, poderá ver as permissões que outras entidades principais têm sobre o recurso somente se tiver uma permissão do Lake Formation sobre o recurso com a opção de concessão.  
Além das permissões necessárias do Lake Formation, você precisa das permissões AWS Identity and Access Management (IAM) `glue:GetDatabases` `glue:GetDatabase``glue:GetTables`,`glue:GetTable`,, `lakeformation:ListPermissions` e.

**Para visualizar as permissões em um banco de dados (console, a partir da página Bancos 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 administrador do data lake, criador do banco de dados ou como usuário que tenha qualquer permissão do Lake Formation no banco de dados com a opção de concessão.

1. No painel de navegação, escolha **Bancos de dados**.

1. Escolha um banco de dados e, no menu **Ações**, escolha **Exibir permissões**.
**nota**  
Se você escolher um link de recurso de banco de dados, o Lake Formation exibirá as permissões no link do recurso, não no banco de dados de destino do link do recurso.

   A página **Permissões de dados** lista todas as permissões do Lake Formation para o banco de dados. O nome do banco de dados e o ID do catálogo (ID da AWS conta) do proprietário do banco de dados aparecem como rótulos na caixa de pesquisa. Os mosaicos indicam que um filtro foi aplicado para listar permissões somente para esse banco de dados. Você pode ajustar o filtro fechando um quadro ou escolhendo **Limpar filtro**.  
![\[A página de permissões de dados exibe uma caixa de pesquisa na parte superior, com dois blocos abaixo. Os blocos são rotulados como Banco de dados: logs e ID do catálogo:111122223333. Ao lado dos blocos, há um botão Limpar filtro. Abaixo está a lista de bancos de dados e as permissões deles. Este exemplo tem somente uma linha na lista. É para o banco de dados de logs, e as permissões Alterar, Criar tabela e Excluir são concedidas ao administrador do usuário do IAM com a opção de concessão. A lista inclui uma coluna de ID da conta do proprietário, e a única linha tem 11112222333 nessa coluna.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/permissions-page-database.png)

**Para visualizar as permissões em um banco de dados (console, a partir da página Permissões 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 administrador do data lake, criador do banco de dados ou como usuário que tenha qualquer permissão do Lake Formation no banco de dados com a opção de concessão.

1. No painel de navegação, selecione **Permissões de dados**.

1. Posicione o cursor na caixa de pesquisa na parte superior da página e, no menu **Propriedades** exibido, escolha **Banco de dados**.

1. No menu de **bancos de dados** exibido, escolha um banco de dados.
**nota**  
Se você escolher um link de recurso de banco de dados, o Lake Formation exibirá as permissões no link do recurso, não no banco de dados de destino do link do recurso.

   A página **Permissões de dados** lista todas as permissões do Lake Formation para o banco de dados. O nome do banco de dados aparece como um quadro abaixo da caixa de pesquisa. Os blocos indicam que um filtro foi aplicado para listar permissões somente para esse banco de dados. Você pode remover o filtro fechando o quadro ou escolhendo **Limpar filtro**.

**Para visualizar as permissões em uma tabela (console, a partir da página Tabelas)**

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 tabela ou como usuário que tenha qualquer permissão do Lake Formation na tabela com a opção de concessão.

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

1. Escolha uma tabela e, no menu **Ações**, selecione **Exibir permissões**.
**nota**  
Se você escolher um link de recurso de tabela, o Lake Formation exibirá as permissões no link do recurso, não na tabela de destino do link do recurso.

   A página **Permissões de dados** lista todas as permissões do Lake Formation para a tabela. O nome da tabela, o nome do banco de dados que contém a tabela e a ID do catálogo (ID da AWS conta) do proprietário da tabela aparecem como rótulos na caixa de pesquisa. As etiquetas indicam que um filtro foi aplicado para listar permissões apenas para essa tabela. Você pode ajustar o filtro fechando uma etiqueta ou escolhendo **Limpar filtro**.  
![\[A página de permissões de dados exibe uma caixa de pesquisa na parte superior, com três blocos abaixo. Os blocos são rotulados como Database:logs, Table:alexa-logs e Catalog ID:111122223333, indo da esquerda para a direita. Ao lado dos blocos, há um botão Limpar filtro. Abaixo está a lista de tabelas e suas permissões. Este exemplo tem somente uma linha na lista. É para a tabela alexa-logs, e as permissões Super são concedidas ao Administrador do usuário do IAM com a opção de concessão. A lista inclui uma coluna de ID da conta do proprietário, e a única linha tem 11112222333 nessa coluna.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/permissions-page-table.png)

**Para visualizar as permissões em uma tabela (console, a partir da página Permissões 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 administrador do data lake, criador do banco de dados ou como usuário que tenha qualquer permissão do Lake Formation no banco de dados com a opção de concessão.

1. No painel de navegação, selecione **Permissões de dados**.

1. Posicione o cursor na caixa de pesquisa na parte superior da página e, no menu **Propriedades** exibido, escolha **Banco de dados**.

1. No menu de **Bancos de dados** exibido, escolha um banco de dados.
**Importante**  
Se você quiser ver as permissões em uma tabela que foi compartilhada com sua AWS conta a partir de uma conta externa, você deve escolher o banco de dados na conta externa que contém a tabela, não um link de recurso para o banco de dados.

   A página **Permissões de dados** lista todas as permissões do Lake Formation para o banco de dados.

1. Posicione o cursor na caixa de pesquisa na parte superior da página e, no menu **Propriedades** exibido, escolha **Tabelas**.

1. No menu **Tabelas** exibido, escolha uma tabela.

   A página **Permissões de dados** lista todas as permissões do Lake Formation para o banco de dados. O nome da tabela e o nome do banco de dados que contém a tabela aparecem como blocos sob a caixa de pesquisa. Os mosaicos indicam que um filtro foi aplicado para listar permissões somente para essa tabela. Você pode ajustar o filtro fechando um quadro ou escolhendo **Limpar filtro**.

**Para ver as permissões em uma tabela (AWS CLI)**
+ Insira um comando `list-permissions`.

  O exemplo a seguir lista as permissões em uma tabela compartilhada de uma conta externa. A `CatalogId` propriedade é o ID da AWS conta externa, e o nome do banco de dados se refere ao banco de dados na conta externa que contém a tabela.

  ```
  aws lakeformation list-permissions  --resource-type TABLE --resource '{ "Table": {"DatabaseName":"logs", "Name":"alexa-logs", "CatalogId":"123456789012"}}'
  ```

# Revogando a permissão usando o console Lake Formation
<a name="revoking-permssions-console-all"></a>

Você pode usar o console para revogar todos os tipos de permissões do Lake Formation – permissões de catálogo de dados, permissões de etiquetas de políticas, permissões de filtro de dados e permissões de localização.

**Para revogar as permissões do Lake Formation em 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 ou como usuário que recebeu permissões com a opção de concessão no recurso.

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

1. Selecione a permissão ou o local e, em seguida, escolha **Revogar**.

1. Na caixa de diálogo exibida, escolha **Revogar**.

# Compartilhamento de dados entre contas no Lake Formation
<a name="cross-account-permissions"></a>

Os recursos de várias contas do Lake Formation permitem que os usuários compartilhem com segurança lagos de dados distribuídos em várias AWS organizações ou diretamente com os diretores do IAM em outra conta Contas da AWS, fornecendo acesso refinado aos metadados do Catálogo de Dados e aos dados subjacentes. As grandes empresas geralmente usam várias Contas da AWS, e muitas dessas contas podem precisar acessar um data lake gerenciado por uma única Conta da AWS. Os usuários e as tarefas de AWS Glue extração, transformação e carregamento (ETL) podem consultar e unir tabelas em várias contas e ainda aproveitar as proteções de dados em nível de tabela e coluna do Lake Formation.

Quando você concede permissões do Lake Formation em um recurso do Catálogo de Dados para uma conta externa ou diretamente para um diretor do IAM em outra conta, o Lake Formation usa o serviço AWS Resource Access Manager (AWS RAM) para compartilhar o recurso. Se a conta do concedido estiver na mesma organização da conta do concedente, o recurso compartilhado estará disponível imediatamente para o concedido. Se a conta do beneficiário não estiver na mesma organização, AWS RAM envia um convite à conta do beneficiário para aceitar ou rejeitar a concessão do recurso. Em seguida, para disponibilizar o recurso compartilhado, o administrador do data lake na conta do beneficiário deve usar o AWS RAM console ou AWS CLI aceitar o convite. 

 O Lake Formation permite o compartilhamento de recursos do catálogo de dados com contas externas no modo de acesso híbrido. O modo de acesso híbrido oferece a flexibilidade de habilitar seletivamente as permissões do Lake Formation para bancos de dados e tabelas no seu AWS Glue Data Catalog.  Com o modo de acesso híbrido, agora você tem um caminho incremental que permite definir permissões do Lake Formation para um conjunto específico de usuários sem interromper as políticas de permissão de outros usuários ou workloads existentes.

Para obter mais informações, consulte [Modo de acesso híbrido](hybrid-access-mode.md). 

**Compartilhamento direto entre contas**  
As entidades principais autorizadas podem compartilhar recursos explicitamente com uma entidade principal do IAM em uma conta externa. Esse atributo é útil quando o proprietário da conta deseja ter controle sobre quem na conta externa pode acessar os recursos. As permissões que a entidade principal do IAM receberá serão uma união de concessões diretas e concessões em nível de conta que serão transferidas em cascata para as entidades principais. Somente o destinatário da permissão pode visualizar as concessões diretas entre contas. A entidade principal que recebe o compartilhamento de recursos não pode compartilhar o recurso com outras entidades principais.

**Métodos para compartilhar recursos do catálogo de dados**  
Com uma única operação de concessão do Lake Formation, você pode conceder permissões entre contas nos seguintes recursos do catálogo de dados. 
+ Um banco de dados
+ Uma tabela individual (com filtragem de coluna opcional)
+ Algumas tabelas selecionadas
+ Todas as tabelas em um banco de dados (usando o curinga Todas as Tabelas)

Há duas opções para compartilhar seus bancos de dados e tabelas com outra conta Conta da AWS ou com diretores do IAM em outra conta.
+ Controle de acesso baseado em tags do Lake Formation (LF-TBAC) (recomendado)

  O controle de acesso baseado em tags do Lake Formation é uma estratégia de autorização que define permissões com base em atributos. Você pode usar o controle de acesso baseado em tags para compartilhar recursos do Catálogo de Dados (bancos de dados, tabelas e colunas) com diretores externos do IAM, Contas da AWS Organizations e unidades organizacionais (OUs). No Lake Formation, esses atributos são chamados de tags do LF. Para obter mais informações, consulte [Gerenciamento de um data lake usando o controle de acesso baseado em tags do Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-dl-tutorial.html).
**nota**  
O método LF-TBAC de conceder permissões de uso do Catálogo de Dados para concessões entre contas. AWS Resource Access Manager   
O Lake Formation agora oferece suporte à concessão de permissões entre contas para organizações e unidades organizacionais usando o método LF-TBAC.  
Para habilitar esse recurso, você precisa atualizar as **Configurações de versão entre contas** para a **Versão 3** ou posterior.  
Para obter mais informações, consulte [Como atualizar as configurações da versão de compartilhamento de dados entre contas](optimize-ram.md).
+ Recursos nomeados do Lake Formation

  O compartilhamento de dados entre contas do Lake Formation usando o método de recurso nomeado permite que você conceda permissões do Lake Formation com uma opção de concessão em tabelas e bancos de dados do Catálogo de Dados para entidades externas Contas da AWS, diretores do IAM, organizações ou unidades organizacionais. A operação de concessão compartilha automaticamente esses recursos.

**nota**  
Você também pode permitir que o AWS Glue rastreador acesse um armazenamento de dados em uma conta diferente usando as credenciais do Lake Formation. Para obter mais informações, consulte [Rastreamento entre contas no AWS Glue Guia do desenvolvedor](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html#cross-account-crawling).

Serviços integrados, como o Athena e o Amazon Redshift Spectrum, exigem links de recursos para poder incluir recursos compartilhados nas consultas. Para obter mais informações sobre os links de recursos, consulte [Como os links de recursos funcionam no Lake Formation](resource-links-about.md).

Para conhecer as limitações e as considerações, consulte [Práticas recomendadas e considerações sobre compartilhamento de dados entre contas](cross-account-notes.md).

**Topics**
+ [Pré-requisitos](cross-account-prereqs.md)
+ [Como atualizar as configurações da versão de compartilhamento de dados entre contas](optimize-ram.md)
+ [Compartilhamento de tabelas e bancos de dados do catálogo de dados entre Contas da AWS ou diretores do IAM de contas externas](cross-account-data-share-steps.md)
+ [Conceder permissões em um banco de dados ou tabela compartilhada com sua conta](regranting-shared-resources.md)
+ [Como conceder permissões de links de recursos](granting-link-permissions.md)
+ [Como acessar os dados subjacentes de uma tabela compartilhada](cross-account-read-data.md)
+ [Registro em várias contas CloudTrail](cross-account-logging.md)
+ [Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation](hybrid-cross-account.md)
+ [Visualizando todas as concessões entre contas usando a operação de GetResourceShares API](cross-account-getresourcepolicies.md)

**Tópicos relacionados**  
[Visão geral das permissões do Lake Formation](lf-permissions-overview.md)
[Acessar e visualizar tabelas e bancos de dados compartilhados do catálogo de dados](viewing-shared-resources.md)
[Criação de links de recursos](creating-resource-links.md)
[Resolução de problemas de acesso entre contas](troubleshooting.md#trouble-cross-account)

# Pré-requisitos
<a name="cross-account-prereqs"></a>

Antes que sua AWS conta possa compartilhar recursos do Catálogo de Dados (catálogos, bancos de dados e tabelas) com outra conta ou diretores em outra conta, e antes que você possa acessar os recursos compartilhados com sua conta, os seguintes pré-requisitos devem ser atendidos.

**Requisitos gerais de compartilhamento de dados entre contas**
+ Para compartilhar bancos de dados e tabelas do Data Catalog no modo de acesso híbrido e compartilhar objetos nos catálogos federados, você precisa atualizar as **Configurações de versão entre contas** para a **Versão 4**.
+ Antes de conceder permissões entre contas em um recurso do catálogo de dados, você deve revogar todas as permissões do Lake Formation do grupo `IAMAllowedPrincipals` para o recurso. Se a entidade principal solicitante tiver permissões entre contas para acessar um recurso, e a permissão `IAMAllowedPrincipals` existir no recurso, Lake Formation exibirá `AccessDeniedException`. 

  Esse requisito é válido somente quando você registra a localização dos dados subjacentes no modo Lake Formation. Se você registrar a localização dos dados no modo híbrido, as permissões do grupo `IAMAllowedPrincipals` poderão existir no banco de dados ou na tabela compartilhada. 
+  Nos bancos de dados que contêm tabelas que você cogita compartilhar, é necessário evitar que novas tabelas tenham uma concessão padrão de `Super` para `IAMAllowedPrincipals`. No console do Lake Formation, edite o banco de dados e desative **Usar somente o controle de acesso do IAM para novas tabelas nesse banco de dados** ou insira o AWS CLI comando a seguir, `database` substituindo-o pelo nome do banco de dados. Se a localização dos dados subjacentes estiver registrada no modo de acesso híbrido, você não precisará alterar essa configuração padrão. No modo de acesso híbrido, o Lake Formation permite que você aplique seletivamente as permissões do Lake Formation e as políticas de permissões do IAM para o Amazon S3 AWS Glue e no mesmo recurso.

  ```
  aws glue update-database --name database --database-input '{"Name":"database","CreateTableDefaultPermissions":[]}'
  ```
+ Para conceder permissões entre contas, o concedente deve ter as permissões necessárias AWS Identity and Access Management (IAM) sobre AWS Glue o serviço. AWS RAM A política AWS gerenciada `AWSLakeFormationCrossAccountManager` concede as permissões necessárias.

  Os administradores de data lake em contas que recebem compartilhamentos de recursos usando AWS RAM devem ter a seguinte política adicional. Ele permite que o administrador aceite convites AWS RAM de compartilhamento de recursos. Permitir também que o administrador habilite o compartilhamento de recursos com organizações.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ram:AcceptResourceShareInvitation",
                  "ram:RejectResourceShareInvitation",
                  "ec2:DescribeAvailabilityZones",
                  "ram:EnableSharingWithAwsOrganization"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
+ Se você quiser compartilhar recursos do Catálogo de Dados com AWS Organizations ou com unidades organizacionais, o compartilhamento com organizações deve estar ativado em AWS RAM.

  Para obter informações sobre como habilitar o compartilhamento com organizações, consulte [Habilitar o compartilhamento com AWS organizações](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs) no *Guia AWS RAM do usuário*.

  Você deve ter a permissão `ram:EnableSharingWithAwsOrganization` para habilitar o compartilhamento com organizações.
+ Para compartilhar recursos diretamente com uma entidade principal do IAM em outra conta, você precisa atualizar as **Configurações Versão Entre Contas** para a **Versão 3**. Essa configuração está disponível na página de **Configurações do catálogo de dados**. Se você estiver usando a **Versão 1**, consulte as instruções para atualizar a configuração[Como atualizar as configurações da versão de compartilhamento de dados entre contas](optimize-ram.md).
+ Você não pode compartilhar recursos do Catálogo de Dados criptografados com a chave gerenciada do AWS Glue serviço com outra conta. Você pode compartilhar somente recursos do catálogo de dados criptografados com a chave de criptografia do cliente, e a conta que recebe o compartilhamento de recursos deve ter permissões na chave de criptografia do catálogo de dados para descriptografar os objetos.

**Compartilhamento de dados entre contas usando os requisitos do LF-TBAC**
+  Para compartilhar recursos do Catálogo de Dados com AWS Organizations unidades organizacionais (OUs), você precisa atualizar as **configurações da versão Cross Account** para a **versão 3** ou superior. 
+ Para compartilhar os recursos do catálogo de dados com a versão 3 das **Configurações de versão entre contas**, o concedente precisa ter as permissões de IAM definidas na política `AWSLakeFormationCrossAccountManager` gerenciada por AWS em sua conta.
+ Se você estiver usando a versão 1 ou a versão 2 das **Configurações de versão entre contas**, deverá ter uma política de recursos do catálogo de dados (`glue:PutResourcePolicy`) que habilite o LF-TBAC. Para obter mais informações, consulte [Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation](hybrid-cross-account.md).
+ Se você estiver usando atualmente uma política de recursos do catálogo de dados AWS Glue para compartilhar recursos e quiser conceder permissões entre contas usando a versão 3 das **Configurações de versão entre contas**, deverá adicionar a permissão `glue:ShareResource` nas Configurações do catálogo de dados usando a operação de API `glue:PutResourcePolicy`, conforme mostrado na seção [Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation](hybrid-cross-account.md). Essa política não é necessária se sua conta não fez concessões entre contas usando a política de recursos do catálogo de dados AWS Glue (permissão de uso `glue:PutResourcePolicy` da versão 1 e versão 2) para conceder acesso entre contas. 

  ```
  {
        "Effect": "Allow",
        "Action": [
          "glue:ShareResource"
        ],
        "Principal": {"Service": [
          "ram.amazonaws.com"
        ]},
        "Resource": [
          "arn:aws:glue:<region>:<account-id>:table/*/*",
          "arn:aws:glue:<region>:<account-id>:database/*",
          "arn:aws:glue:<region>:<account-id>:catalog"
        ]
      }
  ```
+ Se sua conta fez compartilhamentos entre contas usando a política de recursos do AWS Glue Data Catalog e você está usando o método de recurso nomeado ou LF-TBAC com a versão 3 das **Configurações entre contas** para compartilhar recursos, que usam AWS RAM para compartilhar recursos, você deve definir o argumento `EnableHybrid` como `'true'` quando invocar a operação de API `glue:PutResourcePolicy`. Para obter mais informações, consulte [Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation](hybrid-cross-account.md).

**Configuração necessária em cada conta que acessa o recurso compartilhado**
+ Se você estiver compartilhando recursos com Contas da AWS, pelo menos um usuário na conta do consumidor deve ser administrador do data lake para visualizar os recursos compartilhados. Para obter informações sobre como criar um administrador de data lake, consulte [Crie um administrador de data lake](initial-lf-config.md#create-data-lake-admin).

  O administrador do data lake pode conceder permissões do Lake Formation sobre os recursos compartilhados com outras entidades principais da conta. Outras entidades principais não podem acessar recursos compartilhados até que o administrador do data lake conceda permissões sobre os recursos.
+ Serviços integrados, como o Athena e o Redshift Spectrum, exigem links de recursos para poder incluir recursos compartilhados nas consultas. Entidades principais precisam criar um link de recurso em seu catálogo de dados para um recurso compartilhado de outra Conta da AWS. Para obter mais informações sobre os links de recursos, consulte [Como os links de recursos funcionam no Lake Formation](resource-links-about.md).
+ Quando um recurso é compartilhado diretamente com uma entidade principal do IAM, para consultar a tabela usando o Athena, a entidade principal precisa criar um link de recurso. Para criar um link de recurso, a entidade principal precisa da permissão `CREATE_TABLE` ou `CREATE_DATABASE` do Lake Formation, e da permissão `glue:CreateTable` ou `glue:CreateDatabase` do IAM.

  Se a conta do produtor compartilhar uma tabela diferente no mesmo banco de dados com o mesmo ou outra entidade principal, esse principal poderá consultar imediatamente a tabela.

**nota**  
Para o administrador do data lake e para as entidades principais às quais o administrador do data lake concedeu permissões, os recursos compartilhados aparecem no catálogo de dados como se fossem recursos locais (de propriedade). Tarefas de extração, transformação e carregamento (ETL) podem acessar os dados subjacentes dos recursos compartilhados.  
Para recursos compartilhados, as páginas **Tabelas** e **bancos** de dados no console do Lake Formation exibem o ID da conta do proprietário.  
Quando os dados subjacentes de um recurso compartilhado são acessados, os eventos de CloudTrail registro são gerados na conta do destinatário do recurso compartilhado e na conta do proprietário do recurso. Os CloudTrail eventos podem conter o ARN do principal que acessou os dados, mas somente se a conta do destinatário optar por incluir o ARN principal nos registros. Para obter mais informações, consulte [Registro em várias contas CloudTrail](cross-account-logging.md).

# Como atualizar as configurações da versão de compartilhamento de dados entre contas
<a name="optimize-ram"></a>

 De tempos em tempos, AWS Lake Formation atualiza as configurações de compartilhamento de dados entre contas para distinguir as alterações feitas no AWS RAM uso e para oferecer suporte às atualizações feitas no recurso de compartilhamento de dados entre contas. Quando o Lake Formation faz isso, ele cria uma nova versão das **Configurações de versão entre contas**. 

## Principais diferenças entre as versões de Configurações Entre Contas
<a name="cross-account-version-diff"></a>

Para obter mais informações sobre como o compartilhamento de dados entre contas funciona em diferentes versões de **Configurações de versão entre contas**, consulte as seções a seguir.

**nota**  
Para compartilhar dados com outra conta, o concedente deve ter permissões de política do IAM gerenciadas por `AWSLakeFormationCrossAccountManager`. Isso é um pré-requisito para todas as versões.  
A atualização da versão das **Configurações de versão entre contas** não afeta as permissões que o destinatário tem nos recursos compartilhados. Isso é aplicável ao atualizar da versão 1 para a versão 2, da versão 2 para a versão 3 e da versão 1 para a versão 3. Veja as considerações listadas abaixo ao atualizar as versões. 

**Versão 1**  
*Método de recurso nomeado:* mapeia cada concessão de permissão entre contas do Lake Formation para um compartilhamento AWS RAM de recursos. O usuário (no perfil de concedente ou entidade principal) não precisa de permissões adicionais.  
*Método LF-TBAC: as permissões entre contas* do Lake Formation não AWS RAM são usadas para compartilhar dados. O usuário deve ter a permissão `glue:PutResourcePolicy`.  
*Benefícios da atualização de versões: *Versão inicial — não aplicável.  
*Considerações ao atualizar versões: *Versão inicial — não aplicável.

**Versão 2**  
*Método de recurso nomeado:* otimiza o número de compartilhamentos de AWS RAM recursos mapeando várias concessões de permissão entre contas com um compartilhamento de AWS RAM recursos. Usuários não precisam de permissões adicionais.  
*Método LF-TBAC: as permissões entre contas* do Lake Formation não AWS RAM são usadas para compartilhar dados. O usuário deve ter a permissão `glue:PutResourcePolicy`.  
*Benefícios da atualização de versões:* configuração escalável entre contas por meio da utilização ideal da capacidade. AWS RAM   
*Considerações ao atualizar versões:* os usuários que desejam conceder permissões entre contas do Lake Formation devem ter as permissões na política `AWSLakeFormationCrossAccountManager` AWS gerenciada. Caso contrário, você precisará ter permissões `ram:AssociateResourceShare` e `ram:DisassociateResourceShare` para compartilhar recursos com sucesso com outra conta.

**Versão 3**  
*Método de recurso nomeado:* otimiza o número de compartilhamentos de AWS RAM recursos mapeando várias concessões de permissão entre contas com um compartilhamento de AWS RAM recursos. Usuários não precisam de permissões adicionais.  
*Método LF-TBAC: o Lake Formation* usa AWS RAM para doações entre contas. O usuário deve adicionar cola: ShareResource declaração à `glue:PutResourcePolicy` permissão. O destinatário deve aceitar convites de compartilhamento de recursos de. AWS RAM  
*Benefícios da atualização de versões: *Suporta os seguintes recursos:  
+ Permite compartilhar recursos explicitamente com uma entidade principal do IAM em uma conta externa.

  Para obter mais informações, consulte [Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md).
+ Permite compartilhamentos entre contas usando o método LF-TBAC para organizações ou unidades organizacionais (). OUs
+ Elimina a sobrecarga de manter AWS Glue políticas adicionais para subsídios entre contas.
*Considerações ao atualizar as versões:* quando você usa o método LF-TBAC para compartilhar recursos, se o concedente usar uma versão inferior à versão 3 e o destinatário estiver usando a versão 3 ou posterior, o concedente receberá a seguinte mensagem de erro: “Invalid cross account grant request. Consumer account has opt-in to cross account version: v3. `CrossAccountVersion`Atualize `DataLakeSetting` para a versão mínima v3 (Serviço: AmazonDataCatalog; Código de status: 400; Código de erro: InvalidInputException)”. No entanto, se o concedente usar a versão 3 e o destinatário estiver usando a versão 1 ou a versão 2, as concessões entre contas usando tags do LF serão aprovadas com êxito.  
As concessões entre contas feitas por meio do método de recurso nomeado são compatíveis entre diferentes versões. Mesmo que a conta do concedente esteja usando uma versão mais antiga (versão 1 ou 2) e a conta do destinatário esteja usando uma versão mais recente (versão 3 ou posterior), a funcionalidade de acesso entre contas funciona perfeitamente, sem problemas ou erros de compatibilidade.  
Para compartilhar recursos diretamente com as entidades principais do IAM em outra conta, somente o concedente precisa usar a versão 3.  
As concessões entre contas feitas usando o método LF-TBAC exigem que os usuários tenham uma política de recursos AWS Glue Data Catalog na conta. Quando você atualiza para a versão 3, o LF-TBAC concede usos do AWS RAM. Para permitir que as concessões AWS RAM baseadas em várias contas sejam bem-sucedidas, você deve adicionar a `glue:ShareResource` declaração às suas políticas de recursos existentes do Catálogo de Dados, conforme mostrado na [Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation](hybrid-cross-account.md) seção. 

**Versão 4**  
O concedente precisa da versão 4 ou posterior para compartilhar os recursos do Data Catalog no modo de acesso híbrido ou compartilhar objetos em um catálogo federado.

**Versão 5**  
A versão 5 da conta cruzada aprimora o compartilhamento de recursos entre contas, permitindo que você compartilhe um número ilimitado de tabelas com outra conta, eliminando os limites anteriores de associação de recursos por tipo de recurso. Para começar, atualize para a versão 5 de várias contas por meio do console ou da API do Lake Formation. Qualquer nova concessão de permissão entre contas usará automaticamente padrões curinga no compartilhamento de recursos em vez de associações individuais de recursos. Todas as ações existentes entre contas continuam funcionando e todas as existentes do Lake Formation APIs permanecem compatíveis.  
*Benefícios da atualização de versões:* o Cross-account v5 aprimora o compartilhamento entre contas, permitindo que você compartilhe centenas de milhares de tabelas entre contas.  
*Considerações ao atualizar as versões:* novas concessões após a atualização da versão 5 adicionarão padrões de recursos curinga aos compartilhamentos de AWS recursos existentes do Resource Manager ou criarão novos compartilhamentos com padrões curinga. Depois de atualizado para a versão 5, o downgrade não é suportado.

## Otimize os compartilhamentos AWS RAM de recursos
<a name="optimize-version"></a>

As novas versões (versão 2 e superior) de concessões entre contas utilizam de forma otimizada a AWS RAM capacidade para maximizar o uso de várias contas. Quando você compartilha um recurso com um diretor externo Conta da AWS ou do IAM, o Lake Formation pode criar um novo compartilhamento de recursos ou associar o recurso a um compartilhamento existente. Ao se associar aos compartilhamentos existentes, o Lake Formation reduz o número de convites de compartilhamento de recursos que um consumidor precisa aceitar. A versão 5 otimiza ainda mais o uso da RAM usando padrões de recursos baseados em curingas em vez de associações de recursos individuais, reduzindo significativamente as associações de recursos por compartilhamento de recursos.

## Habilite AWS RAM compartilhamentos via TBAC ou compartilhe recursos diretamente com os diretores
<a name="ram-tbac-direct-iam-version"></a>

Para compartilhar recursos diretamente com entidades principais do IAM em outra conta, ou para habilitar compartilhamentos entre contas TBAC para organizações ou unidades organizacionais, é necessário atualizar as **Configurações de versão entre contas** para a versão 3. Para obter mais informações sobre limites AWS RAM de recursos, consulte[Práticas recomendadas e considerações sobre compartilhamento de dados entre contas](cross-account-notes.md).

### Permissões necessárias para atualizar a versão de Configurações Entre Contas
<a name="req-permissions-version-update"></a>

 Se um concedente de permissão entre contas tiver permissões de política do IAM gerenciadas por `AWSLakeFormationCrossAccountManager`, não será necessária nenhuma configuração de permissão extra para o perfil de concedente ou entidade principal para permissão entre contas. No entanto, se o concedente entre contas não estiver usando a política gerenciada, o perfil do concedente ou entidade principal deverá ter as seguintes permissões do IAM concedidas para que a nova versão da concessão entre contas seja bem-sucedida.

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

****  

```
  
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
         "ram:AssociateResourceShare",
         "ram:DisassociateResourceShare",
         "ram:GetResourceShares"
       ],
     "Resource": "*",
     "Condition": {
       "StringLike": {
         "ram:ResourceShareName": "LakeFormation*"
        }
      }
    }
  ]
}
```

------

## Como habilitar a nova versão
<a name="version-update-steps"></a>

Siga estas etapas para atualizar as **configurações da versão da conta cruzada** por meio do AWS Lake Formation console ou do AWS CLI.

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

1. Escolha **Versão 2**, **Versão 3**, **Versão 4** ou **Versão 5** em Configurações de **versão entre contas na página Configurações** **do catálogo de dados**. Se você selecionar a **Versão 1**, o Lake Formation usará o modo padrão de compartilhamento de recursos.   
![\[A tela mostra as permissões para todas as tags LF na conta.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/cross-account-version-setting.png)

1. Escolha **Salvar**.

------
#### [ AWS Command Line Interface (AWS CLI) ]

Use o `put-data-lake-settings` AWS CLI comando para definir o `CROSS_ACCOUNT_VERSION` parâmetro. Os valores aceitos são 1, 2, 3, 4 e 5.

```
aws lakeformation put-data-lake-settings --region us-east-1 --data-lake-settings file://settings
{
    "DataLakeAdmins": [
        {
            "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/test"
        }
    ],
    "CreateDatabaseDefaultPermissions": [],
    "CreateTableDefaultPermissions": [],
    "Parameters": {
        "CROSS_ACCOUNT_VERSION": "3"
    }
}
```

------

**Importante**  
Após escolher a **Versão 2** ou a **Versão 3**, todas as novas concessões de **recursos nomeados** passarão pelo novo modo de concessão entre contas. Para otimizar o uso AWS RAM da capacidade de seus compartilhamentos entre contas existentes, recomendamos que você revogue as concessões que foram feitas com a versão mais antiga e conceda novamente no novo modo.

# Compartilhamento de tabelas e bancos de dados do catálogo de dados entre Contas da AWS ou diretores do IAM de contas externas
<a name="cross-account-data-share-steps"></a>

Esta seção inclui instruções sobre como conceder permissões entre contas nos recursos do Catálogo de Dados a uma AWS conta externa, diretor do IAM, AWS organização ou unidade organizacional. A operação de concessão compartilha automaticamente esses recursos. 

**Topics**
+ [Compartilhamento de dados usando controle de acesso baseado em tags](cross-account-TBAC.md)
+ [Compartilhamento de dados entre contas usando o método de recurso nomeado](cross-account-named-resource.md)

# Compartilhamento de dados usando controle de acesso baseado em tags
<a name="cross-account-TBAC"></a>

AWS Lake Formation o controle de acesso baseado em tags (LF-TBAC) é uma estratégia de autorização que define permissões com base em atributos. As etapas a seguir explicam como conceder permissões entre contas usando tags do LF. 

**Configuração obrigatória na producer/grantor conta**

1. Adicione tags LF.

   1. Faça login no console do Lake Formation como administrador do data lake ou criador de tag LF.

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

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

      Para receber instruções detalhadas para criar tags LF, consulte [Criação de tags do LF](TBAC-creating-tags.md).

1. Conceda permissões **Descreve and/or ** **Associate** com pares de **chave-valor da tag LF** aos diretores do IAM em sua conta ou em contas externas.

   Conceder permissões em pares de **chave-valor de tag LF** permite que as entidades principais visualizem as tags LF e as atribua a recursos do Data Catalog (bancos de dados, tabelas e colunas).

1. Depois, o administrador do data lake ou uma entidade principal do IAM com a permissão **Associate** pode atribuir a tag LF a bancos de dados, tabelas ou colunas. Para obter mais informações, consulte [Atribuição de tags do LF aos recursos do catálogo de dados](TBAC-assigning-tags.md).

1. Depois, conceda permissão de dados a contas externas usando expressões de tag LF. Isso permite que o beneficiário ou o destinatário das permissões acesse os recursos do Data Catalog marcados com as mesmas chaves e valores.

   1. No painel de navegação, escolha **Permissões** e **Permissões de dados**.

   1. Selecione **Conceder**.

   1. Na página **Conceder permissões**, para **Entidades principais**, selecione **Contas externas** e insira o ID da Conta da AWS beneficiária, o perfil do IAM da entidade principal, ou o nome do recurso da Amazon (ARN) para a entidade principal (ARN da entidade principal), se estiver fazendo uma concessão direta entre contas a uma entidade principal externa. Você precisa pressionar **Enter** depois de inserir o ID da conta.  
![\[A tela de concessão de permissão com a conta externa e os pares de chave-valor de tag LF especificados.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/cross-acct-grant-tags.png)

   1. Em **Tags LF ou recursos de catálogo**, selecione **Recursos correspondentes a tags LF (recomendado)**. 

      1. Escolha a opção **Pares de chave-valor de tag LF** ou **Expressões de tag LF salvas**.

      1. **Se você escolher **Pares de chave-valor de tag LF**, insira a chave e os valores** da **Tag LF** associados ao recurso do Data Catalog que está sendo compartilhado com a conta beneficiária. 

         O beneficiário recebe permissões nos recursos do Data Catalog que receberam uma tag LF correspondente na expressão de tag LF. Se a expressão de tag LF especificar vários valores por chave de tag, qualquer um dos valores de tag poderá coincidir. 

   1. Escolha as permissões em nível de banco de dados ou em nível de tabela a serem concedidas aos recursos que correspondam à expressão de tag LF.
**Importante**  
Como o administrador do data lake deve conceder permissões em recursos compartilhados para as entidades principais na conta beneficiária, você sempre deve conceder permissões entre contas com a opção de concessão. 

      Para obter mais informações, consulte [Conceder permissões de tag do LF usando o console](TBAC-granting-tags-console.md).
**nota**  
Entidades principais que receberem concessões diretas entre contas não terão a opção de **Permissões concedíveis**.

**Configuração obrigatória na receiving/grantee conta**

1. Faça login no console do Lake Formation como administrador do data lake da conta do consumidor.

1.  Depois, receba o compartilhamento do recurso na conta do consumidor. 

   1.  Abra o AWS RAM console. 

   1.  No painel de navegação, selecione **Compartilhados comigo**, **Compartilhamento de recursos**.

   1.  Selecione os compartilhamentos de recursos e escolha **Aceitar compartilhamento de recursos**. 

1. Quando você compartilha um recurso com outra conta, o recurso ainda pertence à conta do produtor e não será visível no console do Athena. Para tornar o recurso visível no console do Athena, você precisa criar um link de recurso direcionando para o recurso compartilhado. Para obter instruções sobre como criar um link de recurso, consulte [Como criar um link de recurso para uma tabela compartilhada do catálogo de dados](create-resource-link-table.md) e [Como criar um link de recurso para um banco de dados compartilhado do catálogo de dados](create-resource-link-database.md)

   1.  Escolha **Bancos de dados** ou **Tabelas** no Data Catalog.

   1. Na Databases/Tables página, escolha **Criar**, **link do recurso**. 

   1. Insira as seguintes informações para um link do recurso de banco de dados:
      + **Nome do link do recurso**: um nome exclusivo para o link do recurso.
      + **Catálogo de destino**: o catálogo no qual você está criando o link do recurso. 
      + **Região do banco de dados compartilhado**: a região do banco de dados compartilhado com você se você estiver criando o link de recurso em outra região.
      + **Banco de dados compartilhado**: escolha o banco de dados compartilhado.
      + **ID do catálogo do banco de dados compartilhado**: insira o ID do catálogo do banco de dados compartilhado.

   1.  Escolha **Criar**. É possível ver o link do recurso recém-criado na lista de bancos de dados. 

   Da mesma forma, você pode criar um link do recurso para a tabela compartilhada.

1. Agora, conceda a permissão **Describe** no link do recurso às entidades principais do IAM com as quais você está compartilhando o recurso.

   1. Na página **Bancos de dados/tabelas**, selecione o link do recurso e no menu **Ações**, selecione **Conceder**. 

   1. Na seção **Conceder permissões**, selecione **Usuários e perfis do IAM**.

   1. Escolha o perfil do IAM ao qual você deseja conceder acesso ao link do recurso.

   1. Na seção de permissões **Link do recurso**, selecione **Describe**.

   1. Selecione **Conceder**.

1. Depois, conceda **permissões de chave-valor de tag LF** às entidades principais na conta do consumidor.

   Você deve conseguir encontrar as tags LF que são compartilhadas com você na conta do consumidor, no console do Lake Formation, em **Permissões**, **Tags LF e permissões**. É possível associar tags compartilhadas do concedente aos recursos compartilhados da conta do concedente que incluem: bancos de dados, tabelas e colunas. Você pode conceder permissões nos recursos a outras entidades principais.  
![\[A tela mostra as permissões para tags LF na conta.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/lf-tag-permissions.png)

   1.  No painel de navegação, em **Permissões**, **Permissões de dados**, selecione **Conceder**. 

   1.  Na página **Conceder permissões**, selecione **Usuários e perfis do IAM**. 

   1. Depois, escolha os usuários e perfis do IAM em sua conta para conceder acesso aos bancos de dados/tabelas compartilhados.

   1. Em **Tags do LF ou recursos do catálogo**, selecione **Recursos correspondentes a tags LF**.

   1.  Depois, escolha a chave e os valores da tag LF que é compartilhada com você. 

   1.  Depois, escolha as permissões de banco de dados e de tabela que você deseja conceder aos usuários e perfis do IAM. Você também pode escolher **Permissões para concessão** que permitem que os usuários e perfis do IAM concedam permissões a outros usuários/perfis. 

   1.  Selecione **Conceder**. 

   1. É possível visualizar as concessões de permissão em **Permissões de dados** no console do Lake Formation.

# Compartilhamento de dados entre contas usando o método de recurso nomeado
<a name="cross-account-named-resource"></a>

Você pode conceder permissões diretamente aos diretores em outra AWS conta, ou para uma conta externa Contas da AWS ou AWS Organizations. Conceder permissões do Lake Formation a organizações ou unidades organizacionais é equivalente a conceder a permissão a todos Conta da AWS nessa organização ou unidade organizacional. 

Ao conceder permissões a contas ou organizações externas, você deve incluir a opção **Permissões concedíveis**. Somente o administrador do data lake na conta externa pode acessar os recursos compartilhados até que o administrador conceda permissões sobre os recursos compartilhados a outras entidades principais na conta externa.

**nota**  
A opção de **Permissões concedíveis** não é suportada ao conceder permissões diretamente às entidades principais do IAM a partir de contas externas.

Siga as instruções em [Conceder permissões de banco de dados usando o método de recurso nomeado](granting-database-permissions.md) para conceder permissões entre contas usando o método de recurso nomeado.

 O vídeo a seguir demonstra como compartilhar dados com uma AWS organização usando o Lake Formation. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/S-Mdcmq6oPM?controls=0&/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/S-Mdcmq6oPM?controls=0&)


# Conceder permissões em um banco de dados ou tabela compartilhada com sua conta
<a name="regranting-shared-resources"></a>

Depois que um recurso do Catálogo de Dados pertencente a outra AWS conta for compartilhado com sua AWS conta, como administrador do data lake, você poderá conceder permissões sobre o recurso compartilhado a outros diretores da sua conta. No entanto, você não pode conceder permissões sobre o recurso a outras contas AWS ou organizações.

Você pode usar o AWS Lake Formation console, a API ou o AWS Command Line Interface (AWS CLI) para conceder as permissões.

**Como conceder permissões em um banco de dados compartilhado (método de recurso nomeado, console)**
+ Siga as instruções em [Conceder permissões de banco de dados usando o método de recurso nomeado](granting-database-permissions.md). Na lista **Banco de dados**, em **Tags do LF ou recursos do catálogo**, certifique-se de selecionar o banco de dados na conta externa, não um link de recurso para o banco de dados.

  Se você não encontrar o banco de dados na lista de bancos de dados, certifique-se de ter aceitado o convite de compartilhamento de recursos AWS Resource Access Manager (AWS RAM) para o banco de dados. Para obter mais informações, consulte [Aceitando um convite de compartilhamento de recursos do AWS RAM](accepting-ram-invite.md).

  Além disso, para obter as permissões `CREATE_TABLE` e `ALTER`, siga as instruções em [Concessão de permissões de localização de dados (mesma conta)](granting-location-permissions-local.md) e não se esqueça de inserir o ID da conta proprietária no campo **Localização da conta registrada**.

**Como conceder permissões em uma tabela compartilhada (método de recurso nomeado, console)**
+ Siga as instruções em [Conceder permissões de tabela usando o método de recurso nomeado](granting-table-permissions.md). Na lista **Banco de dados**, em **Tags do LF ou recursos do catálogo**, certifique-se de selecionar o banco de dados na conta externa, não um link de recurso para o banco de dados.

  Se você não encontrar tabela na lista de tabelas, certifique-se de ter aceitado o convite de compartilhamento de recursos AWS RAM para a tabela. Para obter mais informações, consulte [Aceitando um convite de compartilhamento de recursos do AWS RAM](accepting-ram-invite.md).

  Além disso, para obter as permissões `ALTER`, siga as instruções em [Concessão de permissões de localização de dados (mesma conta)](granting-location-permissions-local.md) e não se esqueça de inserir o ID da conta proprietária no campo **Localização da conta registrada**.

**Como conceder permissões em recursos compartilhados (método LF-TBAC, console)**
+ Siga as instruções em [Conceder permissões do catálogo de dados](granting-catalog-perms-TBAC.md#granting-cat-perms-TBAC-console). Na seção **Tags do LF ou recursos do catálogo**, conceda a expressão exata da tag do LF que a conta externa concedeu à sua conta ou um subconjunto dessa expressão.

  Por exemplo, se uma conta externa concedeu a expressão da tag do LF `module=customers AND environment=production` à sua conta com a opção de concessão, como administrador do data lake, você pode conceder essa mesma expressão, `module=customers` ou `environment=production` a uma entidade principal em sua conta. Você pode conceder somente as mesmas permissões ou um subconjunto das permissões do Lake Formation (por exemplo: `SELECT`, `ALTER` e assim por diante) que foram concedidas aos recursos por meio da expressão da tag do LF.

**Para conceder permissões em uma tabela compartilhada (chamado método de recurso AWS CLI)**
+ Digite um comando semelhante ao seguinte: Neste exemplo:
  + O ID AWS da sua conta é 1111-2222-3333.
  + A conta que possui a tabela e que a concedeu à sua conta é 1234-5678-9012.
  + A permissão `SELECT` está sendo concedida na tabela compartilhada `pageviews` ao usuário `datalake_user1`. Esse usuário é a entidade principal da sua conta.
  + A tabela `pageviews` está no banco de dados `analytics`, que pertence à conta 1234-5678-9012.

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

  Observe que a conta proprietária deve ser especificada na propriedade `CatalogId`, no argumento`resource`.

# Como conceder permissões de links de recursos
<a name="granting-link-permissions"></a>

Siga estas etapas para conceder AWS Lake Formation permissões em um ou mais links de recursos a um diretor em sua AWS conta.

Após criar um link de recurso, somente você poderá visualizá-lo e acessá-lo. (Isso pressupõe que **Usar somente o controle de acesso do IAM para novas tabelas nesse banco de dados** não esteja habilitado para o banco de dados.) Para permitir que outras entidades principais da sua conta acessem o link do recurso, conceda pelo menos a permissão `DESCRIBE`.

**Importante**  
Conceder permissões em um link de recurso não concede permissões no banco de dados ou tabela de destino (vinculado). Você deve conceder permissões no destino separadamente.

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

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

**Como conceder permissões de links de recursos usando o console do Lake Formation**

1. Execute um destes procedimentos:
   + Para obter links de recursos de banco de dados, siga as etapas em [Conceder permissões de banco de dados usando o método de recurso nomeado](granting-database-permissions.md) para fazer o seguinte:

     1.  Selecione o link do recurso na lista de bancos de dados no Data Catalog, **Bancos de dados**. 

     1.  Escolha **Conceder** para abrir a página **Conceder permissões**.

     1.  Especifique as entidades principais para conceder permissões.

     1.  Os campos **Catálogos** e **Bancos de Dados** são preenchidos.
   + Para obter links de recursos de tabela, siga as etapas em [Conceder permissões de tabela usando o método de recurso nomeado](granting-table-permissions.md) para fazer o seguinte:

     1.  Selecione o link do recurso na lista de tabelas no Data Catalog, **Tabelas**.

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

     1.  Especifique as entidades principais.

     1.  Os campos **Catálogos**, **Bancos de Dados** e **Tabelas** são preenchidos.

     1.  Especifique as entidades principais.

1. Em **Permissões**, selecione as permissões a serem concedidas. Como opção, selecione permissões concedíveis.  
![\[A seção Permissões contém um único bloco. O bloco tem um grupo de caixas de seleção para conceder permissões de links de recursos. As caixas de seleção incluem Eliminar e Descrever. 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-resource-link-permissions-TBAC.png)

1. Selecione **Conceder**.

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

**Para conceder permissões de links de recursos usando AWS CLI**
+ Execute o comando `grant-permissions`, especificando um link de recurso como recurso.  
**Example**  

  Este exemplo concede `DESCRIBE` ao usuário `datalake_user1` na tabela o link do recurso no banco de dados `incidents-link` `issues` na AWS conta 1111-2222-3333.

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

------

**Consulte também:**  
 [Criação de links de recursos](creating-resource-links.md) 
 [Referência de permissões do Lake Formation](lf-permissions-reference.md) 

# Como acessar os dados subjacentes de uma tabela compartilhada
<a name="cross-account-read-data"></a>

Suponha que a AWS conta A compartilhe uma tabela do Catálogo de Dados com a conta B — por exemplo, concedendo a opção de concessão `SELECT` na tabela à conta B. Para que um principal na conta B possa ler os dados subjacentes da tabela compartilhada, as seguintes condições devem ser atendidas:
+ O administrador do data lake na conta B deve aceitar o compartilhamento. (Isso não é necessário se as contas A e B estiverem na mesma organização ou se a concessão tiver sido feita com o método de controle de acesso baseado em tags do Lake Formation.)
+ O administrador do data lake deve conceder novamente à entidade principal a permissão `SELECT` do Lake Formation que a conta A concedeu na tabela compartilhada.
+ A entidade principal deve ter as seguintes permissões de IAM na tabela, no banco de dados que a contém e no catálogo de dados da conta A.
**nota**  
Na seguinte política do IAM:  
*<account-id-A>*Substitua pelo AWS ID da conta A.
*<region>*Substitua por uma região válida.
*<database>*Substitua pelo nome do banco de dados na conta A que contém a tabela compartilhada.
*<table>*Substitua pelo nome da tabela compartilhada.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "glue:GetTable",
              "glue:GetTables",
              "glue:GetPartition",
              "glue:GetPartitions",
              "glue:BatchGetPartition",
              "glue:GetDatabase",
              "glue:GetDatabases"
             ],
             "Resource": [
              "arn:aws:glue:us-east-1:111122223333:table/<database>/<table>",
              "arn:aws:glue:us-east-1:111122223333:database/<database>",
              "arn:aws:glue:us-east-1:111122223333:catalog"
             ]
          },
          {
            "Effect": "Allow",
            "Action": [
              "lakeformation:GetDataAccess"
             ],
            "Resource": [
              "*"
             ]
      }
     ]
  }
  ```

------

**Consulte também:**  
[Aceitando um convite de compartilhamento de recursos do AWS RAM](accepting-ram-invite.md)

# Registro em várias contas CloudTrail
<a name="cross-account-logging"></a>

O Lake Formation fornece uma trilha de auditoria centralizada de todo o acesso entre contas aos dados em seu data lake. Quando uma AWS conta de destinatário acessa dados em uma tabela compartilhada, o Lake Formation copia o CloudTrail evento para os registros da CloudTrail conta proprietária. Os eventos copiados incluem consultas aos dados por serviços integrados, como o Amazon Redshift Spectrum, Amazon Athena e acessos a dados por trabalhos. AWS Glue

CloudTrail os eventos para operações entre contas nos recursos do Catálogo de Dados são copiados de forma semelhante.

Como proprietário do recurso, se você habilitar o registro em nível de objeto no Amazon S3, poderá executar consultas que unem eventos do S3 aos CloudTrail eventos do CloudTrail Lake Formation para determinar as contas que acessaram seus buckets do S3.

**Topics**
+ [Incluindo identidades principais em registros de várias contas CloudTrail](#cross-account-logging-optin)
+ [Consultando CloudTrail registros para acesso entre contas do Amazon S3](#cross-account-logging-s3)

## Incluindo identidades principais em registros de várias contas CloudTrail
<a name="cross-account-logging-optin"></a>

Por padrão, CloudTrail os eventos entre contas adicionados aos registros do destinatário do recurso compartilhado e copiados para os registros do proprietário do recurso contêm somente o ID AWS principal do responsável externo da conta, não o nome de recurso da Amazon (ARN) legível por humanos do principal (ARN principal). Ao compartilhar recursos dentro de limites confiáveis, como dentro da mesma organização ou equipe, você pode optar por incluir o ARN principal nos CloudTrail eventos. As contas do proprietário do recurso podem então rastrear as entidades principais nas contas de destinatários que acessam seus recursos próprios.

**Importante**  
Como destinatário do recurso compartilhado, para ver o ARN principal em eventos em seus próprios CloudTrail registros, você deve optar por compartilhar o ARN principal com a conta do proprietário.  
Se o acesso aos dados ocorrer por meio de um link de recurso, dois eventos serão registrados na conta do destinatário do recurso compartilhado: um para o acesso ao link do recurso e outro para o acesso ao recurso de destino. O evento para o acesso ao link de recurso *inclui* o ARN da entidade principal. O evento para o acesso ao recurso de destino não inclui o ARN da entidade principal sem selecionar a opção de inclusão. O evento de acesso ao link do recurso não é copiado para a conta do proprietário.

A seguir está um trecho de um CloudTrail evento padrão entre contas (sem aceitação). A conta que executa o acesso aos dados é 1111-2222-3333. Este é o log mostrado na conta de origem e na conta do proprietário do recurso. Lake Formation preenche logs em ambas as contas no caso entre contas.

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AWSAccount",
        "principalId": "AROAQGFTBBBGOBWV2EMZA:GlueJobRunnerSession",
        "accountId": "111122223333"
    },
    "eventSource": "lakeformation.amazonaws.com",
    "eventName": "GetDataAccess",
...
...
    "additionalEventData": {
        "requesterService": "GLUE_JOB",
        "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-G13T0Rmng2"
    },
...
}
```

Como consumidor de recursos compartilhados, quando você opta por incluir o ARN da entidade principal, o trecho se torna o seguinte. O campo `lakeFormationPrincipal` representa o perfil final ou o usuário que executa a consulta por meio do Amazon Athena, Amazon Redshift Spectrum ou trabalhos do AWS Glue.

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AWSAccount",
        "principalId": "AROAQGFTBBBGOBWV2EMZA:GlueJobRunnerSession",
        "accountId": "111122223333"
    },
    "eventSource": "lakeformation.amazonaws.com",
    "eventName": "GetDataAccess",
...
...
    "additionalEventData": {
        "requesterService": "GLUE_JOB",
        "lakeFormationPrincipal": "arn:aws:iam::111122223333:role/ETL-Glue-Role",
        "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-G13T0Rmng2"
    },
...
}
```

**Para optar por incluir o principal ARNs nos registros de várias contas CloudTrail**

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

   Faça login como usuário `Administrator` ou como usuário com a política do IAM `Administrator Access`.

1. No painel de navegação, selecione **Configurações**.

1. Na página **Configurações do catálogo de dados**, na AWS CloudTrail seção **Permissões padrão para**, para **proprietários de recursos**, insira uma ou mais contas de proprietário do AWS recurso IDs.

   Pressione **Enter** após cada ID da conta.

1. Escolha **Salvar**.

   Agora, CloudTrail os eventos entre contas armazenados nos registros do destinatário do recurso compartilhado e do proprietário do recurso contêm o ARN principal.

## Consultando CloudTrail registros para acesso entre contas do Amazon S3
<a name="cross-account-logging-s3"></a>

Como proprietário de um recurso compartilhado, você pode consultar CloudTrail os registros do S3 para determinar as contas que acessaram seus buckets do Amazon S3 (desde que você tenha habilitado o registro em nível de objeto no Amazon S3). Isso se aplica somente aos locais do S3 que você registrou no Lake Formation. Se os consumidores de recursos compartilhados optarem por incluir o principal ARNs nos CloudTrail registros do Lake Formation, você poderá determinar as funções ou os usuários que acessaram os buckets.

Ao executar consultas com Amazon Athena, você pode unir eventos do Lake Formation e CloudTrail eventos do S3 na CloudTrail propriedade do nome da sessão. As consultas também podem filtrar eventos do Lake Formation em `eventName="GetDataAccess"` e eventos do S3 em `eventName="Get Object"` ou `eventName="Put Object"`.

A seguir está um trecho de um CloudTrail evento entre contas do Lake Formation em que dados em um local registrado do S3 foram acessados.

```
{
  "eventSource": "lakeformation.amazonaws.com",
  "eventName": "GetDataAccess",
  ..............
  ..............
  "additionalEventData": {
    "requesterService": "GLUE_JOB",
    "lakeFormationPrincipal": "arn:aws:iam::111122223333:role/ETL-Glue-Role",
    "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-B8JSAjo5QA"
   }
}
```

O valor da `lakeFormationRoleSessionName` chave`AWSLF-00-GL-111122223333-B8JSAjo5QA`,, pode ser associado ao nome da sessão na `principalId` chave do CloudTrail evento do S3. A seguir está um trecho do evento CloudTrail S3. Veja a localização do nome da sessão.

```
{
   "eventSource": "s3.amazonaws.com",
   "eventName": "Get Object"
   ..............
   ..............
   "principalId": "AROAQSOX5XXUR7D6RMYLR:AWSLF-00-GL-111122223333-B8JSAjo5QA",
   "arn": "arn:aws:sets::111122223333:assumed-role/Deformationally/AWSLF-00-GL-111122223333-B8JSAjo5QA",  
   "session Context": {
     "session Issuer": {
       "type": "Role",
       "principalId": "AROAQSOX5XXUR7D6RMYLR",
       "arn": "arn:aws:iam::111122223333:role/aws-service-role/lakeformation.amazonaws.com/Deformationally",
       "accountId": "111122223333",
       "user Name": "Deformationally"
     },
   ..............
   ..............
}
```

O nome da sessão é formatado da seguinte forma:

```
AWSLF-<version-number>-<query-engine-code>-<account-id->-<suffix>
```

**`version-number`**  
A versão desse formato, atualmente `00`. Se o formato do nome da sessão mudar, a próxima versão será `01`.

**`query-engine-code`**  
Indica a entidade que acessou os dados. Os valores atuais são:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/cross-account-logging.html)

**`account-id`**  
O ID da AWS conta que solicitou as credenciais do Lake Formation.

**`suffix`**  
Uma string gerada aleatoriamente.

# Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation
<a name="hybrid-cross-account"></a>

É possível conceder acesso entre contas a recursos do catálogo de dados e dados subjacentes usando o AWS Glue ou o AWS Lake Formation.

No AWS Glue, você concede permissões entre contas criando ou atualizando uma política de recursos do Catálogo de Dados. No Lake Formation, você concede permissões entre contas usando o modelo de permissões `GRANT/REVOKE` do Lake Formation e a operação da API `Grant Permissions`.

**dica**  
Recomendamos que você confie somente nas permissões do Lake Formation para proteger seu data lake.

Você pode ver os subsídios entre contas do Lake Formation usando o console do Lake Formation ou o console AWS Resource Access Manager (AWS RAM). No entanto, essas páginas do console não mostram permissões entre contas concedidas pela política de recursos do catálogo de dados do AWS Glue. Da mesma forma, você pode visualizar as concessões entre contas na política de recursos do catálogo de dados usando a página **Configurações** do console AWS Glue, mas essa página não mostra as permissões entre contas concedidas usando o Lake Formation.

Para garantir que você não perca nenhuma concessão ao visualizar e gerenciar permissões entre contas, o Lake Formation e AWS Glue exigem que você execute as seguintes ações para indicar que está ciente e permite concessões entre contas pelo Lake Formation e AWS Glue.

**Ao conceder permissões entre contas usando a política de recursos do catálogo de dados AWS Glue**  
Se sua conta (conta de concedente ou conta de produtor) não tiver feito concessões entre contas que usam o AWS RAM para compartilhar os recursos, você pode salvar uma política de recursos do Catálogo de Dados normalmente no AWS Glue. No entanto, se concessões que envolvem compartilhamentos de AWS RAM recursos já tiverem sido feitas, você deverá fazer o seguinte para garantir que o salvamento da política de recursos seja bem-sucedido:
+ Quando você salva a política de recursos na página **Configurações** do console do AWS Glue, o console emite um alerta informando que as permissões na política serão adicionais às permissões concedidas usando o console do Lake Formation. Você deve escolher **Continuar** para salvar a política.
+ Ao salvar a política de recursos usando a operação da API `glue:PutResourcePolicy`, você deve definir o campo `EnableHybrid` como '`TRUE`' (type = string).

  Para atualizar uma política de recursos existente, use a operação de API `glue:GetResourcePolicy` para recuperar sua política atual primeiro e depois modificá-la conforme necessário antes de chamar `glue:PutResourcePolicy`. 
**nota**  
Ao criar políticas AWS Glue de recursos para acesso entre contas, conceda somente as permissões mínimas necessárias para seu caso de uso específico.

  *Para obter mais informações, consulte [PutResourcePolicy Action (Python: put\$1resource\$1policy](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-security.html#aws-glue-api-jobs-security-PutResourcePolicy)) no Guia do desenvolvedor.AWS Glue *

**Ao conceder permissões entre contas usando o método de recursos nomeados do Lake Formation**  
Se não houver uma política de recursos do Catálogo de Dados em sua conta (conta de produtor), as concessões entre contas do Lake Formation que você fizer procederão normalmente. No entanto, se existir uma política de recursos do catálogo de dados, você deverá adicionar a seguinte declaração a ela para permitir que suas concessões entre contas sejam bem-sucedidas se forem feitas com o método de recurso nomeado. *<region>*Substitua por um nome de região válido e *<account-id>* pelo ID AWS da sua conta (ID da conta do produtor).

```
    {
      "Effect": "Allow",
      "Action": [
        "glue:ShareResource"
      ],
      "Principal": {"Service": [
        "ram.amazonaws.com"
      ]},
      "Resource": [
        "arn:aws:glue:<region>:<account-id>:table/*/*",
        "arn:aws:glue:<region>:<account-id>:database/*",
        "arn:aws:glue:<region>:<account-id>:catalog"
      ]
    }
```

Sem essa declaração adicional, o subsídio do Lake Formation é bem-sucedido, mas fica bloqueado AWS RAM e a conta do destinatário não pode acessar o recurso concedido.

**Importante**  
Ao usar o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) para fazer concessões entre contas, você deve ter uma política de recursos do catálogo de dados com pelo menos as permissões especificadas em [Pré-requisitos](cross-account-prereqs.md).

**Consulte também:**  
[Controle de acesso a metadados](access-control-metadata.md) (para uma análise do método de recurso nomeado em comparação com o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC)).
[Visualizando tabelas e bancos de dados compartilhados do catálogo de dados](viewing-available-shared-resources.md)
[Como trabalhar com as configurações do catálogo de dados no console AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/console-data-catalog-settings.html) no *Guia do Desenvolvedor AWS Glue *
[Como conceder acesso entre contas](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html) no *Guia do Desenvolvedor do AWS Glue * (para exemplos de políticas de recursos do catálogo de dados)

# Visualizando todas as concessões entre contas usando a operação de GetResourceShares API
<a name="cross-account-getresourcepolicies"></a>

Se sua empresa concede permissões entre contas usando uma política de AWS Glue Data Catalog recursos e subsídios do Lake Formation, a única maneira de visualizar todas as concessões entre contas em um só lugar é usando a operação de `glue:GetResourceShares` API.

Quando você concede permissões do Lake Formation em todas as contas usando o método de recurso nomeado, AWS Resource Access Manager (AWS RAM) cria uma política de recursos AWS Identity and Access Management (IAM) e a armazena em sua AWS conta. A política concede as permissões necessárias para acessar o recurso. AWS RAM cria uma política de recursos separada para cada concessão entre contas. Você pode ver todas essas políticas usando a operação da API `glue:GetResourceShares`.

**nota**  
Essa operação também restaura a política de recursos do catálogo de dados. No entanto, se você habilitou a criptografia de metadados nas configurações do Catálogo de Dados e não tem permissão na AWS KMS chave, a operação não retornará a política de recursos do Catálogo de Dados.

**Como visualizar todas as concessões entre contas**
+ Digite o AWS CLI comando a seguir.

  ```
  aws glue get-resource-policies
  ```

A seguir está um exemplo de política de recursos que AWS RAM cria e armazena quando você concede permissões na tabela `t` no banco de dados `db1` para a AWS conta 1111-2222-3333.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "glue:GetTable",
         "glue:GetTables",
         "glue:GetTableVersion",         
         "glue:GetTableVersions",
         "glue:GetPartition", 
         "glue:GetPartitions",
         "glue:BatchGetPartition",
         "glue:SearchTables"
       ],
      "Principal": {"AWS": [
        "111122223333"
      ]},
      "Resource": [
      "arn:aws:glue:us-east-1:111122223333:table/db1/t"
     ]
    }
  ]
}
```

------

**Consulte também:**  
[GetResourceShares Ação (Python: get\$1resource\$1policies](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-security.html#aws-glue-api-jobs-security-GetResourcePolicies)*) no Guia do desenvolvedor AWS Glue *

# Acessar e visualizar tabelas e bancos de dados compartilhados do catálogo de dados
<a name="viewing-shared-resources"></a>

Para o administrador do data lake e para os diretores que receberam permissões, os recursos compartilhados com sua AWS conta aparecem no Catálogo de Dados como se fossem recursos em sua conta. O console exibe a conta que tem o recurso.

Você pode visualizar os recursos que são compartilhados com sua conta usando o console do Lake Formation. Você também pode usar o console AWS Resource Access Manager (AWS RAM) para visualizar os recursos que são compartilhados com sua conta e os recursos que você compartilhou com outras AWS contas usando o método de recurso nomeado.

**Importante**  
Quando alguém usa o método de recurso nomeado para conceder permissões entre contas em um recurso do Catálogo de Dados para sua conta ou AWS organização, o Lake Formation usa o serviço AWS Resource Access Manager (AWS RAM) para compartilhar o recurso. Se sua conta estiver na mesma AWS organização da conta concedente, o recurso compartilhado estará disponível para você imediatamente.   
No entanto, se sua conta não estiver na mesma organização, AWS RAM envia um convite à sua conta para aceitar ou rejeitar o compartilhamento de recursos. Em seguida, para disponibilizar o recurso compartilhado, o administrador do data lake em sua conta deve usar o AWS RAM console ou a CLI para aceitar o convite.  
O console do Lake Formation exibe um alerta se houver um convite de compartilhamento de AWS RAM recursos aguardando para ser aceito. Somente usuários autorizados a ver os AWS RAM convites recebem o alerta.

**Consulte também:**  
[Compartilhamento de tabelas e bancos de dados do catálogo de dados entre AWS contas](sharing-catalog-resources.md)
[Compartilhamento de dados entre contas no Lake Formation](cross-account-permissions.md)
[Como acessar os dados subjacentes de uma tabela compartilhada](cross-account-read-data.md)
[Controle de acesso a metadados](access-control-metadata.md) (para obter informações sobre o método de recurso nomeado versus o método LF-TBAC para compartilhar recursos.)

**Topics**
+ [Aceitando um convite de compartilhamento de recursos do AWS RAM](accepting-ram-invite.md)
+ [Visualizando tabelas e bancos de dados compartilhados do catálogo de dados](viewing-available-shared-resources.md)

# Aceitando um convite de compartilhamento de recursos do AWS RAM
<a name="accepting-ram-invite"></a>

Se um recurso do Catálogo de Dados for compartilhado com sua AWS conta e sua conta não estiver na mesma AWS organização da conta de compartilhamento, você não terá acesso ao recurso compartilhado até aceitar um convite de compartilhamento de recursos de AWS Resource Access Manager (AWS RAM). Como administrador do data lake, você deve primeiro consultar AWS RAM os convites pendentes e depois aceitar o convite.

Você pode usar o AWS RAM console, a API ou AWS Command Line Interface (AWS CLI) para ver e aceitar convites.

**Para ver e aceitar um convite de compartilhamento de recursos do AWS RAM (console)**

1. Certifique-se de ter as permissões AWS Identity and Access Management (IAM) necessárias para visualizar e aceitar convites de compartilhamento de recursos. 

   Para obter informações sobre as políticas de IAM sugeridas para administradores de data lake, consulte [Permissões de administrador do data lake](permissions-reference.md#persona-dl-admin).

1. Siga as instruções em [Aceitar e rejeitar convites](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared.html#working-with-shared-invitation) no *Guia do usuário do AWS RAM *.

**Para ver e aceitar um convite de compartilhamento de recursos da AWS RAM (AWS CLI)**

1. Certifique-se de ter as permissões AWS Identity and Access Management (IAM) necessárias para visualizar e aceitar convites de compartilhamento de recursos. 

   Para obter informações sobre as políticas de IAM sugeridas para administradores de data lake, consulte [Permissões de administrador do data lake](permissions-reference.md#persona-dl-admin).

1. Insira o comando a seguir para visualizar os convites de compartilhamento de recursos pendentes.

   ```
   aws ram get-resource-share-invitations
   ```

   A saída deve ser semelhante a esta.

   ```
   {
       "resourceShareInvitations": [
           {
               "resourceShareInvitationArn": "arn:aws:ram:us-east-1:111122223333:resource-share-invitation/a93aa60a-1bd9-46e8-96db-a4e72eec1d9f",
               "resourceShareName": "111122223333-123456789012-uswuU",
               "resourceShareArn": "arn:aws:ram:us-east-1:111122223333:resource-share/2a4ab5fb-d859-4751-84f7-8760b35fc1fe",
               "senderAccountId": "111122223333",
               "receiverAccountId": "123456789012",
               "invitationTimestamp": 1589576601.79,
               "status": "PENDING"
           }
       ]
   }
   ```

   Observe o status de `PENDING`.

1. Copie o valor da chave `resourceShareInvitationArn` para a área de transferência.

1. Cole o valor no comando a seguir*<invitation-arn>*, substitua-o e insira o comando.

   ```
   aws ram accept-resource-share-invitation --resource-share-invitation-arn <invitation-arn>
   ```

   A saída deve ser semelhante a esta.

   ```
   {
       "resourceShareInvitations": [
           {
               "resourceShareInvitationArn": "arn:aws:ram:us-east-1:111122223333:resource-share-invitation/a93aa60a-1bd9-46e8-96db-a4e72eec1d9f",
               "resourceShareName": "111122223333-123456789012-uswuU",
               "resourceShareArn": "arn:aws:ram:us-east-1:111122223333:resource-share/2a4ab5fb-d859-4751-84f7-8760b35fc1fe",
               "senderAccountId": "111122223333",
               "receiverAccountId": "123456789012",
               "invitationTimestamp": 1589576601.79,
               "status": "ACCEPTED"
           }
       ]
   }
   ```

   Observe o status de `ACCEPTED`.

# Visualizando tabelas e bancos de dados compartilhados do catálogo de dados
<a name="viewing-available-shared-resources"></a>

Você pode visualizar os recursos que são compartilhados com sua conta usando o console do Lake Formation ou a AWS CLI. Você também pode usar o console AWS Resource Access Manager (AWS RAM) ou a CLI para visualizar os recursos que são compartilhados com sua conta e os recursos que você compartilhou com outras AWS contas.

**Para visualizar recursos compartilhados usando o console do Lake Formation**

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 recebeu permissões em uma tabela compartilhada.

1. Para visualizar os recursos que são compartilhados com sua AWS conta, faça o seguinte:
   + Para visualizar tabelas que são compartilhadas com sua conta, escolha **Tabelas** no painel de navegação.
   + Para visualizar tabelas que são compartilhadas com sua conta, escolha **Banco de dados** no painel de navegação.

   O console exibe uma lista de bancos de dados ou tabelas em sua conta e compartilhados com sua conta. Para recursos compartilhados com sua conta, o console exibe o ID da conta AWS do proprietário na coluna **ID da conta do proprietário** (a terceira coluna na captura de tela a seguir).  
![\[A página Tabelas mostra uma conta de proprietário diferente IDs para as tabelas.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/tables-with-shared.png)

1. Para visualizar os recursos que você compartilhou com outras AWS contas ou organizações, no painel de navegação, escolha **Permissões de dados**.

   Os recursos que você compartilhou estão listados na página **Permissões de dados** com o número da conta externa mostrado na coluna **Entidade principal**, conforme mostrado na imagem a seguir.  
![\[A página Permissões de dados mostra que sua conta concedeu permissões em uma tabela para uma conta externa. O ID da AWS conta está na coluna Principal.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/permissions-with-cross.png)

**Para visualizar recursos compartilhados usando o AWS RAM console**

1. Certifique-se de ter as permissões AWS Identity and Access Management (IAM) necessárias para visualizar os recursos compartilhados usando AWS RAM. 

   No mínimo, você deve ter a permissão `ram:ListResources`. Essa permissão está incluída na política gerenciada pela AWS `AWSLakeFormationCrossAccountManager`.

1. Faça login no Console de gerenciamento da AWS e abra o AWS RAM console em [https://console.aws.amazon.com/ram/casa](https://console.aws.amazon.com/ram/home).

1. Execute um destes procedimentos:
   + Para ver os recursos que você compartilhou, no painel de navegação, em **Compartilhado por mim**, escolha **Recursos compartilhados**.
   + Para ver os recursos compartilhados com você, no painel de navegação, em **Compartilhado comigo**, escolha **Recursos compartilhados**.

# Criação de links de recursos
<a name="creating-resource-links"></a>

Links de recursos são objetos do Catálogo de Dados que são links para bancos de dados e tabelas de metadados — normalmente para bancos de dados e tabelas compartilhados de outras contas. AWS Eles ajudam a permitir o acesso entre contas aos dados no data lake em todas as AWS regiões.

**nota**  
O Lake Formation suporta a consulta de tabelas do Catálogo de Dados em todas as AWS regiões. Você pode acessar os bancos de dados e tabelas do Catálogo de Dados de qualquer AWS região criando links de recursos nessas regiões que apontam para bancos de dados e tabelas compartilhados em diferentes regiões.

**Topics**
+ [Como os links de recursos funcionam no Lake Formation](resource-links-about.md)
+ [Como criar um link de recurso para uma tabela compartilhada do catálogo de dados](create-resource-link-table.md)
+ [Como criar um link de recurso para um banco de dados compartilhado do catálogo de dados](create-resource-link-database.md)
+ [Manipulação de links de recursos em AWS Glue APIs](resource-links-glue-apis.md)

# Como os links de recursos funcionam no Lake Formation
<a name="resource-links-about"></a>

Um *link de recurso* é um objeto do catálogo de dados que é um link para um banco de dados, ou uma tabela local, ou compartilhada. Depois de criar um link de recurso para um banco de dados ou tabela, você pode usar o nome do link de recurso onde quer que use o nome do banco de dados ou da tabela. Juntamente com as tabelas que você possui ou que são compartilhadas com você, os links de recursos de tabela são retornados pelo `glue:GetTables()` e aparecem como entradas na página **Tabelas** do console do Lake Formation. Os links de recursos para bancos de dados agem de maneira semelhante.

A criação de um link de recurso para um banco de dados ou tabela permite que você:
+ Atribua um nome diferente a um banco de dados ou tabela em seu catálogo de dados. Isso é especialmente útil se AWS contas diferentes compartilharem bancos de dados ou tabelas com o mesmo nome, ou se vários bancos de dados em sua conta tiverem tabelas com o mesmo nome.
+ Acesse os bancos de dados e tabelas do Catálogo de Dados de qualquer AWS região criando links de recursos nessas regiões apontando para o banco de dados e tabelas em outra região. Você pode executar consultas em qualquer região com esses links de recursos usando o Athena, o Amazon EMR e executar trabalhos do AWS Glue no ETL Spark, sem copiar os dados de origem nem os metadados no catálogo de dados do Glue. 
+ Use AWS serviços integrados, como Amazon Athena o Amazon Redshift Spectrum, para executar consultas que acessam bancos de dados ou tabelas compartilhados. Alguns serviços integrados não podem acessar diretamente bancos de dados ou tabelas entre contas. No entanto, eles podem acessar links de recursos em sua conta para bancos de dados e tabelas em outras contas.

**nota**  
Você não precisa criar um link de recurso para referenciar um banco de dados ou tabela compartilhados em scripts de extração, transformação e carregamento (ETL) do AWS Glue. No entanto, para evitar ambiguidades quando várias contas da AWS compartilham um banco de dados ou tabela com o mesmo nome, você pode criar e usar um link de recurso ou especificar a ID do catálogo ao invocar operações de ETL.

O exemplo a seguir mostra a página **Tabelas** do console Lake Formation, que lista dois links de recursos. Os nomes dos links de recursos são sempre exibidos em itálico. Cada link de recurso é exibido junto com o nome e o proprietário do recurso compartilhado vinculado. Neste exemplo, um administrador de data lake na AWS conta 1111-2222-3333 compartilhou as tabelas `inventory` e `incidents` com a conta 1234-5678-9012. Em seguida, um usuário dessa conta criou links de recursos para essas tabelas compartilhadas.

![\[A página Tabelas mostra dois links de recursos. O nome do link do recurso é mostrado na coluna Nome, o nome da tabela compartilhada é mostrado na coluna Recurso compartilhado e a conta que compartilhou a tabela é mostrada na coluna Proprietário do recurso compartilhado.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/tables-with-links.png)


A seguir estão notas e restrições sobre links de recursos:
+ Os links de recursos são necessários para permitir que serviços integrados, como Athena e Redshift Spectrum, consultem os dados subjacentes das tabelas compartilhadas. As consultas nesses serviços integrados são construídas com base nos nomes dos links de recursos.
+ Supondo que a configuração **Usar somente o controle de acesso do IAM para novas tabelas nesse banco de dados** esteja desativada para o banco de dados que o contém, somente a entidade principal que criou um link de recurso pode visualizá-lo e acessá-lo. Para permitir que outras entidades principais da sua conta acessem um link de recurso, conceda a permissão `DESCRIBE` nela. Para permitir que outras pessoas descartem um link de recurso, conceda a permissão `DROP` para ele. Os administradores do data lake podem acessar todos os links de recursos na conta. Para descartar um link de recurso criado por outra entidade principal, o administrador do data lake deve primeiro conceder a si a permissão `DROP` no link do recurso. Para obter mais informações, consulte [Referência de permissões do Lake Formation](lf-permissions-reference.md).
**Importante**  
Conceder permissões em um link de recurso não concede permissões no banco de dados ou tabela de destino (vinculado). Você deve conceder permissões no destino separadamente.
+ Para criar um link de recurso, você precisa da `CREATE_DATABASE` permissão `CREATE_TABLE` ou do Lake Formation, bem como da permissão `glue:CreateTable` or `glue:CreateDatabase` AWS Identity and Access Management (IAM).
+ Você pode criar links de recursos para recursos locais (próprios) do Catálogo de Dados, bem como para recursos compartilhados com sua AWS conta.
+ Quando você cria um link de recurso, nenhuma verificação é executada para ver se o recurso compartilhado de destino existe ou se você tem permissões entre contas no recurso. Isso permite que você crie o link do recurso e o recurso compartilhado em qualquer ordem.
+ Se você excluir um link de recurso, o recurso compartilhado vinculado não será descartado. Se você descartar um recurso compartilhado, os links de recursos para esse recurso não serão excluídos.
+ É possível criar cadeias de links de recursos. No entanto, não há valor em fazer isso, pois APIs segue apenas o primeiro link do recurso.

**Consulte também:**  
[Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md)

# Como criar um link de recurso para uma tabela compartilhada do catálogo de dados
<a name="create-resource-link-table"></a>

Você pode criar um link de recurso para uma tabela compartilhada em qualquer AWS região usando o AWS Lake Formation console, a API ou AWS Command Line Interface (AWS CLI).

**Como criar um link de recurso para a tabela compartilhada (console)**

1. Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Faça login como entidade principal que tem a permissão `CREATE_TABLE` do Lake Formation no banco de dados para conter o link do recurso.

1. No painel de navegação, selecione **Tabelas** em Data Catalog e escolha **Criar**, **Link de recurso**.

1. Na página **Criar link de recurso**, forneça as seguintes informações:  
**Nome do link de recurso**  
Digite um nome que siga as mesmas regras de um nome de tabela. O nome pode ser o mesmo da tabela compartilhada de destino.  
**Banco de dados**  
O banco de dados no catálogo de dados local para conter o link do recurso.  
**Região do proprietário de tabela compartilhada**  
Se você estiver criando o link do recurso em uma região diferente, selecione a região da tabela compartilhada de destino.  
**Tabela compartilhada**  
Selecione uma tabela compartilhada na lista ou digite um nome de tabela local (de propriedade) ou compartilhada.  
A lista contém todas as tabelas compartilhadas com sua conta. Anote o banco de dados e o ID da conta do proprietário listado em cada tabela. Caso você não veja uma tabela que saiba que foi compartilhada com sua conta, verifique o seguinte:  
   + Se você não for administrador do data lake, verifique se o administrador do data lake concedeu a você as permissões do Lake Formation na tabela.
   + Se você for administrador de um data lake e sua conta não estiver na mesma organização da AWS da conta concedente, certifique-se de ter aceitado o convite de compartilhamento de recursos AWS Resource Access Manager (AWS RAM) para o banco de dados. Para obter mais informações, consulte [Aceitando um convite de compartilhamento de recursos do AWS RAM](accepting-ram-invite.md).  
**Banco de dados da tabela compartilhada**  
Se você selecionou uma tabela compartilhada na lista, esse campo será preenchido com o banco de dados da tabela compartilhada na conta externa. Caso contrário, digite um banco de dados local (para um link de recurso para uma tabela local) ou o banco de dados da tabela compartilhada na conta externa.  
**Proprietário de tabela compartilhada**  
Se você selecionou uma tabela compartilhada na lista, esse campo será preenchido com o ID da conta do proprietário da tabela compartilhada. Caso contrário, insira o ID da sua AWS conta (para um link de recurso para uma tabela local) ou o ID da AWS conta que compartilhou a tabela.

1. Selecione **Criar** para criar o link do recurso.

   Em seguida, você pode exibir o nome do link do recurso na coluna **Nome** na página **Tabelas**.

1. (Opcional) Conceda a permissão `DESCRIBE` do Lake Formation no link do recurso às entidades principais que devem ser capazes de exibir o link e acessar a tabela de destino.

   No entanto, conceder permissões em um link de recurso não implica que as permissões serão concedidas no banco de dados ou tabela de destino (vinculado). Você deve conceder permissões no banco de dados de destino separadamente para que o table/resource link fique visível no Athena.

**Como criar um link de recurso para uma tabela compartilhada na mesma região (AWS CLI)**

1. Digite um comando semelhante ao seguinte:

   ```
   aws glue create-table --database-name myissues --table-input '{"Name":"my_customers","TargetTable":{"CatalogId":"111122223333","DatabaseName":"issues","Name":"customers"}}'
   ```

   Esse comando cria um link de recurso chamado `my_customers` para a tabela compartilhada `customers`, que está no banco de dados `issues` na conta AWS 1111-2222-3333. O link do recurso é armazenado no banco de dados local `myissues`.

1. (Opcional) Conceda a permissão `DESCRIBE` do Lake Formation no link do recurso às entidades principais que devem ser capazes de exibir o link e acessar a tabela de destino.

   No entanto, conceder permissões em um link de recurso não implica que as permissões serão concedidas na tabela de destino (vinculada). Você deve conceder permissões no banco de dados de destino separadamente para que o table/resource link fique visível no Athena.

**Como criar um link de recurso para uma tabela compartilhada em uma região diferente (AWS CLI)**

1. Digite um comando semelhante ao seguinte:

   ```
   aws glue create-table --region eu-west-1 --cli-input-json '{
       "CatalogId": "111122223333",
       "DatabaseName": "ireland_db",
       "TableInput": {
           "Name": "rl_useast1salestb_ireland",
           "TargetTable": {
               "CatalogId": "444455556666",
               "DatabaseName": "useast1_salesdb",
               "Region": "us-east-1",
               "Name":"useast1_salestb"
           }
       }
   }‘
   ```

   Esse comando cria um link de recurso nomeado `rl_useast1salestb_ireland` na região Europa (Irlanda) para a `useast1_salestb` tabela compartilhada, que está no `useast1_salesdb` banco de dados na conta 444455556666 AWS na região Leste dos EUA (Norte da Virgínia). O link do recurso é armazenado no banco de dados local `ireland_db`.

1. Conceda permissão `DESCRIBE` ao Lake Formation às entidades principais que devem ser capazes de exibir o link e acessar o destino do link por meio do link.

   No entanto, conceder permissões em um link de recurso não implica que as permissões serão concedidas na tabela de destino (vinculada). Você deve conceder permissões na tabela de destino separadamente para que o table/resource link fique visível no Athena.

**Consulte também:**  
[Como os links de recursos funcionam no Lake Formation](resource-links-about.md)
[`DESCRIBE`](lf-permissions-reference.md#perm-describe)

# Como criar um link de recurso para um banco de dados compartilhado do catálogo de dados
<a name="create-resource-link-database"></a>

Você pode criar um link de recurso para um banco de dados compartilhado usando o AWS Lake Formation console, a API ou AWS Command Line Interface (AWS CLI).

**Como criar um link de recurso para um banco de dados compartilhado (console)**

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

   Um criador de banco de dados é uma entidade principal que recebeu a permissão `CREATE_DATABASE` do Lake Formation.

1. No painel de navegação, selecione **Bancos de dados** e escolha **Criar**, **Link de recurso**.

1. Na página **Criar link de recurso**, forneça as seguintes informações:  
**Nome do link de recurso**  
Digite um nome que siga as mesmas regras de um nome de banco de dados. O nome pode ser o mesmo do banco de dados compartilhado de destino.  
**Catálogo de destinos**  
Selecione o catálogo de destino para o link do recurso do banco de dados.  
**Região do proprietário do banco de dados compartilhado**  
Se você estiver criando o link do recurso em uma região diferente, selecione a região do banco de dados compartilhado de destino.  
**Banco de dados compartilhado**  
Selecione um banco de dados na lista ou digite um nome de banco de dados local (de propriedade) ou compartilhado.  
A lista contém todos os bancos de dados compartilhados com sua conta. Anote o ID da conta do proprietário que está listado em cada banco de dados. Caso você não veja um banco de dados que você sabe que foi compartilhado com sua conta, verifique o seguinte:  
   + Se você não for administrador do data lake, verifique se o administrador do data lake concedeu a você as permissões do Lake Formation no banco de dados.
   + Se você for administrador de um data lake e sua conta não estiver na mesma organização da AWS da conta concedente, certifique-se de ter aceitado o convite de compartilhamento de recursos AWS Resource Access Manager (AWS RAM) para o banco de dados. Para obter mais informações, consulte [Aceitando um convite de compartilhamento de recursos do AWS RAM](accepting-ram-invite.md).  
**Proprietário do banco de dados compartilhado**  
Se você selecionou um banco de dados compartilhado na lista, esse campo será preenchido com o ID da conta do proprietário do banco de dados compartilhado. Caso contrário, insira o ID AWS da sua conta (para um link de recurso para um banco de dados local) ou o ID da AWS conta que compartilhou o banco de dados.  
**ID do catálogo do banco de dados compartilhado**  
Insira o ID do catálogo para o banco de dados compartilhado. Ao criar um link de recurso para um banco de dados compartilhado de outra conta da AWS , você precisa especificar esse ID de catálogo para identificar o Data Catalog da conta que contém o banco de dados de origem.  
Quando você seleciona um banco de dados compartilhado no menu suspenso, o sistema preenche automaticamente o ID do catálogo da conta que possui e compartilhou esse banco de dados com você.  
![\[A caixa de diálogo Detalhes do banco de dados tem o botão do Link de recurso selecionado, com os seguintes campos preenchidos: Nome do link de recurso, Banco de dados compartilhado, ID do proprietário do banco de dados compartilhado. O ID do proprietário do banco de dados compartilhado está desativado (somente leitura).\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/create-resource-link-db.png)

1. Selecione **Criar** para criar o link do recurso.

   Em seguida, você pode exibir o nome do link do recurso na coluna **Nome** na página **Bancos de dados**.

1. (Opcional) Conceda a permissão `DESCRIBE` do Lake Formation no link do recurso às entidades principais da região da Europa (Irlanda), que devem ser capazes de exibir o link e acessar o banco de dados de destino.

   No entanto, conceder permissões em um link de recurso não implica que as permissões serão concedidas no banco de dados ou tabela de destino (vinculado). Você deve conceder permissões no banco de dados de destino separadamente para que o table/resource link fique visível no Athena.

**Como criar um link de recurso para um banco de dados compartilhado na mesma região (AWS CLI)**

1. Digite um comando semelhante ao seguinte:

   ```
   aws glue create-database --database-input '{"Name":"myissues","TargetDatabase":{"CatalogId":"111122223333","DatabaseName":"issues"}}'
   ```

   Esse comando cria um link de recurso chamado `myissues` para o banco de dados compartilhado`issues`, que está na AWS conta 1111-2222-3333. 

1. (Opcional) Conceda a permissão `DESCRIBE` do Lake Formation às entidades principais no link de recurso autorizadas a visualizar o link e acessar o banco de dados ou tabela de destino. 

   No entanto, conceder permissões em um link de recurso não implica que as permissões serão concedidas no banco de dados ou tabela de destino (vinculado). Você deve conceder permissões no banco de dados de destino separadamente para que o table/resource link fique visível no Athena.

**Como criar um link de recurso para um banco de dados compartilhado em uma região diferente (AWS CLI)**

1. Digite um comando semelhante ao seguinte:

   ```
   aws glue create-database --region eu-west-1 --cli-input-json '{
       "CatalogId": "111122223333",
       "DatabaseInput": {
         "Name": "rl_useast1shared_irelanddb",
         "TargetDatabase": {
             "CatalogId": "444455556666",
             "DatabaseName": "useast1shared_db",
             "Region": "us-east-1"
          }
       }
   }'
   ```

   Esse comando cria um link de recurso chamado `rl_useast1shared_irelanddb` na AWS conta 111122223333 na região Europa (Irlanda) para o banco de dados compartilhado`useast1shared_db`, que está na AWS conta 444455556666 na região Leste dos EUA (Norte da Virgínia). 

1. Conceda a permissão `DESCRIBE` do Lake Formation às entidades principais da região da Europa (Irlanda), que devem ser capazes de exibir o link e acessar o destino do link por meio do link.

**Consulte também:**  
[Como os links de recursos funcionam no Lake Formation](resource-links-about.md)
[`DESCRIBE`](lf-permissions-reference.md#perm-describe)

# Manipulação de links de recursos em AWS Glue APIs
<a name="resource-links-glue-apis"></a>

As tabelas a seguir explicam como o Catálogo de AWS Glue Dados APIs lida com links de recursos de banco de dados e tabelas. Para todas as operações de API do `Get*`, somente bancos de dados e tabelas nos quais o chamador tem permissões são retornados. Além disso, ao acessar um banco de dados ou tabela de destino por meio de um link de recurso, você deve ter as permissões AWS Identity and Access Management (IAM) e Lake Formation no link de destino e no link do recurso. A permissão do Lake Formation exigida nos links de recursos é `DESCRIBE`. Para obter mais informações, consulte [`DESCRIBE`](lf-permissions-reference.md#perm-describe).


**Operações de API de banco de dados**  

| Operação de API | Gestão de links de recursos | 
| --- | --- | 
| CreateDatabase | Se o banco de dados for um link de recurso, ele cria o link de recurso para o banco de dados de destino designado. | 
| UpdateDatabase | Se o banco de dados designado for um link de recurso, ele segue o link e atualiza o banco de dados de destino. Se o link de recurso precisar ser modificado para vincular a um banco de dados diferente, você deverá excluí-lo e criar um novo. | 
| DeleteDatabase | Exclua o link do recurso. Isto não exclui o banco de dados vinculado (de destino). | 
| GetDatabase | Se o chamador tiver permissões no alvo, ele segue o link para retornar as propriedades do alvo. Caso contrário, ele retornará as propriedades do link. | 
| GetDatabases | Retorna uma lista de bancos de dados, incluindo links de recursos. Para cada link de recurso no conjunto de resultados, a operação segue o link para obter as propriedades do link de destino. Você deve especificar ResourceShareType = ALL para ver os bancos de dados compartilhados com sua conta.  | 


**Operações de API de tabela**  

| Operação de API | Gestão de links de recursos | 
| --- | --- | 
| CreateTable | Se o banco de dados for um link de recurso, ele segue o link do banco de dados e cria uma tabela no banco de dados de destino. Se a tabela for um link de recurso, a operação criará o link de recurso no banco de dados designado. Não há suporte para criar um link de recurso de tabela por meio de um link de recurso de banco de dados.  | 
| UpdateTable | Se a tabela ou o banco de dados designado for um link de recurso, isso atualiza a tabela de destino. Se a tabela e o banco de dados forem links de recursos, a operação falhará. | 
| DeleteTable | Se o banco de dados designado for um link de recurso, ele segue o link e exclui a tabela ou o link do recurso da tabela no banco de dados de destino. Se a tabela for um link de recurso, a operação excluirá o link de recurso da tabela no banco de dados designado. A exclusão de um link de recurso de tabela não exclui a tabela de destino. | 
| BatchDeleteTable | Igual a DeleteTable. | 
| GetTable | Se o banco de dados designado for um link de recurso, ele segue o link do banco de dados e retorna a tabela ou o link do recurso da tabela do banco de dados de destino. Caso contrário, se a tabela for um link de recurso, a operação seguirá o link e retornará as propriedades da tabela de destino.  | 
| GetTables | Se o banco de dados designado for um link de recurso, ele segue o link do banco de dados e retorna as tabelas e os links de recursos da tabela do banco de dados de destino. Se o banco de dados de destino for um banco de dados compartilhado de outra AWS conta, a operação retornará somente as tabelas compartilhadas nesse banco de dados. Ele não segue os links de recursos da tabela no banco de dados de destino. Caso contrário, se o banco de dados designado for um banco de dados local (de propriedade), a operação retornará todas as tabelas no banco de dados local e seguirá cada link de recurso da tabela para retornar as propriedades da tabela de destino. | 
| SearchTables | Retorna tabelas e links de recursos de tabelas. Ele não segue links para retornar as propriedades da tabela de destino. Você deve especificar ResourceShareType = ALL para ver as tabelas compartilhadas com sua conta. | 
| GetTableVersion | Igual a GetTable. | 
| GetTableVersions | Igual a GetTable. | 
| DeleteTableVersion | Igual a DeleteTable. | 
| BatchDeleteTableVersion | Igual a DeleteTable. | 


**Operações de API de partição**  

| Operação de API | Gestão de links de recursos | 
| --- | --- | 
| CreatePartition | Se o banco de dados designado for um link de recurso, ele segue o link do banco de dados e cria uma partição na tabela designada no banco de dados de destino. Se a tabela for um link de recurso, a operação segue o link do recurso e cria a partição na tabela de destino. A criação de uma partição por meio de um link de recurso de tabela e de um link de recurso de banco de dados não é suportada. | 
| BatchCreatePartition | Igual a CreatePartition. | 
| UpdatePartition | Se o banco de dados designado for um link de recurso, ele segue o link do banco de dados e atualiza a partição na tabela designada no banco de dados de destino. Se a tabela for um link de recurso, a operação segue o link do recurso e atualiza a partição na tabela de destino. A atualização de uma partição por meio de um link de recurso de tabela e de um link de recurso de banco de dados não é suportada. | 
| DeletePartition | Se o banco de dados designado for um link de recurso, ele segue o link do banco de dados e exclui a partição na tabela designada no banco de dados de destino. Se a tabela for um link de recurso, a operação segue o link do recurso e exclui a partição na tabela de destino. A exclusão de uma partição por meio de um link de recurso de tabela e de um link de recurso de banco de dados não é suportada. | 
| BatchDeletePartition | Igual a DeletePartition. | 
| GetPartition | Se o banco de dados designado for um link de recurso, ele segue o link do banco de dados e retorna as informações da partição da tabela designada. Caso contrário, se a tabela for um link de recurso, a operação seguirá o link e retornará as informações da partição. Se a tabela e o banco de dados forem links de recursos, ele retornará um conjunto de resultados vazio. | 
| GetPartitions | Se o banco de dados designado for um link de recurso, ele segue o link do banco de dados e retorna as informações de partição de todas as partições na tabela designada. Caso contrário, se a tabela for um link de recurso, a operação seguirá o link e retornará as informações da partição. Se a tabela e o banco de dados forem links de recursos, ele retornará um conjunto de resultados vazio. | 
| BatchGetPartition | Igual a GetPartition. | 


**Operações de API de perfis definidas pelo usuário**  

| Operação de API | Gestão de links de recursos | 
| --- | --- | 
| (Todas as operações de API) | Se o banco de dados for um link de recurso, ele segue o link do recurso e executa a operação no banco de dados de destino. | 

**Consulte também:**  
[Como os links de recursos funcionam no Lake Formation](resource-links-about.md)

# Acessar tabelas entre regiões
<a name="data-access-across-region"></a>

O Lake Formation suporta a consulta de tabelas do Catálogo de Dados em todas as AWS regiões. Você pode acessar dados em uma região de outras regiões usando o Amazon Athena, o Amazon EMR e o AWS Glue ETL [criando links de recursos](creating-resource-links.md) em outras regiões apontando para os bancos de dados e tabelas de origem. Com o acesso à tabela entre regiões, você pode acessar dados entre regiões sem copiar os dados subjacentes ou os metadados no catálogo de dados.

Por exemplo, você pode compartilhar um banco de dados ou uma tabela em uma conta de produtor com uma conta de consumidor na Região A. Após aceitar o convite de compartilhamento de recursos na Região A, o administrador do data lake da conta do consumidor pode criar links de recursos para o recurso compartilhado na Região B. O administrador da conta do consumidor pode conceder permissões sobre o recurso compartilhado com as entidades principais do IAM nessa conta na Região A, e conceder permissões de link de recurso na Região B. Ao usar o link do recurso, as entidades principais da conta do consumidor podem consultar os dados compartilhados da Região B.

 Você também ser host da fonte de dados do Amazon S3 na Região A em uma conta de produtor, e registrar o local dos dados em uma conta central na Região B. Você pode criar recursos do catálogo de dados na conta central, configurar permissões do Lake Formation, e compartilhar dados com consumidores em sua conta ou com contas externas na Região B. O atributo entre regiões permite que os usuários acessem essas tabelas do catálogo de dados da Região C usando links de recursos. 

Ao usar esse atributo, você pode consultar bancos de dados federados em Apache Hive repositórios entre regiões e também unir tabelas na região local com tabelas em outra região ao executar consultas. 

O Lake Formation oferece suporte aos seguintes recursos com acesso a tabelas entre regiões:
+ Controle de acesso baseado em tags do LF
+ Permissões de acesso refinado
+ Operações de gravação no banco de dados compartilhado ou na tabela com as permissões apropriadas 
+ Compartilhamento de dados entre contas no nível da conta e direto com as entidades principais do IAM

Usuários não administrativos com permissões `Create_Database` e permissões `Create_Table` podem criar links de recursos entre regiões.

**nota**  
 Você pode criar links de recursos entre regiões em qualquer região e acessar dados sem aplicar as permissões do Lake Formation. Para dados de origem no Amazon S3 que não estão registrados no Lake Formation, o acesso é determinado pelas políticas de permissões do IAM para o Amazon AWS Glue S3 e pelas ações. 

Para conhecer as limitações, consulte [Limitações de acesso aos dados entre regiões](x-region-considerations.md).

## Fluxos de trabalho
<a name="cross-region-workflow"></a>

Os diagramas a seguir mostram os fluxos de trabalho para acessar dados entre AWS regiões a partir da mesma AWS conta e de uma conta externa.

### Fluxo de trabalho para acessar tabelas compartilhadas na mesma AWS conta
<a name="cross-region-workflow-same-account"></a>

 No diagrama abaixo, os dados são compartilhados com um usuário na mesma AWS conta na região Leste dos EUA (Norte da Virgínia), e o usuário consulta os dados compartilhados da região Europa (Irlanda).

![\[Diagram showing data sharing between Contas da AWS across regions with numbered steps.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/cross-region-same-account.png)


O administrador do data lake executa as seguintes atividades (etapas 1 e 2):

1. Um administrador de data lake configura uma AWS conta com os bancos de dados e tabelas do Catálogo de Dados e registra uma localização de dados do Amazon S3 no Lake Formation na região Leste dos EUA (Norte da Virgínia).

   Conceder a permissão `Select` em um recurso do catálogo de dados (tabela de produtos no diagrama) a uma entidade principal (usuário) na mesma conta. 

1. Cria um link de recurso na região da Europa (Irlanda) apontando para a tabela de origem na região Leste dos EUA (Norte da Virgínia). Conceder a permissão `DESCRIBE` no link do recurso da região da Europa (Irlanda) à entidade principal. 

1. O usuário consulta a tabela da região da Europa (Irlanda) usando Athena. 

### Fluxo de trabalho para acessar tabelas compartilhadas com uma AWS conta externa
<a name="cross-region-workflow-x-account"></a>

No diagrama abaixo, a conta do produtor (Conta A) hospeda o bucket Amazon S3, registra o local dos dados e compartilha uma tabela do catálogo de dados com uma conta de consumidor (Conta B) na região Leste dos EUA (Norte da Virgínia) e um usuário da conta do consumidor (Conta B) consulta a tabela da região Europa (Irlanda).

![\[Diagram showing data sharing between Contas da AWS across regions using Amazon S3 and Data Catalog.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/cross-region-x-account.png)


1. Um administrador do data lake configura uma AWS conta (conta do produtor) com os recursos do catálogo de dados e um local de dados do Amazon S3 registrado no Lake Formation na região Leste dos EUA (Norte da Virgínia).

1.  O administrador do data lake da conta do produtor compartilha uma tabela do catálogo de dados com uma conta de consumidor. 

1. O administrador do data lake da conta do consumidor aceita o convite de compartilhamento de dados na região Leste dos EUA (Norte da Virgínia) e concede a permissão `Select` na tabela compartilhada a uma entidade principal da mesma região.

1. O administrador do data lake da conta do consumidor cria um link de recurso na região da Europa (Irlanda) apontando para a tabela compartilhada de destino na região Leste dos EUA (Norte da Virgínia) e concede ao usuário a permissão `DESCRIBE` no link do recurso da região Europa (Irlanda).

1.  O usuário consulta os dados da região da Europa (Irlanda) usando o Athena. 

# Como configurar o acesso à tabela entre regiões
<a name="setup-cross-region-access"></a>

Para acessar dados de uma região diferente, você precisa primeiro configurar os bancos de dados e as tabelas do catálogo de dados na região em que você registra suo local de dados do Amazon S3. Você pode compartilhar os bancos de dados e tabelas do catálogo de dados com as entidades principais na sua conta ou em outra. Em seguida, você precisa criar administradores de data lake que possam criar links de recursos apontando para o local de destino dos dados compartilhados nas regiões onde os usuários consultam os dados. 

**Como consultar dados compartilhados na mesma conta de uma região diferente**

Nesta seção, a região da tabela compartilhada de destino é chamada de Região A e os usuários executam consultas na Região B.

1. 

**Configuração da conta na Região A (onde você cria e compartilha os dados)**

   O administrador do data lake precisa concluir as ações a seguir:

   1. Registre um local de dados do Amazon S3.

      Para obter mais informações, consulte [Adicionar uma localização do Amazon S3 ao seu data lake](register-data-lake.md).

   1.  Crie bancos de dados e tabelas na conta. Isso também pode ser feito por um usuário não administrativo que tenha permissões para criar bancos de dados e tabelas. 

   1. Conceda permissões de dados em uma tabela às entidades principais com `Grantable permissions`.

      Para ter mais informações, consulte [Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md).

1. 

**Configuração da conta na Região B (onde você acessa os dados)**

   O administrador do data lake precisa concluir as ações a seguir:

   1. Crie um link de recurso na Região B apontando para a tabela compartilhada de destino na Região A. Especifique a **Região proprietária da tabela compartilhada** na tela **Criar tabela**.   
![\[Create table interface showing options for resource link creation and shared table details.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/cross-region-resource-link.png)

      Para obter instruções sobre como criar links de recursos para bancos de dados e tabelas, consulte [Criação de links de recursos](creating-resource-links.md).

   1. Conceda a permissão `Describe` às entidades principais do IAM no link do recurso na Região B. 

      Para obter mais informações sobre a concessão de permissões em links de recursos, consulte [Como conceder permissões de links de recursos](granting-link-permissions.md).

      As entidades principais do IAM na Região B podem consultar a tabela de destino por meio do link usando o Athena.

**Como acessar dados de várias contas de uma região diferente**

1. 

**Configuração da conta do produtor/concedente**

   O administrador do data lake precisa concluir as ações a seguir:

   1. Configure a producer/grantor conta na Região A.

   1.  Registre um local de dados do Amazon S3 na Região A. 

   1.  Criar bancos de dados e tabelas. Isso pode ser feito por um usuário não administrativo que tenha permissões para criar tabelas. 

   1. Conceda permissões de dados para a consumer/grantee conta em uma tabela na Região A com`Grantable permissions`.

      Para obter mais informações, consulte [Compartilhamento de tabelas e bancos de dados do catálogo de dados entre Contas da AWS ou diretores do IAM de contas externas](cross-account-data-share-steps.md).

1. 

**Configuração da conta do consumidor/beneficiário**

   O administrador do data lake precisa concluir as ações a seguir: 

   1.  Aceite o convite de compartilhamento de recursos AWS RAM da Região A.

   1. Crie um link de recurso na Região B apontando para a tabela compartilhada. A região B é onde os usuários desejarão consultar a tabela.

   1. Conceda permissões de dados na tabela compartilhada às entidades principais do IAM na Região A.
**nota**  
Você deve conceder permissões para a tabela compartilhada na mesma região em que a tabela foi compartilhada.

   1. Conceda permissões às entidades principais no link do recurso na Região B. 

      As entidades principais da conta do consumidor na Região B então consultam a tabela compartilhada da Região B usando o Athena.