

# Requisitos previos
<a name="s3tables-catalog-prerequisites"></a>

Antes de crear un catálogo federado para Tablas de S3 en el Catálogo de datos de AWS Glue, asegúrese de que la entidad principal de IAM (usuario o rol) cuente con los permisos necesarios.

## Permisos de IAM necesarios
<a name="s3tables-required-iam-permissions"></a>

La entidad principal de IAM necesita los siguientes permisos para habilitar la integración de Tablas de S3:

**Permisos de AWS Glue**:
+ `glue:CreateCatalog`: necesario para crear el catálogo federado de `s3tablescatalog`
+ `glue:GetCatalog`: necesario para ver los detalles del catálogo
+ `glue:GetDatabase`: necesario para ver los espacios de nombres de S3 como bases de datos
+ `glue:GetTable`: necesario para ver tablas de S3
+ `glue:passConnection`: otorga a la entidad principal que realiza la llamada el derecho a delegar la conexión de `aws:s3tables` al servicio AWS Glue

**Permisos de Tablas de S3** (para el control de acceso de IAM):
+ `s3tables:CreateTableBucket`
+ `s3tables:GetTableBucket`
+ `s3tables:CreateNamespace`
+ `s3tables:GetNamespace`
+ `s3tables:ListNamespaces`
+ `s3tables:CreateTable`
+ `s3tables:GetTable`
+ `s3tables:ListTables`
+ `s3tables:UpdateTableMetadataLocation`
+ `s3tables:GetTableMetadataLocation`
+ `s3tables:GetTableData`
+ `s3tables:PutTableData`

## Ejemplo de política de IAM
<a name="s3tables-iam-policy-example"></a>

La siguiente política de IAM proporciona los permisos mínimos requeridos para habilitar la integración de Tablas de S3 con el Catálogo de datos en el modo de IAM:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GlueDataCatalogPermissions",
      "Effect": "Allow",
      "Action": [
        "glue:CreateCatalog",
        "glue:GetCatalog",
        "glue:GetDatabase",
        "glue:GetTable"
      ],
      "Resource": [
        "arn:aws:glue:region:account-id:catalog/s3tablescatalog",
        "arn:aws:glue:region:account-id:database/s3tablescatalog/*/*",
        "arn:aws:glue:region:account-id:table/s3tablescatalog/*/*/*"
      ]
    },
    {
      "Sid": "S3TablesDataAccessPermissions",
      "Effect": "Allow",
      "Action": [
        "s3tables:GetTableBucket",
        "s3tables:GetNamespace",
        "s3tables:GetTable",
        "s3tables:GetTableMetadataLocation",
        "s3tables:GetTableData"
      ],
      "Resource": [
        "arn:aws:s3tables:region:account-id:bucket/*",
        "arn:aws:s3tables:region:account-id:bucket/*/table/*"
      ]
    }
  ]
}
```