

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cambie el control de acceso de AWS Lake Formation a IAM
<a name="change-access-lf-to-iam"></a>

En esta sección se describe el flujo de trabajo para cambiar el control de acceso de AWS Lake Formation concesiones a privilegios de IAM para las tablas de Amazon S3 integradas con. AWS Glue Data Catalog

**importante**  
Si cambias el control de acceso de AWS Lake Formation las subvenciones al IAM, se revocarán todos los accesos existentes basados en Lake Formation a tus recursos de S3 Tables. Después de completar el paso 2, los usuarios y roles que anteriormente accedieron a los datos a través de las subvenciones de Lake Formation perderán el acceso inmediatamente. Debe conceder el acceso a IAM en el paso 1 antes de actualizar el catálogo. Planifique esta migración durante un período de mantenimiento y coordine con su equipo de datos.

**importante**  
Los controles de acceso detallados, como el acceso a nivel de columnas y los filtros de celdas de datos, junto con los objetos del catálogo de datos, están disponibles solo cuando se utilizan. AWS Lake Formation Antes de proceder a migrar los controles de acceso de IAM AWS Lake Formation a IAM, audite sus subvenciones actuales de Lake Formation `aws lakeformation list-permissions` y determine si las políticas de IAM equivalentes pueden proporcionar el acceso que necesitan sus usuarios. Cualquier director que dependiera de subvenciones detalladas de Lake Formation necesitará un acceso completo a la IAM a nivel de mesa después de migrar el control de acceso.

## Requisitos previos
<a name="w2aac13c29b9b9"></a>

Antes de empezar, asegúrese de lo siguiente:
+ Has identificado todas las subvenciones de Lake Formation actualmente en vigor para los recursos que se están migrando. Corre `aws lakeformation list-permissions --resource-type TABLE` a revisarlas.
+ Ha preparado políticas de IAM que proporcionan un acceso equivalente a todos los directores afectados.
+ El rol de IAM registrado en Lake Formation aún lo tiene `lakeformation:GetDataAccess` (necesario durante el período de transición híbrida).

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

1. **Paso 1: Otorgar permisos de IAM a los directores**

   Adjunte las políticas de IAM a los usuarios o roles a los que necesiten acceso. La política debe incluir tanto AWS Glue los permisos de metadatos como los permisos de datos de S3 Tables.
**nota**  
El siguiente ejemplo de política solo proporciona acceso de lectura.

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

   Compruebe que todos los usuarios y roles afectados puedan acceder a las tablas esperadas con sus credenciales de IAM antes de continuar.

1. **Paso 2: Actualice el catálogo para restaurar los permisos predeterminados de IAM**

   Actualice el catálogo para eso `CreateDatabaseDefaultPermissions` y `CreateTableDefaultPermissions` asígnelo`ALL`. `IAM_ALLOWED_PRINCIPALS` `OverwriteChildResourcePermissionsWithDefault``Accept`Configúrelo para que el cambio se propague a todos los recursos secundarios existentes, no solo a los recién creados.

   ```
   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. **Paso 3: Anular el registro del recurso de Lake Formation**

   Una vez que hayas confirmado que todos los accesos funcionan según las políticas de IAM y que los directores no dependen de las subvenciones de Lake Formation, puedes anular el registro del recurso de Lake Formation para completar la migración.

   ```
   aws lakeformation deregister-resource \
     --resource-arn "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*"
   ```
**nota**  
Tras anular el registro del recurso, elimínelo de las entidades principales `lakeformation:GetDataAccess` de IAM que ya no lo necesiten.

No es necesario realizar ningún paso`revoke-permissions`.