

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

# Atualizando as permissões AWS Glue de dados para o modelo AWS Lake Formation
<a name="upgrade-glue-lake-formation"></a>

AWS Lake Formation as permissões permitem um controle de acesso refinado para dados em seu data lake. Você pode usar o modelo de permissões do Lake Formation para gerenciar seus AWS Glue Data Catalog objetos e locais de dados existentes no Amazon Simple Storage Service (Amazon S3).

O modelo de permissões do Lake Formation usa permissões granulares AWS Identity and Access Management (IAM) para acesso ao serviço de API. O Lake Formation usa a funcionalidade [Filtragem de dados e segurança por célula no Lake Formation](data-filtering.md) para restringir o acesso à tabela em nível de coluna, linha e célula para os usuários e as respectivas aplicações. Em comparação, o modelo do AWS Glue concede acesso aos dados por meio de [políticas do IAM baseadas em identidade e recursos](https://docs.aws.amazon.com/glue/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies). 

Para fazer a troca, siga as etapas deste guia.

Para obter mais informações, consulte [Visão geral das permissões do Lake Formation](lf-permissions-overview.md).

## Sobre permissões padrão
<a name="upgrade-glue-lake-formation-background"></a>

Para manter a compatibilidade com versões anterioresAWS Glue, por padrão, AWS Lake Formation concede a `Super` permissão ao `IAMAllowedPrincipals` grupo em todos os recursos existentes do Catálogo de AWS Glue Dados e concede a `Super` permissão em novos recursos do Catálogo de Dados se as configurações de **controle de acesso Use only IAM** estiverem ativadas. Isso efetivamente faz com que o acesso aos recursos do catálogo de dados e aos locais do Amazon S3 seja controlado exclusivamente pelas políticas do AWS Identity and Access Management (IAM). O grupo `IAMAllowedPrincipals` inclui todos os usuários e funções do IAM que têm permissão para acessar seus objetos do catálogo de dados por meio de suas políticas do IAM. A permissão `Super` possibilita que uma entidade principal execute todas as operações suportadas do Lake Formation no banco de dados ou na tabela em que ela foi concedida.

Você pode começar a usar o Lake Formation para gerenciar o acesso aos seus dados registrando os locais dos recursos existentes do catálogo de dados no Lake Formation ou usando o modo de acesso híbrido. Ao registrar a localização do Amazon S3 no modo de acesso híbrido, você pode habilitar as permissões do Lake Formation optando por entidades principais para bancos de dados e tabelas nesse local.

Para facilitar a transição das permissões do data lake de um modelo do IAM e do Amazon S3 para as permissões do Lake Formation, recomendamos que você use o modo de acesso híbrido para o catálogo de dados. Com o modo de acesso híbrido, você tem um caminho incremental em que pode habilitar as permissões do Lake Formation para um conjunto específico de usuários sem interromper outros usuários ou workloads existentes.

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

Desative as configurações padrão do catálogo de dados para transferir todos os usuários existentes de uma tabela para o Lake Formation em uma única etapa.

Para começar a usar as permissões do Lake Formation com bancos de dados e tabelas do catálogo de dados do AWS Glue existentes, você deve fazer o seguinte:

1. Determine as permissões do IAM existentes dos seus usuários para cada banco de dados e tabela.

1. Replique essas permissões no Lake Formation.

1. Para cada local do Amazon S3 que contém dados:

   1. Revogue a permissão `Super` do grupo `IAMAllowedPrincipals` em cada recurso do catálogo de dados que faça referência a esse local.

   1. Registre o local com o Lake Formation.

1. Limpe as políticas do IAM de controle de acesso fino existentes.

**Importante**  
Para adicionar novos usuários durante o processo de transição do seu catálogo de dados, você deve configurar permissões granulares do AWS Glue no IAM como antes. Você também deve replicar essas permissões no Lake Formation conforme descrito nesta seção. Se os novos usuários tiverem as políticas gerais do IAM descritas neste guia, eles poderão listar quaisquer bancos de dados ou tabelas que tenham a permissão `Super` concedida para `IAMAllowedPrincipals`. Eles também podem visualizar os metadados desses recursos.

Siga as etapas desta seção para atualizar para o modelo de permissões do Lake Formation.

**Topics**
+ [Sobre permissões padrão](#upgrade-glue-lake-formation-background)
+ [Etapa 1: listar as permissões existentes dos usuários e das funções](#upgrade-glue-lake-formation-step1)
+ [Etapa 2: configurar permissões equivalentes do Lake Formation](#upgrade-glue-lake-formation-step2)
+ [Etapa 3: conceder aos usuários permissões do IAM para usar o Lake Formation](#upgrade-glue-lake-formation-step3)
+ [Etapa 4: mude seus armazenamentos de dados para o modelo de permissões do Lake Formation](#upgrade-glue-lake-formation-step4)
+ [Etapa 5: proteja os novos recursos do catálogo de dados](#upgrade-glue-lake-formation-step5)
+ [Etapa 6: fornecer aos usuários uma nova política do IAM para acesso futuro ao data lake](#upgrade-glue-lake-formation-step6)
+ [Etapa 7: limpar políticas do IAM existentes](#upgrade-glue-lake-formation-step7)

## Etapa 1: listar as permissões existentes dos usuários e das funções
<a name="upgrade-glue-lake-formation-step1"></a>

Para começar a usar AWS Lake Formation permissões com seus AWS Glue bancos de dados e tabelas existentes, você deve primeiro determinar as permissões existentes dos seus usuários.

**Importante**  
Antes de começar, realize as seguintes tarefas em [Introdução ao Lake Formation](getting-started-setup.md).

**Topics**
+ [Usar a operação da API](#upgrade-glue-lake-formation-step1-api)
+ [Usando o Console de gerenciamento da AWS](#upgrade-glue-lake-formation-step1-console)
+ [Usando AWS CloudTrail](#upgrade-glue-lake-formation-step1-ct)

### Usar a operação da API
<a name="upgrade-glue-lake-formation-step1-api"></a>

Use a operação da [ListPoliciesGrantingServiceAccess](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPoliciesGrantingServiceAccess.html)API AWS Identity and Access Management (IAM) para determinar as políticas do IAM anexadas a cada principal (usuário ou função). A partir das políticas retornadas nos resultados, você pode determinar as permissões do IAM que são concedidas à entidade principal. Você deve invocar a API para cada entidade principal separadamente.

**Example**  
O AWS CLI exemplo a seguir retorna as políticas anexadas ao usuário`glue_user1`.  

```
aws iam list-policies-granting-service-access --arn arn:aws:iam::111122223333:user/glue_user1 --service-namespaces glue
```
O comando retorna resultados semelhantes ao seguinte.  

```
{
    "PoliciesGrantingServiceAccess": [
        {
            "ServiceNamespace": "glue",
            "Policies": [
                {
                    "PolicyType": "INLINE",
                    "PolicyName": "GlueUserBasic",
                    "EntityName": "glue_user1",
                    "EntityType": "USER"
                },
                {
                    "PolicyType": "MANAGED",
                    "PolicyArn": "arn:aws:iam::aws:policy/AmazonAthenaFullAccess",
                    "PolicyName": "AmazonAthenaFullAccess"
                }
            ]
        }
    ],
    "IsTruncated": false
}
```

### Usando o Console de gerenciamento da AWS
<a name="upgrade-glue-lake-formation-step1-console"></a>

Você também pode ver essas informações no console AWS Identity and Access Management (IAM), na guia **Access Advisor** na página de **resumo** do usuário ou da função:

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, selecione **Usuários** ou **Funções**.

1. Escolha um nome na lista para abrir a página **Resumo** e escolha a guia **Supervisor de Acesso**.

1.  Inspecione cada uma das políticas para determinar a combinação de bancos de dados, tabelas e ações para as quais cada usuário tem permissões.

   Lembre-se de inspecionar as funções, além dos usuários, durante esse processo, pois seus trabalhos de processamento de dados podem estar assumindo funções para acessar os dados.

### Usando AWS CloudTrail
<a name="upgrade-glue-lake-formation-step1-ct"></a>

Outra forma de determinar suas permissões existentes é procurar chamadas de AWS Glue API em AWS CloudTrail que o `additionaleventdata` campo dos registros contenha uma `insufficientLakeFormationPermissions` entrada. Essa entrada lista o banco de dados e a tabela nos quais o usuário precisa das permissões do Lake Formation para realizar a mesma ação. 

Esses são logs de acesso a dados, portanto, não é garantido que produzam uma lista abrangente de usuários e suas permissões. Recomendamos escolher um intervalo de tempo amplo para capturar a maioria dos padrões de acesso aos dados de seus usuários, por exemplo, várias semanas ou meses.

Para obter mais informações, consulte [Visualização de CloudTrail eventos com histórico](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) de eventos no *Guia AWS CloudTrail do usuário*.

Em seguida, você pode configurar as permissões do Lake Formation de acordo com as permissões do AWS Glue. Consulte [Etapa 2: configurar permissões equivalentes do Lake Formation](#upgrade-glue-lake-formation-step2).

## Etapa 2: configurar permissões equivalentes do Lake Formation
<a name="upgrade-glue-lake-formation-step2"></a>

Usando as informações coletadas em[Etapa 1: listar as permissões existentes dos usuários e das funções](#upgrade-glue-lake-formation-step1), conceda AWS Lake Formation permissões que correspondam às AWS Glue permissões. Use qualquer um dos métodos a seguir para realizar as concessões:
+ Você pode usar o console do Lake Formation ou a AWS CLI.

  Consulte [Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md).
+ Use as operações da API `GrantPermissions` ou `BatchGrantPermissions`.

  Consulte [APIs de permissõesAPIs de modo de acesso híbrido](aws-lake-formation-api-aws-lake-formation-api-permissions.md).

Para obter mais informações, consulte [Visão geral das permissões do Lake Formation](lf-permissions-overview.md).

Depois de configurar as permissões do Lake Formation, siga para a [Etapa 3: conceder aos usuários permissões do IAM para usar o Lake Formation](#upgrade-glue-lake-formation-step3).

## Etapa 3: conceder aos usuários permissões do IAM para usar o Lake Formation
<a name="upgrade-glue-lake-formation-step3"></a>

Para usar o modelo de AWS Lake Formation permissões, os diretores devem ter permissões AWS Identity and Access Management (IAM) no Lake Formation APIs.

Crie a política a seguir no IAM e a anexe a todos os usuários que precisam acessar seu data lake. Atribua o nome `LakeFormationDataAccess` à política.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "LakeFormationDataAccess",
            "Effect": "Allow",
            "Action": [
                "lakeformation:GetDataAccess"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Em seguida, atualize para as permissões do Lake Formation, um local de dados por vez. Consulte [Etapa 4: mude seus armazenamentos de dados para o modelo de permissões do Lake Formation](#upgrade-glue-lake-formation-step4).

## Etapa 4: mude seus armazenamentos de dados para o modelo de permissões do Lake Formation
<a name="upgrade-glue-lake-formation-step4"></a>

Atualize para as permissões do Lake Formation, um local de dados por vez. Para isso, repita essa seção inteira até ter registrado todos os caminhos do Amazon Simple Storage Service (Amazon S3) referenciados pelo catálogo de dados.

**Topics**
+ [Verifique permissões do Lake Formation](#identify-catalog-resources)
+ [Proteja os recursos existentes do catálogo de dados](#upgrade-secure-resources)
+ [Ative as permissões do Lake Formation para sua localização no Amazon S3](#upgrade-glue-lake-formation-turn-on-permissions)

### Verifique permissões do Lake Formation
<a name="identify-catalog-resources"></a>

Antes de registrar um local, execute uma etapa de verificação para garantir que as entidades principais corretas tenham as permissões necessárias para o Lake Formation e que nenhuma permissão para o Lake Formation seja concedida às entidades principais que não deveriam tê-las. Ao usar a operação da API `GetEffectivePermissionsForPath` do Lake Formation, identifique os recursos do catálogo de dados que fazem referência à localização do Amazon S3, junto com as entidades principais que têm permissões sobre esses recursos.

O AWS CLI exemplo a seguir retorna os bancos de dados e tabelas do catálogo de dados que fazem referência ao bucket do Amazon S3. `products`

```
aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws:s3:::products --profile datalake_admin
```

Observe a opção `profile`. Recomendamos que você execute o comando como administrador do data lake.

A seguir está um trecho dos resultados retornados.

```
{
        "PermissionsWithGrantOption": [
            "SELECT"
        ],
        "Resource": {
            "TableWithColumns": {
                "Name": "inventory_product",
                "ColumnWildcard": {},
                "DatabaseName": "inventory"
            }
        },
        "Permissions": [
            "SELECT"
        ],
        "Principal": {
            "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1",
            "DataLakePrincipalType": "IAM_USER"
        }
 },...
```

**Importante**  
Se o catálogo de dados do AWS Glue estiver criptografado, `GetEffectivePermissionsForPath` retornará somente bancos de dados e tabelas que foram criados ou modificados após a disponibilidade geral do Lake Formation.

### Proteja os recursos existentes do catálogo de dados
<a name="upgrade-secure-resources"></a>

Em seguida, revogue a permissão `Super` de cada tabela e banco de dados `IAMAllowedPrincipals` que você identificou para o local. 

**Atenção**  
Se você tiver uma automação que cria bancos de dados e tabelas no catálogo de dados, as etapas a seguir podem fazer com que as tarefas de automação e extração, transformação e carregamento (ETL) posteriores falhem. Prossiga somente depois de modificar seus processos existentes ou conceder permissões explícitas do Lake Formation às entidades principais necessárias. Para obter informações sobre as permissões do Lake Formation, consulte [Referência de permissões do Lake Formation](lf-permissions-reference.md).

**Para revogar `Super` de `IAMAllowedPrincipals` em uma tabela**

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, selecione **Tabelas**.

1. Na página **Tabelas**, selecione o botão de opção ao lado da tabela desejada.

1. No menu **Ações**, selecione **Revogar**.

1. Na caixa de diálogo **Revogar permissões**, na lista de **usuários e funções do IAM**, role para baixo até o título **Grupo** e escolha **IAMAllowedPrincipals**.

1. Em **Permissões da tabela**, verifique se a opção **Super** está selecionada e escolha **Revogar**.

**Para revogar `Super` de `IAMAllowedPrincipals` em um banco de dados**

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, escolha **Bancos de dados**.

1. Na página **Banco de dados**, selecione o botão de opção ao lado do banco de dados desejado.

1. No menu **Ações**, escolha **Editar**.

1. Na página **Editar banco de dados**, desmarque **Usar somente o controle de acesso do IAM para novas tabelas nesse banco de dados** e escolha **Salvar**.

1. De volta à página **Banco de dados**, verifique se o banco de dados ainda está selecionado e, no menu **Ações**, escolha **Revogar**.

1. Na caixa de diálogo **Revogar permissões**, na lista de **usuários e funções do IAM**, role para baixo até o título **Grupo** e escolha **IAMAllowedPrincipals**.

1. Em **Permissões de banco de dados**, verifique se a opção **Super** está selecionada e escolha **Revogar**.

### Ative as permissões do Lake Formation para sua localização no Amazon S3
<a name="upgrade-glue-lake-formation-turn-on-permissions"></a>

Em seguida, registre o local do Amazon S3 com o Lake Formation. Para isso, você pode usar o processo descrito em [Adicionar uma localização do Amazon S3 ao seu data lake](register-data-lake.md). Ou utilize a operação da API `RegisterResource`, conforme descrito em [APIs de fornecimento de credenciais](aws-lake-formation-api-credential-vending.md).

**nota**  
Se o local pai estiver registrado, você não precisa registrar locais filho.

Depois de concluir essas etapas e testar se seus usuários podem acessar seus dados, você atualizou com sucesso para as permissões do Lake Formation. Continue na próxima etapa, [Etapa 5: proteja os novos recursos do catálogo de dados](#upgrade-glue-lake-formation-step5).

## Etapa 5: proteja os novos recursos do catálogo de dados
<a name="upgrade-glue-lake-formation-step5"></a>

Em seguida, assegure todos os novos recursos do catálogo de dados alterando as configurações padrão do catálogo de dados. Desative as opções de usar somente o controle de acesso AWS Identity and Access Management (IAM) para novos bancos de dados e tabelas.

**Atenção**  
Se você tiver uma automação que cria bancos de dados e tabelas no catálogo de dados, as etapas a seguir podem fazer com que as tarefas de automação e extração, transformação e carregamento (ETL) posteriores falhem. Prossiga somente depois de modificar seus processos existentes ou conceder permissões explícitas do Lake Formation às entidades principais necessárias. Para obter informações sobre as permissões do Lake Formation, consulte [Referência de permissões do Lake Formation](lf-permissions-reference.md).

**Para alterar as configurações padrão do catálogo de dados**

1. Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Faça login como usuário administrativo do IAM (o usuário `Administrator` ou outro usuário com a política `AdministratorAccess` AWS gerenciada).

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

1. Na página **Configurações do catálogo de dados**, desmarque as duas caixas de seleção e escolha **Salvar**.

A próxima etapa é conceder aos usuários acesso a bancos de dados ou tabelas adicionais no futuro. Consulte [Etapa 6: fornecer aos usuários uma nova política do IAM para acesso futuro ao data lake](#upgrade-glue-lake-formation-step6).

## Etapa 6: fornecer aos usuários uma nova política do IAM para acesso futuro ao data lake
<a name="upgrade-glue-lake-formation-step6"></a>

Para conceder aos seus usuários acesso a bancos de dados ou tabelas adicionais do Data Catalog no futuro, você deve fornecer a eles a política embutida de granularidade geral AWS Identity and Access Management (IAM) que segue. Atribua o nome `GlueFullReadAccess` à política.

**Importante**  
Se você anexar essa política a um usuário antes da revogação de `Super` de `IAMAllowedPrincipals` em cada banco de dados e tabela em seu catálogo de dados, esse usuário poderá visualizar todos os metadados de qualquer recurso ao qual `Super` tenha sido concedido a `IAMAllowedPrincipals`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GlueFullReadAccess",
            "Effect": "Allow",
            "Action": [
                "lakeformation:GetDataAccess",
                "glue:GetTable",
                "glue:GetTables",
                "glue:SearchTables",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "glue:GetPartitions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**nota**  
As políticas em linha designadas nesta etapa e nas etapas anteriores contêm permissões mínimas do IAM. Para políticas sugeridas para administradores de data lake, analistas de dados e outras pessoas, consulte [Referência de personas e permissões do IAM do Lake Formation](permissions-reference.md).

Em seguida, prossiga para a [Etapa 7: limpar políticas do IAM existentes](#upgrade-glue-lake-formation-step7).

## Etapa 7: limpar políticas do IAM existentes
<a name="upgrade-glue-lake-formation-step7"></a>

Depois de configurar as AWS Lake Formation permissões e criar e anexar as políticas gerais de controle de acesso AWS Identity and Access Management (IAM), conclua a seguinte etapa final:
+ Remova dos usuários, grupos e funções que as antigas políticas de [controle de acesso refinado](https://docs.aws.amazon.com/glue/latest/dg/using-identity-based-policies.html#glue-identity-based-policy-limitations.html) do IAM que você replicou no Lake Formation.

Ao fazer isso, você garante que essas entidades principais não tenham mais acesso direto aos dados no Amazon Simple Storage Service (Amazon S3). Em seguida, você pode gerenciar o acesso dessas entidades principais ao data lake inteiramente por meio do Lake Formation.