

# Pré-requisitos
<a name="s3tables-catalog-prerequisites"></a>

Antes de criar um catálogo federado para Tabelas do S3 no Catálogo de Dados do AWS Glue, certifique-se de que sua entidade principal do IAM (usuário ou função) tenha as permissões necessárias.

## Permissões obrigatórias do IAM
<a name="s3tables-required-iam-permissions"></a>

A entidade principal do IAM precisa das seguintes permissões para habilitar a integração das tabelas do S3:

**Permissões do AWS Glue**:
+ `glue:CreateCatalog`: necessário para criar o catálogo federado `s3tablescatalog`
+ `glue:GetCatalog`: necessário para visualizar detalhes do catálogo
+ `glue:GetDatabase`: necessário para visualizar namespaces do S3 como bancos de dados
+ `glue:GetTable`: necessário para visualizar tabelas do S3
+ `glue:passConnection`: concede à entidade principal responsável pela chamada o direito de delegar a conexão `aws:s3tables` ao serviço AWS Glue

**Permissões de tabelas do S3** (para controle de acesso do 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`

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

A política do IAM a seguir fornece as permissões mínimas necessárias para permitir a integração das Tabelas do S3 com o catálogo de dados no modo 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/*"
      ]
    }
  ]
}
```