

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.

# Integración de Amazon S3 Tables con AWS Glue Data Catalog y AWS Lake Formation
<a name="create-s3-tables-catalog"></a>

Las [Tablas de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html) proporcionan almacenamiento S3 optimizado específicamente para cargas de trabajo de análisis, lo que mejora el rendimiento de las consultas y reduce los costos. Los datos de Tablas de S3 se almacenan en un nuevo tipo de bucket: un *bucket de tablas*, que almacena tablas como subrecursos. Las tablas de S3 incluyen compatibilidad integrada con el estándar Apache Iceberg, que permite consultar fácilmente datos tabulares en buckets de tablas de Amazon S3 mediante motores de consulta populares como Apache Spark.

Puede integrar Amazon S3 Tables AWS Glue Data Catalog mediante controles de acceso de IAM o con subvenciones de IAM y Lake Formation:
+ **Control de acceso de IAM**: utiliza políticas de IAM para controlar el acceso a las tablas y al catálogo de datos de S3. En este enfoque de control de acceso, se necesitan permisos de IAM tanto en los recursos de S3 Tables como en los objetos del catálogo de datos para acceder a los recursos.
+ **Control de acceso a Lake Formation**: utiliza AWS Lake Formation concesiones además de los permisos de AWS Glue IAM para controlar el acceso a las tablas S3 a través del catálogo de datos. En este modo, los directores requieren permisos de IAM para interactuar con el catálogo de datos, y las concesiones de Lake Formation determinan a qué recursos del catálogo (bases de datos, tablas, columnas, filas) puede acceder el director. Este modo admite tanto el control de acceso amplio (concesiones a nivel de base de datos y tabla) como el control de acceso detallado (seguridad a nivel de columna y fila). Cuando se configura un rol registrado y se habilita la venta de credenciales, no se requieren permisos de IAM de S3 Tables para el director, ya que Lake Formation vende las credenciales en nombre del principal mediante el rol registrado. El control de acceso de Lake Formation también admite la venta de credenciales para motores de análisis de terceros.

En esta sección se proporciona una guía para configurar la integración en los siguientes escenarios: AWS Lake Formation 
+ **Escenario A**: Ha integrado las tablas y el catálogo de datos de S3 mediante los controles de acceso de IAM y ahora piensa AWS Lake Formation utilizarlos. Consulte [Cambiar los controles de acceso para la integración de S3 Tables](manage-s3tables-catalog-integration.md) para obtener más información.
+ **Escenario B**: Planea integrar las tablas y el catálogo de datos de S3 utilizando su cuenta AWS Lake Formation y región, y actualmente no los tiene integrados en su cuenta y región. Comience con la [Requisitos previos para integrar el catálogo de Tablas de Amazon S3 con el Catálogo de datos y Lake Formation](s3tables-catalog-prerequisites.md) sección y siga[Habilitación de la integración de Tablas de Amazon S3](enable-s3-tables-catalog-integration.md).
+ **Escenario C**: Ha integrado las tablas y el catálogo de datos de S3 mediante IAM AWS Lake Formation y ahora planea usarlo. Consulte [Cambiar los controles de acceso para la integración de S3 Tables](manage-s3tables-catalog-integration.md) para obtener más información.

Asegúrese de seguir los pasos que se indican en la sección [Integración de las tablas de S3 con los servicios de AWS análisis](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) para disponer de los permisos adecuados para acceder a los recursos de la tabla AWS Glue Data Catalog y a los suyos, y para trabajar con los servicios de AWS análisis.

