

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

# Alterar o controle de acesso de AWS Lake Formation para o IAM
<a name="change-access-lf-to-iam"></a>

Esta seção descreve o fluxo de trabalho para alterar o controle de acesso de AWS Lake Formation concessões para privilégios do IAM para tabelas do Amazon S3 integradas ao. AWS Glue Data Catalog

**Importante**  
Alterar o controle de acesso das AWS Lake Formation concessões para o IAM revogará todo o Formation-based acesso existente do Lake aos seus recursos do S3 Tables. Depois de concluir a Etapa 2, os usuários e funções que acessaram dados anteriormente por meio de subsídios do Lake Formation perderão imediatamente o acesso. Você deve conceder acesso ao IAM na Etapa 1 antes de atualizar o catálogo. Planeje essa migração durante uma janela de manutenção e coordene com sua equipe de dados.

**Importante**  
Fine-grained controles de acesso, como acesso em nível de coluna e filtros de células de dados, com objetos do Catálogo de Dados estão disponíveis somente quando usados AWS Lake Formation . Antes de prosseguir com a migração dos controles de acesso do IAM AWS Lake Formation para o IAM, audite suas concessões existentes do Lake Formation usando `aws lakeformation list-permissions` e determine se políticas equivalentes do IAM podem fornecer o acesso de que seus usuários precisam. Qualquer diretor que dependesse de subsídios refinados do Lake Formation exigirá acesso completo ao IAM em nível de tabela após migrar o controle de acesso.

## Pré-requisitos
<a name="w2aac13c29b9b9"></a>

Antes de começar, certifique-se do seguinte:
+ Você identificou todos os subsídios do Lake Formation atualmente em vigor para os recursos que estão sendo migrados. Corra `aws lakeformation list-permissions --resource-type TABLE` para revisá-los.
+ Você preparou políticas do IAM que fornecem acesso equivalente para todos os principais afetados.
+ A função do IAM registrada no Lake Formation ainda existe `lakeformation:GetDataAccess` (necessária durante o período de transição híbrida).

## Utilizar AWS CLI
<a name="w2aac13c29b9c11"></a>

1. **Etapa 1: conceder permissões do IAM aos diretores**

   Anexe políticas do IAM aos usuários ou funções que precisam de acesso. A política deve incluir permissões de AWS Glue metadados e permissões de dados de tabelas do S3.
**nota**  
O exemplo de política a seguir fornece apenas acesso de leitura.

   ```
   aws iam put-user-policy \
     --user-name {{GlueIAMAccessUser}} \
     --policy-name {{S3TablesIAMAccessPolicy}} \
     --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "GlueMetadataAccess",
               "Effect": "Allow",
               "Action": [
                   "glue:GetCatalog",
                   "glue:GetDatabase",
                   "glue:GetTable"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:{{AWSAccountID}}:catalog/s3tablescatalog",
                   "arn:aws:glue:us-east-1:{{AWSAccountID}}:database/s3tablescatalog/{{table-bucket-name}}/{{namespace}}",
                   "arn:aws:glue:us-east-1:{{AWSAccountID}}:table/s3tablescatalog/{{table-bucket-name}}/{{namespace}}/*"
               ]
           },
           {
               "Sid": "S3TablesDataAccess",
               "Effect": "Allow",
               "Action": [
                   "s3tables:GetTableBucket",
                   "s3tables:GetTable",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:{{AWSAccountID}}:bucket/{{table-bucket-name}}",
                   "arn:aws:s3tables:us-east-1:{{AWSAccountID}}:bucket/{{table-bucket-name}}/table/*"
               ]
           }
       ]
     }'
   ```

   Verifique se todos os usuários e funções afetados podem acessar as tabelas esperadas usando suas credenciais do IAM antes de continuar.

1. **Etapa 2: atualizar o catálogo para restaurar as permissões padrão do IAM**

   Atualize o catálogo para isso `CreateDatabaseDefaultPermissions` e `CreateTableDefaultPermissions` `ALL` conceda `IAM_ALLOWED_PRINCIPALS` a. `OverwriteChildResourcePermissionsWithDefault`Defina para `Accept` que a alteração se propague para todos os recursos secundários existentes, não apenas para os recém-criados.

   ```
   aws glue update-catalog \
     --catalog-id "s3tablescatalog" \
     --catalog-input '{
       "FederatedCatalog": {
           "Identifier": "arn:aws:s3tables:us-east-1:{{AWSAccountID}}:bucket/*",
           "ConnectionName": "aws:s3tables"
       },
       "CreateDatabaseDefaultPermissions": [{
           "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"},
           "Permissions": ["ALL"]
       }],
       "CreateTableDefaultPermissions": [{
           "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"},
           "Permissions": ["ALL"]
       }],
       "OverwriteChildResourcePermissionsWithDefault": "Accept"
     }'
   ```

1. **Etapa 3: Cancele o registro do recurso do Lake Formation**

   Depois de confirmar que todo o acesso está funcionando por meio das políticas do IAM e que nenhum diretor depende dos subsídios do Lake Formation, você pode cancelar o registro do recurso no Lake Formation para concluir a migração.

   ```
   aws lakeformation deregister-resource \
     --resource-arn "arn:aws:s3tables:us-east-1:{{AWSAccountID}}:bucket/*"
   ```
**nota**  
Depois de cancelar o registro do recurso, remova `lakeformation:GetDataAccess` do IAM os diretores que não precisam mais dele.

Nenhuma `revoke-permissions` etapa é necessária.