**Topics**
+ [Cómo funciona la integración del Catálogo de datos y Lake Formation](#w2aac13c27c19)
+ [Requisitos previos para integrar el catálogo de Tablas de Amazon S3 con el Catálogo de datos y Lake Formation](s3tables-catalog-prerequisites.md)
+ [Habilitación de la integración de Tablas de Amazon S3](enable-s3-tables-catalog-integration.md)
+ [Creación de bases de datos y tablas en el catálogo de Tablas de S3](create-databases-tables-s3-catalog.md)
+ [Registrar un bucket de mesa de Amazon S3 en otra AWS cuenta](register-cross-account-s3-table-bucket.md)
+ [Concesión de permisos](s3-tables-grant-permissions.md)

## Cómo funciona la integración del Catálogo de datos y Lake Formation
<a name="w2aac13c27c19"></a>

Al integrar el catálogo de tablas de S3 con el Catálogo de datos y Lake Formation, el servicio AWS Glue crea un único catálogo federado denominado `s3tablescatalog` en el Catálogo de datos predeterminado de su cuenta específico de su Región de AWS. La integración mapea todos los recursos del bucket de tablas de Amazon S3 de su Región de AWS cuenta y del catálogo federado de la siguiente manera:
+ Los buckets de Tablas de Amazon S3 se convierten en un catálogo de varios niveles en el Catálogo de datos.
+ El espacio de nombres de Amazon S3 asociado está registrado como base de datos en el Catálogo de datos.
+ Las Tablas de Amazon S3 del bucket de tablas se convierten en tablas del Catálogo de datos.

![\[Mapeo de objetos entre tablas de S3 y AWS Glue Data Catalog.\]](http://docs.aws.amazon.com/es_es/lake-formation/latest/dg/images/S3Tables-glue-catalog.png)


 Tras la integración con Lake Formation, puede crear tablas de Apache Iceberg en el catálogo de cubos de tablas y acceder a ellas mediante motores de AWS análisis integrados, como Amazon Athena Amazon EMR, así como motores de análisis de terceros. 

Cuando también habilitas Lake Formation con la integración, se posibilita un control de acceso detallado. AWS Lake Formation Este enfoque de seguridad significa que, además de los permisos AWS Identity and Access Management (de IAM), debe conceder a su director de IAM con los permisos de Lake Formation en sus tablas antes de poder trabajar con ellos.

Hay dos tipos principales de permisos en AWS Lake Formation:
+ Los permisos de acceso a metadatos controlan la capacidad de crear, leer, actualizar y eliminar bases de datos de metadatos y tablas del Catálogo de datos.
+ Los permisos de acceso a los datos subyacentes controlan la capacidad de leer y escribir datos en las ubicaciones de Amazon S3 subyacentes a las que apuntan los recursos del Catálogo de datos.

Lake Formation utiliza una combinación de su propio modelo de permisos y el modelo de permisos de IAM para controlar el acceso a los recursos del Catálogo de datos y a los datos subyacentes.
+ Para que una solicitud de acceso a los recursos del Catálogo de datos o a los datos subyacentes se atienda correctamente, debe pasar las comprobaciones de permisos tanto de IAM como de Lake Formation.
+ Los permisos de IAM controlan el acceso a Lake Formation AWS Glue APIs y sus recursos, mientras que los permisos de Lake Formation controlan el acceso a los recursos del catálogo de datos, a las ubicaciones de Amazon S3 y a los datos subyacentes.

Los permisos de Lake Formation se aplican solo en la región en la que se concedieron, y la entidad principal debe estar autorizada por un administrador de lago de datos o de otra entidad principal con los permisos necesarios para que se le concedan permisos de Lake Formation.

# Requisitos previos para integrar el catálogo de Tablas de Amazon S3 con el Catálogo de datos y Lake Formation
<a name="s3tables-catalog-prerequisites"></a>

Los siguientes son los requisitos previos para habilitar la integración de tablas de Amazon S3 con AWS Glue Data Catalog y AWS Lake Formation.

1.  Al habilitar la integración de Tablas de Amazon S3, Lake Formation registra automáticamente la ubicación de las tablas de S3. Para registrar la ubicación del cubo de la mesa en Lake Formation, necesita un IAM role/user con `lakeformation:RegisterResource``lakeformation:RegisterResourceWithPrivilegedAccess`, y `lakeformation:CreateCatalog` permisos. Cuando un usuario no administrador con estos permisos registra una ubicación en el catálogo, Lake Formation le concede automáticamente el permiso `DATA_LOCATION_ACCESS` para esa ubicación, lo que permite a la entidad principal que realiza la llamada llevar a cabo todas las operaciones de Lake Formation compatibles en la ubicación de datos registrada.

1. <a name="step3-permissions"></a> Al habilitar la integración de tablas de S3, debe elegir un rol de IAM para que Lake Formation provea credenciales que permitan el acceso a los datos. Cree un rol de IAM para el acceso de los datos de Lake Formation a los buckets de tablas de S3. El rol de IAM utilizado para registrar el bucket de tablas con Lake Formation requiere los permisos siguientes: 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "LakeFormationPermissionsForS3ListTableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:ListTableBuckets"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:CreateTableBucket",
                   "s3tables:GetTableBucket",
                   "s3tables:CreateNamespace",
                   "s3tables:GetNamespace",
                   "s3tables:ListNamespaces",
                   "s3tables:DeleteNamespace",
                   "s3tables:DeleteTableBucket",
                   "s3tables:CreateTable",
                   "s3tables:DeleteTable",
                   "s3tables:GetTable",
                   "s3tables:ListTables",
                   "s3tables:RenameTable",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData",
                   "s3tables:PutTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:123456789012:bucket/*"
               ]
           }
       ]
   }
   ```

------

   Para obtener más información, consulte [Requisitos de los roles utilizados para registrar ubicaciones](registration-role.md).

1.  Agregue la siguiente política de confianza al rol de IAM para permitir que el servicio de Lake Formation asuma el rol y dispense credenciales temporales a los motores de análisis integrados. 

   ```
   {
     "Effect": "Allow",
     "Principal": {
       "Service": "lakeformation.amazonaws.com"
     },
     "Action": [
       "sts:AssumeRole",
       "sts:SetSourceIdentity",
       "sts:SetContext"  # add action to trust relationship when using IAM Identity center principals with Lake Formation
     ]
   }
   ```

**nota**  
Se ha actualizado el proceso de integración de los servicios de AWS análisis. Si ha configurado la integración con la versión preliminar, podrá seguir utilizando la integración actual. Sin embargo, el proceso de integración actualizado proporciona mejoras en el rendimiento. Para actualizar la integración:  
En primer lugar, elimine su catálogo de tablas de S3 existente en Lake Formation. Para eliminar el catálogo, seleccione el catálogo de `s3tablescatalog` en la lista de catálogos y elija **Eliminar** en **Acciones**.
A continuación, anule el registro de la ubicación de datos de `s3tablescatalog`.  
En la consola de Lake Formation, en la sección **Administraciones**, seleccione **Ubicaciones de datos**.
Seleccione una ubicación y, en el menú **Acciones**, seleccione **Quitar**.
Cuando se le indique que confirme, elija **Quitar**.  
Para obtener instrucciones detalladas sobre cómo anular el registro de una ubicación de datos, consulte la [Dar de baja el registro de una ubicación de Amazon S3](unregister-location.md) sección.
A continuación, siga los pasos de integración actualizados de la [Habilitación de la integración de Tablas de Amazon S3](enable-s3-tables-catalog-integration.md) sección.

# Habilitación de la integración de Tablas de Amazon S3
<a name="enable-s3-tables-catalog-integration"></a>

Puede crear buckets de tablas de Amazon S3 mediante la consola de Amazon S3 e integrarlos con los servicios de análisis de AWS . Para obtener más información, consulte [Uso de Tablas de Amazon S3 con servicios de análisis de AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html). 

 En AWS Lake Formation, puede habilitar la integración de Amazon S3 Tables con la consola Lake Formation AWS Glue Data Catalog y AWS Lake Formation utilizarla o utilizarla AWS CLI. 

## Cómo integrar Tablas de Amazon S3 con el Catálogo de datos y Lake Formation (consola)
<a name="w2aac13c27c23b7b1"></a>

1. Abra la consola de Lake Formation en [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. En el panel de navegación, elija **Catálogos** en **Catálogo de datos**.

1. Elija **Habilitar la integración de Tablas de S3** en la página **Catálogos**.   
![\[Opción para habilitar la integración de tablas de S3 en la página Catálogos\]](http://docs.aws.amazon.com/es_es/lake-formation/latest/dg/images/enable-s3-table-integration.png)

1.  Elija un rol de IAM con los permisos necesarios para que Lake Formation asuma la provisión de credenciales a los motores de consultas analíticas. Para conocer los permisos necesarios para el acceso del rol a los datos, consulte [step3-permissions](s3tables-catalog-prerequisites.md#step3-permissions) en la sección de requisitos previos.   
![\[Pantalla para habilitar la integración de S3 con el rol de IAM\]](http://docs.aws.amazon.com/es_es/lake-formation/latest/dg/images/enable-s3-table-catalog.png)

1.  Seleccione la opción **Permitir que motores externos accedan a datos en las ubicaciones de Amazon S3 con acceso total a las tablas**. Al habilitar el acceso completo a las tablas para motores de terceros, Lake Formation devuelve las credenciales al motor externo directamente sin necesidad de validar la etiqueta de sesión de IAM. Esto significa que no puede aplicar controles de acceso detallados de Lake Formation a las tablas a las que se accede. 

1. Seleccione **Habilitar**. El nuevo catálogo de Tablas de S3 se agrega a la lista de catálogos. Al habilitar la integración del catálogo de tablas de S3, el servicio registra la ubicación de los datos del bucket de tablas de S3 en Lake Formation.

1. Elija el catálogo para ver los objetos del catálogo y conceder permisos a otras entidades principales.   
![\[Catálogo de Tablas de S3\]](http://docs.aws.amazon.com/es_es/lake-formation/latest/dg/images/s3-table-catalog.png)

   Para crear catálogos en varios niveles, consulte la sección [Creación de un bucket de tablas](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) en la Guía del usuario de Amazon Simple Storage Service.

## Cómo integrar Tablas de Amazon S3 con el Catálogo de datos y Lake Formation (CLI)
<a name="w2aac13c27c23b7b3"></a>

Siguiendo la sección de requisitos previos, cree un rol de servicio de IAM que permita a Lake Formation acceder a los recursos de su tabla.

1. Cree un archivo llamado `Role-Trust-Policy.json` que contenga la siguiente política de confianza:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
         {
           "Sid": "LakeFormationDataAccessPolicy",
           "Effect": "Allow",
           "Principal": {
             "Service": "lakeformation.amazonaws.com"
           },
           "Action": [
               "sts:AssumeRole",
               "sts:SetContext",
               "sts:SetSourceIdentity"
           ],
           "Condition": {
             "StringEquals": {
               "aws:SourceAccount": "111122223333"
             }
           }
         }
       ]
   }
   ```

1. Cree el rol de servicio de IAM con el siguiente comando:

   ```
   aws iam create-role \
     --role-name S3TablesRoleForLakeFormation \
     --assume-role-policy-document file://Role-Trust-Policy.json
   ```

1. Cree un archivo llamado `LF-GluePolicy.json` que contenga la siguiente política:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "LakeFormationPermissionsForS3ListTableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:ListTableBuckets"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:CreateTableBucket",
                   "s3tables:GetTableBucket",
                   "s3tables:CreateNamespace",
                   "s3tables:GetNamespace",
                   "s3tables:ListNamespaces",
                   "s3tables:DeleteNamespace",
                   "s3tables:DeleteTableBucket",
                   "s3tables:CreateTable",
                   "s3tables:DeleteTable",
                   "s3tables:GetTable",
                   "s3tables:ListTables",
                   "s3tables:RenameTable",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData",
                   "s3tables:PutTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:111122223333:bucket/*"
               ]
           }
       ]
   }
   ```

1. Asocie la política al rol con el siguiente comando:

   ```
   aws iam put-role-policy \
     --role-name S3TablesRoleForLakeFormation \
     --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \
     --policy-document file://LF-GluePolicy.json
   ```

1. Cree un archivo llamado `input.json` que contenga lo siguiente:

   ```
   {
       "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
       "WithFederation": true,
       "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation"
   }
   ```

1. Registre los buckets de tablas con Lake Formation utilizando el siguiente comando:

   ```
   aws lakeformation register-resource \
     --region us-east-1 \
     --with-privileged-access \
     --cli-input-json file://input.json
   ```

1. Cree un archivo llamado `catalog.json` que contenga el siguiente catálogo:

   ```
   {
      "Name": "s3tablescatalog",
      "CatalogInput": {
         "FederatedCatalog": {
             "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
             "ConnectionName": "aws:s3tables"
          },
          "CreateDatabaseDefaultPermissions": [],
          "CreateTableDefaultPermissions": [],
          "AllowFullTableExternalDataAccess": "True"
      }
   }
   ```

1. Cree el catálogo `s3tablescatalog` utilizando el siguiente comando. Al crear este catálogo, se rellena AWS Glue Data Catalog con los objetos correspondientes a los grupos de tablas, los espacios de nombres y las tablas.

   ```
   aws glue create-catalog \
     --region us-east-1 \
     --cli-input-json file://catalog.json
   ```

1. Compruebe que el `s3tablescatalog` catálogo se haya agregado AWS Glue mediante el siguiente comando:

   ```
   aws glue get-catalog --catalog-id s3tablescatalog
   ```

# Creación de bases de datos y tablas en el catálogo de Tablas de S3
<a name="create-databases-tables-s3-catalog"></a>

 Puede crear bases de datos para organizar las tablas de Apache Iceberg y tablas para definir el esquema y la ubicación de los datos en el catálogo de tablas de S3. 

## Creación de una base de datos (consola)
<a name="w2aac13c27c25b5b1"></a>

1.  Abra la consola de Lake Formation en [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e inicie sesión como administrador del lago de datos o creador de bases de datos. 

1. En el panel de navegación, elija **Bases de datos** en **Catálogo de datos**.

1. Elija **Creación de base de datos**.

1.  En la página **Crear base de datos**, elija la opción **Base de datos** y especifique los siguientes detalles: 
   + **Nombre**: un nombre exclusivo para la base de datos.
   + **Catálogo de datos**: elija el catálogo de tablas de S3. La base de datos residirá en este catálogo.
   + **Descripción**: (opcional) agregue una descripción y una ubicación. 
   + **Control de acceso de IAM para tablas nuevas**: seleccione de forma opcional utilizar solo el control de acceso de IAM para las nuevas tablas de esta base de datos. Para obtener información sobre esta opción, consulte la sección [Cambiar la configuración predeterminada del lago de datos](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). 
   + Elija **Crear base de datos**. Puede ver la base de datos creada en el catálogo de tablas de S3.

## Cree una base de datos usando AWS CLI
<a name="w2aac13c27c25b5b3"></a>

El siguiente comando de la CLI muestra cómo crear una base de datos en el catálogo de tablas de S3.

```
aws glue create-database 
--region us-east-1 \
--catalog-id "123456789012:s3tablescatalog/test" \
--database-input \
 '{ "Name": "testglueclidbcreation" }'
```

## Crear una tabla (Consola de administración de AWS)
<a name="w2aac13c27c25b5b5"></a>

 Puede crear tablas de metadatos de Apache Iceberg en el catálogo de tablas de S3 mediante la consola Lake Formation o la AWS Glue `CreateTable` API. 

1. Abra la consola de Lake Formation en [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e inicie sesión como administrador del lago de datos o como usuario con `CreateTable` permiso.

1. En el panel de navegación, en Catálogo de datos, elija **Tablas**.

1. Seleccione Create table (Creación de tabla).

1. En la página **Crear tabla**, especifique los detalles de la tabla.  
![\[Catálogo de Tablas de S3\]](http://docs.aws.amazon.com/es_es/lake-formation/latest/dg/images/s3-catalog-create-table.png)
   + **Nombre**: escriba un nombre único para la tabla.
   + **Catálogo**: elija el catálogo de tablas S3 como catálogo.
   + **Base de datos**: elija la base de datos en el catálogo de tablas de S3.
   +  **Descripción**: especifique una descripción para la tabla. 
   + **Esquema**: elija Agregar columnas para agregar las columnas y los tipos de datos de las columnas. Tiene la opción de crear una tabla vacía y actualizar el esquema más adelante. Con Iceberg podrá desarrollar el esquema y la partición después de crear la tabla. Puede utilizar consultas de Athena para actualizar el esquema de la tabla y consultas de Spark para actualizar las particiones. 

1. Seleccione **Enviar**.

## Crea una tabla (AWS CLI)
<a name="w2aac13c27c25b5b7"></a>

```
aws glue create-table \ 
--database-name "testglueclidbcreation" \ 
--catalog-id "123456789012:s3tablescatalog/test" \ 
--region us-east-1 \ 
--table-input \ 
'{ "Name": "testtablegluecli", "Parameters": { "format": "ICEBERG" }, "StorageDescriptor": { "Columns": [ {"Name": "x", "Type": "int", "Parameters": {"required": "true"}} ] } }'
```

# Registrar un bucket de mesa de Amazon S3 en otra AWS cuenta
<a name="register-cross-account-s3-table-bucket"></a>

Puede registrar grupos de tablas individuales de Amazon S3 (formato ARN`arn:aws:s3tables:us-east-1:account-id:bucket/bucket-name`:) de AWS una cuenta con Lake Formation en otra cuenta. Por ejemplo, puede registrar un bucket de tablas desde la cuenta A en Lake Formation de la cuenta B.

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

Antes de iniciar el registro del bucket en cuentas múltiples:
+ Cree un bucket de tablas en la cuenta A.
+ Cree un rol de IAM en la cuenta B con los permisos adecuados para el registro del bucket.

  Para obtener más información sobre los permisos necesarios para registrar un bucket de tablas en Lake Formation, consulte [Requisitos previos para integrar el catálogo de Tablas de Amazon S3 con el Catálogo de datos y Lake Formation](s3tables-catalog-prerequisites.md).
+ Registre el bucket de tablas en la cuenta en la que va a crear el catálogo de tablas de S3.
+  Para el acceso entre cuentas, el rol especificado al registrar el bucket de tablas debe ser un rol dentro de la cuenta con los permisos adecuados para acceder al bucket entre cuentas. El rol necesita las acciones de IAM necesarias para las Tablas de S3 a fin de acceder a los recursos del bucket.

## Registro del bucket de tablas entre cuentas
<a name="w2aac13c27c27b7"></a>

En los siguientes procedimientos, la cuenta A es la cuenta propietaria del recurso y la cuenta B es donde se registrará el bucket de tablas para administrar los permisos de acceso.

1. Inicie sesión en la cuenta Consola de administración de AWS A.

   Abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1.  Cree un bucket de tablas. Para obtener más información, consulte [Creación de un bucket de tablas](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) en la Guía del usuario de Amazon S3. 

1. Registre el bucket de tablas en la cuenta B.

   Usa AWS CLI para registrar el cubo de mesa de la cuenta A con Lake Formation en la cuenta B.

   ```
   aws lakeformation register-resource \
   --resource-arn 'arn:aws:s3tables:us-east-1:account-A-id:bucket/single-bucket-name' \
   --role-arn arn:aws:iam::account-B-id:role/role-name \
   --region us-east-1
   ```

   Sustituya account-A-id single-bucket-name, account-B-id, y el nombre del rol por sus valores específicos.

1. A continuación, cree un catálogo para el bucket de tablas en la cuenta B.

   Cree un catálogo con la AWS CLI.

   ```
   aws glue create-catalog --region us-east-1 \
   --cli-input-json \
   '{
      "Name": "catalog-name",
      "CatalogInput" : {
         "FederatedCatalog": {
            "Identifier": "arn:aws:s3tables:us-east-1:account A:bucket/single-bucket-name",
            "ConnectionName": "aws:s3tables"
         },
         "CreateDatabaseDefaultPermissions": [],
         "CreateTableDefaultPermissions": []      
      }
   }'
   ```

   Sustituya catalog-name y bucket-name por sus valores específicos. account-A-id

    En el ejemplo siguiente de la CLI, se muestra cómo ver los detalles del catálogo. 

   ```
    aws glue get-catalog \
     --catalog-id account-id:catalog-name \
     --region us-east-1
   ```

1. A continuación, cree bases de datos y tablas en el catálogo recién creado en la cuenta B.

   Cree una base de datos.

   ```
   aws glue create-database \
     --region us-east-1 \
     --catalog-id "account-B-id:catalog-name" \
     --database-input \
   '{
     "Name": "database-name"
   }'
   ```

   Crear una tabla de .

   ```
   aws glue create-table \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name\
     --region us-east-1 \
     --table-input \
     '{
           "Name": "table-name",
           "Parameters": {
               "format": "ICEBERG"
           },
           "StorageDescriptor": {
              "Columns": [
           {"Name": "x", "Type": "int", "Parameters": {"required": "true"}}
             ]
           }
   }'
   ```

   Sustituya el nombre de la base de datos account-B-id, el nombre del catálogo y el nombre de la tabla por sus valores específicos.

1. En el ejemplo siguiente de la CLI, se muestra cómo ver los objetos del catálogo.

   Vea los detalles de la base de datos.

   ```
   aws glue get-database \
     --name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Vea los detalles de las tablas.

   ```
   aws glue get-table \
     --name table-name \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Sustituya el nombre de la base de datos, el nombre del catálogo y el nombre de la account-B-id tabla por sus valores específicos.

# Concesión de permisos
<a name="s3-tables-grant-permissions"></a>

 Tras integrar las tablas de S3 AWS Lake Formation, puede conceder permisos sobre el catálogo de tablas de S3 y los objetos del catálogo (depósitos de tablas, bases de datos, tablas) a otros roles y usuarios de IAM de su cuenta. Los permisos de Lake Formation permiten definir controles de acceso en el nivel de tabla, columna y fila para los usuarios de motores de análisis integrados, como Amazon Redshift Spectrum y Athena. 

 Puede conceder permisos utilizando el método de recursos con nombre o el método de control de acceso basado en etiquetas de Lake Formation (LF-TBAC). Antes de conceder permisos mediante etiquetas LF y expresiones de etiquetas LF, debe definirlas y asignarlas a los objetos del Catálogo de datos. 

Para obtener más información, consulte [Gestión de etiquetas LF para el control de acceso a los metadatos](managing-tags.md).

Puede compartir bases de datos y tablas con AWS cuentas externas concediendo permisos de Lake Formation a las cuentas externas. A continuación, los usuarios pueden ejecutar consultas y trabajos para unir y consultar tablas en varias cuentas. Cuando comparte un recurso del catálogo con otra cuenta, las entidades principales de esa cuenta pueden operar con ese recurso como si estuviera en su Catálogo de datos. 

Al compartir bases de datos y tablas con cuentas externas, el permiso de **superusuario** no está disponible. 

 Para obtener instrucciones detalladas sobre la concesión de permisos, consulte la sección [Administrar los permisos de Lake Formation](managing-permissions.md). 

## AWS CLI ejemplo de concesión de permisos en una tabla de Amazon S3
<a name="w2aac13c27c29c15"></a>

```
aws lakeformation grant-permissions \
--cli-input-json \
'{
    "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::111122223333:role/DataAnalystRole"
    },
    "Resource": {
        "Table": {
            "CatalogId":"111122223333:s3tablescatalog/amzn-s3-demo-bucket1",
            "DatabaseName":"S3 table bucket namespace <example_namespace>",
            "Name":"S3 table bucket table name <example_table>"
        }
    },
    "Permissions": [
        "SELECT"
    ]
}'
```

 Se deben incluir los siguientes parámetros en el comando: 
+ DataLakePrincipalIdentifier — ARN de usuario, rol o grupo de IAM para conceder permisos
+ CatalogId — ID de AWS cuenta de 12 dígitos propietario del catálogo de datos
+ DatabaseName — Nombre del espacio de nombres del bucket de la tabla Amazon S3
+ Name: nombre de la tabla del bucket de tablas de Amazon S3
+ Permissions: permisos que se van a conceder Las opciones incluyen: SELECT, INSERT, DELETE, DESCRIBE, ALTER, DROP, ALLL y SUPER.

# Acceso a las tablas de Amazon S3 compartidas
<a name="s3-tables-cross-account-sharing"></a>

 Después de conceder permisos entre cuentas en una base de datos o tabla del catálogo de tablas de S3, para acceder a los recursos, debe crear enlaces de recursos para las bases de datos y tablas compartidas. 

1.  En la cuenta de destino (la cuenta que recibe los recursos compartidos), cree un enlace a los recursos de la base de datos. Para obtener instrucciones detalladas, consulte [Crear un enlace de recursos a una base de datos de Catálogo de datos compartida](create-resource-link-database.md). 

   Ejemplo de la CLI para crear un enlace a los recursos de la base de datos

   ```
   aws glue create-database 
   --region us-east-1 
   --catalog-id "111122223333" 
   --database-input \
   '{
     "Name": "s3table_resourcelink",
     "TargetDatabase": {
       "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
       "DatabaseName": "s3_table_ns"
     },
     "CreateTableDefaultPermissions": []
   }'
   ```

1.  Conceda permisos entre cuentas para la tabla. 

   Ejemplo de la CLI para la concesión de permisos entre cuentas

   ```
   aws lakeformation grant-permissions \
   --region us-east-1 \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:role/S3TablesTestExecRole"
       },
       "Resource": {
           "Table": {
               "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
               "DatabaseName": "s3_table_ns",
               "Name": "test_s3_iceberg_table"
           }
       },
       "Permissions": [
           "ALL"
       ]
   }'
   ```

1.  Conceda el permiso `DESCRIBE` de Lake Formation en el enlace de recursos. 

    Ejemplo de la CLI para conceder el permiso Describe en el enlace de recursos. 

   ```
   aws lakeformation grant-permissions \
       --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/S3TablesTestExecRole
       --resource Database='{CatalogId=111122223333;, Name=s3table_resourcelink}' \
       --permissions DESCRIBE
   ```