

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

# Trazendo seus dados para o AWS Glue Data Catalog
<a name="bring-your-data-overview"></a>

Você pode criar catálogos federados no AWS Glue Data Catalog (Catálogo de dados) e unificar dados entre os data lakes do Amazon S3 e os armazéns de dados do Amazon Redshift. Você também pode integrar dados de seus bancos de dados operacionais Amazon DynamoDB, como fontes de dados de terceiros, como PostgreSQL BigQuery, Google, MySQL, entre outros. O Catálogo de Dados oferece um repositório centralizado de metadados que facilita o gerenciamento e a descoberta de dados em sistemas diferentes.

O Data Catalog se integra a mais de trinta fontes de dados externas por meio de conectores federados. Com essa integração, você pode consultar dados dessas fontes externas sem precisar criar pipelines de dados para ingerir os dados primeiro. AWS 

Depois de catalogar os dados externos, você pode usar AWS Lake Formation para gerenciar centralmente as permissões de acesso aos dados no Catálogo de Dados. Os administradores do data lake podem conceder permissões de acesso refinadas a outras entidades principais do IAM (usuários ou perfis) na mesma conta ou em várias contas usando controle de acesso baseado em tag (tags LF) e métodos de recursos nomeados.

Ao usar tags LF, os administradores de dados podem organizar logicamente os recursos com base em atributos como domínio e nível de sensibilidade, simplificando o gerenciamento de permissões e garantindo controles de acesso consistentes em serviços de análise e aprendizado de máquina, incluindo Athena, Amazon EMR ou Redshift Spectrum. AWS Glue 

O Data Catalog fornece os seguintes métodos para gerenciar dados e permissões em conjuntos de dados e metastores externos:
+ **Integre buckets de tabela do Amazon S3 com o catálogo de dados** — Você pode publicar e catalogar tabelas do Amazon S3 como objetos do catálogo de dados e registrar o catálogo como um local de dados do Lake Formation a partir do console do Lake Formation ou usando operações de API. AWS Glue 
+ **Traga dados dos armazéns de dados do Amazon Redshift para o AWS Glue Data Catalog** — Registre um namespace existente do [Amazon Redshift](https://docs.aws.amazon.com/redshift/index.html) ou um cluster com o Catálogo de Dados e crie um catálogo federado de vários níveis no Catálogo de Dados. 

  Você pode acessar seus dados usando qualquer mecanismo de consulta compatível com a especificação OpenAPI do catálogo REST do Apache Iceberg, como Amazon EMR Sem Servidor e Amazon Athena. 
+ **Federe Iceberg REST catálogos remotos ao catálogo de dados** — Federe Iceberg REST catálogos remotos ao catálogo de dados e acesse com segurança tabelas remotas armazenadas Iceberg no Amazon S3 usando mecanismos de análise. AWS 
+ **Integre-se ao Catálogo de Dados a partir de fontes de dados externas** — Conecte o Catálogo de Dados a fontes de dados externas usando AWS Glue conexões e crie catálogos federados para gerenciar centralmente as permissões de acesso em conjuntos de dados usando o Lake Formation. Não é necessária nenhuma migração de metadados para o Data Catalog. 
+ **Criar catálogos para gerenciar Tabelas do Amazon Redshift no Data Catalog**: você pode não ter um cluster produtor do Amazon Redshift ou uma unidade de compartilhamento de dados do Amazon Redshift disponível atualmente, mas deseja criar e gerenciar Tabelas do Amazon Redshift usando o Data Catalog. É possível começar criando um catálogo gerenciado do AWS Glue usando a operação de API `glue:CreateCatalog` ou o console do AWS Lake Formation definindo o tipo de catálogo como `Managed` e `Catalog source` como **Redshift**. 
+ **Publicar unidades de compartilhamento de dados do Amazon Redshift com o Data Catalog**: publique unidades de compartilhamento de dados do [Amazon Redshift](https://docs.aws.amazon.com/redshift/index.html) no Data Catalog e use o Lake Formation para gerenciar centralmente o acesso aos dados das unidades de compartilhamento de dados e restringir o acesso do usuário.

  É possível consultar dados usando o Amazon Redshift Spectrum. 
+  **Conectar o Data Catalog a metastores Hive externos**: conecte o Data Catalog a metastores externos para gerenciar permissões de acesso em conjuntos de dados no Amazon S3 usando o Lake Formation. Não é necessária nenhuma migração de metadados para o Data Catalog. 
+ **Integre o Lake Formation com o AWS Data Exchange** — O Lake Formation oferece suporte ao licenciamento de acesso aos seus dados por meio AWS Data Exchange de. Se você quiser licenciar seus dados do Lake Formation, consulte [O que é o AWS Data Exchange](https://docs.aws.amazon.com/data-exchange/latest/userguide/what-is.html) no *Guia do usuário do AWS Data Exchange *.

**Topics**
+ [Federação de catálogos para catálogos remotos do Iceberg](catalog-federation.md)
+ [Trazendo dados do Amazon Redshift para o AWS Glue Data Catalog](managing-namespaces-datacatalog.md)
+ [Federando em fontes de dados externas no AWS Glue Data Catalog](federated-catalog-data-connection.md)
+ [Integração de tabelas do Amazon S3 com e AWS Glue Data Catalog AWS Lake Formation](create-s3-tables-catalog.md)
+ [Alterando os controles de acesso para integração com tabelas do S3](manage-s3tables-catalog-integration.md)
+ [Criação de um catálogo gerenciado do Amazon Redshift no AWS Glue Data Catalog](create-rms-catalog.md)
+ [Gerenciamento de permissões para dados em uma unidade de compartilhamento de dados do Amazon Redshift.](data-sharing-redshift.md)
+ [Gerenciamento de permissões em conjuntos de dados que usam repositórios de dados externos](data-sharing-hms.md)

# Federação de catálogos para catálogos remotos do Iceberg
<a name="catalog-federation"></a>

A federação de catálogos AWS Glue fornece acesso direto e seguro às tabelas Iceberg, armazenadas no Amazon S3 e catalogadas em catálogos remotos, usando mecanismos de análise. AWS A federação de catálogos sincroniza metadados entre catálogos de dados e catálogos remotos quando você acessa tabelas remotas. Ele é suportado por uma grande variedade de mecanismos de análise, incluindo Amazon Redshift, Amazon EMR, Amazon Athena, mecanismos de terceiros AWS Glue, como o Apache Spark e muito mais.

A federação de catálogos usa AWS Glue Data Catalog para se comunicar com sistemas de catálogos remotos para descobrir tabelas e com o Lake Formation para autorizar o acesso aos dados da tabela no Amazon S3. Quando você consulta uma tabela federada, o Data Catalog descobre as informações mais recentes da tabela no catálogo remoto no momento da consulta, obtendo a localização da tabela no Amazon S3, o esquema atual e as informações de partição. Seu mecanismo de análise (Amazon Athena, Amazon Redshift, Amazon EMR) então usa essas informações para acessar os arquivos de dados do Iceberg diretamente do Amazon S3. O Lake Formation gerencia o acesso às tabelas vendendo credenciais com escopo definido para os dados da tabela armazenados no Amazon S3, permitindo que os mecanismos apliquem permissões refinadas às tabelas federadas.

## Características da Federação de Catálogos
<a name="catalog-federation-features"></a>

**Governado usando Lake Formation**  
Os catálogos federados do Iceberg no Catálogo de Dados são recursos registrados do Lake Formation, permitindo que você conceda permissões refinadas em nível de linha, coluna e célula às tabelas do Iceberg em catálogos federados do Iceberg usando subsídios do Lake Formation. Os catálogos federados do Iceberg e os objetos associados podem ser compartilhados com segurança entre contas. AWS Os catálogos Federated Iceberg também funcionam com o controle de acesso baseado em Lake Formation Tag, permitindo que você escale a governança usando tags.

**Configurações de rede**  
A federação de catálogos oferece suporte a conexões diretas com fontes de catálogos remotas usando conectividade HTTPS padrão. Ele também oferece suporte à conectividade por meio da Amazon VPC quando você deseja manter o isolamento e a conectividade da rede usando o suporte de proxy quando quiser comunicação segura por meio dos firewalls da organização.

**Topics**
+ [Características da Federação de Catálogos](#catalog-federation-features)
+ [Federate to Snowflake Iceberg Catalog](catalog-federation-snowflake.md)
+ [Federar para Databricks Unity Catalog](catalog-federation-databricks.md)

# Federate to Snowflake Iceberg Catalog
<a name="catalog-federation-snowflake"></a>

AWS Glue Data Catalog federa para Snowflake usar as OAuth2 credenciais de um diretor de Snowflake serviço. Você pode usar essa federação para se conectar Snowflake Horizon e Snowflake Polaris catalogar. Esse mecanismo de autenticação permite que o Catálogo de Dados acesse os metadados de vários objetos (como catálogos, bancos de dados e tabelas) em seu catálogo, com base nos privilégios associados ao principal de serviço. Para garantir o acesso aos objetos certos, é essencial conceder ao responsável pelo serviço as permissões necessárias para ler os metadados desses objetos. Snowflake

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

Antes de criar um catálogo federado no Catálogo de Dados que seja controlado pelo Lake Formation, verifique se você tem as seguintes permissões:

Seu diretor do IAM (usuário ou função) deve ter as seguintes permissões:
+ **Permissões do Lake Formation** —`lakeformation:RegisterResource`, `lakeformation:DescribeResource`
+ **AWS Glue permissões** —`glue:CreateConnection`,`glue:CreateCatalog`,`glue:GetConnection`, `glue:PassConnection`
+ **Permissões do Secrets Manager** —`secretsmanager:CreateSecret`, `secretsmanager:GetSecretValue`
+ **Permissões do IAM** —`iam:CreateRole`,`iam:AttachRolePolicy`, `iam:PassRole`

Você deve ser administrador do data lake do Lake Formation ou ter `CREATE_CATALOG` permissão no catálogo de dados.

## Criar catálogo federado
<a name="catalog-federation-snowflake-create"></a>

### Usando o console
<a name="catalog-federation-snowflake-console"></a>

1. Faça login no console e abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Escolha a AWS região preferida na seção superior direita da página.

1. No painel de navegação à esquerda, selecione Catálogos.

1. Escolha **Criar catálogo** para abrir o **fluxo de trabalho Criar catálogo**.

1. Na etapa **Escolher fonte de dados**, Snowflake selecione entre as opções disponíveis.

1. Na etapa **Definir detalhes do catálogo**, você fornece três informações: detalhes do catálogo, detalhes da conexão e detalhes do registro.

1. No contêiner de **detalhes do catálogo**, forneça um nome exclusivo para seu catálogo AWS Glue federado e insira o nome do Snowflake catálogo existente.

1. No contêiner de **detalhes de conexões**, você pode escolher entre uma conexão existente à qual você tem acesso ou fornecer configuração para criar um novo conector.

1. As novas configurações de conexão incluem:
   + Nome da conexão — Um nome exclusivo do objeto de AWS Glue conexão.
   + URL da instância — O URL do endpoint da sua Snowflake conta existente.
   + Autenticação — Especifique a configuração de autenticação AWS Glue usada para se conectar ao servidor de catálogo remoto. AWS Glue suporta tanto a autenticação OAuth2 quanto a autenticação personalizada.
   + URL do token — especifique a URL do provedor de identidade do catálogo remoto.
   + OAuth2 ID do cliente — especifique o ID do cliente da OAuth2 credencial associada ao seu catálogo remoto.
   + Segredo — Armazene e use o segredo OAuth2 do cliente usando AWS Secrets Manager ou insira o valor secreto na caixa de texto. Quando você insere o segredo manualmente no console, AWS Glue cria o segredo em seu nome.
   + Escopo do URL do token — Especifique o OAuth escopo da autenticação.
   + Filtro de caixa do catálogo — Escolha se deseja trazer objetos em minúsculas ou maiúsculas do seu catálogo remoto para o Catálogo de Dados.

1. Crie uma função do IAM que AWS Glue os diretores de serviço do Lake Formation possam usar para acessar locais secretos AWS Secrets Manager e locais do Amazon S3 de tabelas remotas do Iceberg, respectivamente. Selecione a função do IAM no menu suspenso de registro. Consulte as etapas 2 e 3 na seção CLI a seguir para obter detalhes da política do IAM.

1. Selecione Testar conexão para testar se suas propriedades de conexão e o acesso à função do IAM estão configurados corretamente.

1. Selecione **Avançar** para revisar suas configurações.

1. Selecione **Criar catálogo** na página de revisão.

### Usar a CLI
<a name="snowflake-federation-cli"></a>

1. <a name="snowflake-step-1"></a>**Crie um AWS Secrets Manager segredo**

   O AWS Glue conector oferece suporte a dois tipos de autenticação: **OAuth2**e **personalizada**. Ao usar OAuth2 a opção, use AWS Secrets Manager para armazenar o segredo do cliente do principal do Snowflake serviço. Posteriormente, você usará esse segredo ao criar a AWS Glue Conexão. Para autenticação personalizada, use AWS Secrets Manager para armazenar e recuperar o token de acesso.

   No exemplo a seguir, substitua`your-snowflake-secret`,`client_secret`, `region` por suas próprias informações.

   ```
   aws secretsmanager create-secret \
   --name your-snowflake-secret \
   --description "Snowflake secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "client_secret"
   }' \
   --region region
   ```
**nota**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`é uma palavra-chave reservada AWS Glue usada para se referir a um valor secreto do cliente no segredo. Use a mesma palavra-chave ao criar o segredo no console do Lake Formation também.

1. <a name="snowflake-step-2"></a>**Crie uma função do IAM que dê acesso ao objeto de AWS Glue conexão ao segredo criado na etapa anterior**

   O objeto de AWS Glue conexão requer acesso ao AWS Secrets Manager segredo quando você o usa AWS Secrets Manager para armazenar, recuperar e atualizar seu token OAuth secreto. O objeto de AWS Glue conexão também requer acesso para criar, descrever e usar as interfaces de rede da Amazon VPC quando você usa um endpoint da Amazon VPC para restringir a conectividade com sua conta. Snowflake

   Crie uma política do IAM e anexe-a a uma função do IAM. Adicione o principal de AWS Glue serviço à política de confiança.

   No exemplo a seguir, substitua `your-secrets-manager-ARN``your-vpc-id`, e `your-subnet-id1` por suas próprias informações.  
**Example Política do IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret",
                   "secretsmanager:PutSecretValue"
               ],
               "Resource": [
                   "your-secrets-manager-ARN"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateNetworkInterface",
                   "ec2:DeleteNetworkInterface",
                   "ec2:DescribeNetworkInterfaces"
               ],
               "Resource": "*",
               "Condition": {
                   "ArnEquals": {
                       "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/your-vpc-id",
                       "ec2:Subnet": ["arn:aws:ec2:region:account-id:subnet/your-subnet-id1"]
                   }
               }
           }
       ]
   }
   ```  
**Example Política de confiança**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Principal": {
               "Service": "glue.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```

1. <a name="snowflake-step-3"></a>**Crie uma política do IAM que dê à Lake Formation acesso de leitura à localização do catálogo no Amazon S3**

   Como proprietário de um catálogo federado no Catálogo de Dados, você usa o Lake Formation para conceder acesso a tabelas de baixa granularidade, acesso refinado em nível de coluna, nível de linha e nível de célula e acesso baseado em tags às suas equipes de dados. O Lake Formation usa uma função do IAM que lhe dá acesso às localizações subjacentes do Amazon S3 de suas tabelas remotas do Iceberg. Esse acesso permite que a Lake Formation forneça credenciais de acesso com escopo definido para mecanismos de análise que consultam tabelas remotas.

   Crie uma política do IAM e anexe-a a uma função do IAM. Adicione o diretor de serviço do Lake Formation à política de confiança da função.

   No exemplo a seguir, substitua `amzn-s3-demo-bucketN` e `your-kms-key` por suas próprias informações.  
**Example Política do IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket2/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1",
                   "arn:aws:s3:::amzn-s3-demo-bucket2"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:Encrypt"
               ],
               "Resource": [
                   "your-kms-key"
               ]
           }
       ]
   }
   ```  
**Example Política de confiança**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**nota**  
Quando você usa o console do Lake Formation para criar um catálogo federado, o console usa uma única função do IAM com as duas políticas anexadas para concluir a configuração.

1. <a name="snowflake-step-4"></a>**Criar um objeto de AWS Glue conexão**

   AWS Glue suportes de conectores OAuth2 e métodos de autenticação personalizados. O objeto de conexão do Catálogo de Dados oferece suporte à `CATALOG_CASING_FILTER` configuração que permite trazer objetos em minúsculas ou maiúsculas do seu catálogo remoto para o Catálogo de Dados.

   O exemplo a seguir usa a configuração de OAuth2 autenticação para criar uma AWS Glue conexão. Substitua `highlighted sections` por suas informações.

   ```
   aws glue create-connection \
       --connection-input '{
   "Name": "your-glue-connection-to-snowflake-account",
   "ConnectionType": "SNOWFLAKEICEBERGRESTCATALOG",
   "ConnectionProperties": {
       "INSTANCE_URL": "your-snowflake-account-URL",
       "ROLE_ARN": "your-IAM-role-for-secrets-and-VPC-access",
       "CATALOG_CASING_FILTER": "LOWERCASE_ONLY"
   },
   "AuthenticationConfiguration": {
       "AuthenticationType": "OAUTH2",
       "OAuth2Properties": {
           "OAuth2GrantType": "CLIENT_CREDENTIALS",
           "TokenUrl": "your-internal-or-external-token-server-url",
           "OAuth2ClientApplication": {
               "UserManagedClientApplicationClientId": "our-client-id"
           },
           "TokenUrlParametersMap": {
               "scope": "all-apis"
           }
       },
       "SecretArn": "arn:aws:secretsmanager:your-aws-region:your-aws-account-id:secret:snowflake-secret"
   }
   }'
   ```

1. <a name="snowflake-step-5"></a>**Registre AWS Glue a conexão como um recurso do Lake Formation**

   Usando o objeto de AWS Glue conexão (criado na Etapa 4) e a função do IAM (criada na Etapa 3), agora você pode registrar o objeto de AWS Glue conexão como um recurso gerenciado do Lake Formation.

   Substitua `your-glue-connector-arn` e `your-IAM-role-ARN-having-LF-access` por suas informações.

   ```
   aws lakeformation register-resource \
       --resource-arn your-glue-connector-arn \
       --role-arn your-IAM-role-ARN-having-LF-access \
       --with-federation \
       --with-privileged-access
   ```

1. <a name="snowflake-step-6"></a>**Crie um catálogo federado no Catálogo de Dados**

   Depois de criar um objeto de AWS Glue conexão e registrá-lo no Lake Formation, você pode criar um catálogo federado no Catálogo de Dados:

   Forneça ao catálogo federado um nome exclusivo em`your-federated-catalog-name`, faça referência ao catálogo Snowflake em `catalog-name-in-Snowflake` e insira o nome da conexão criada anteriormente em`your-glue-connection-name`.

   ```
   aws glue create-catalog \
       --name your-federated-catalog-name \
       --catalog-input '{
       "FederatedCatalog": {
           "Identifier": catalog-name-in-Snowflake",
           "ConnectionName": your-glue-connection-name"
       },
       "CreateTableDefaultPermissions": [],
       "CreateDatabaseDefaultPermissions": []
   }'
   ```

## Considerações ao integrar com Snowflake
<a name="snowflake-considerations"></a>
+ Quando você insere recursos (como bancos de dados e tabelas)Snowflake, o Lake Formation não revoga automaticamente as permissões concedidas nesse recurso federado. Para remover as permissões de acesso, você precisa revogar explicitamente as permissões que foram concedidas anteriormente no recurso federado usando o Lake Formation.
+ Quando você monta um catálogo remoto com `CATALOG_CASING_FILTER='UPPERCASE_ONLY'` configuração, bancos de dados e tabelas com identificadores em maiúsculas são federados, mas objetos com identificadores em minúsculas não.
+ Você pode reutilizar a mesma AWS Glue conexão para criar vários catálogos federados. A exclusão de um catálogo não excluirá a conexão associada. Para excluir uma conexão, use o `aws glue delete-connection` comando AWS CLI e certifique-se de que todos os catálogos associados sejam excluídos primeiro.
+ Não há suporte para namespaces aninhados no Polaris catálogo. Ou seja, a federação de catálogos pode acessar Iceberg tabelas remotas que seguem uma notação `catalog.database.table` em três partes.

# Federar para Databricks Unity Catalog
<a name="catalog-federation-databricks"></a>

AWS Glue Data Catalog federa para Databricks usar as OAuth2 credenciais de um diretor de Databricks serviço. Esse mecanismo de autenticação permite AWS Glue Data Catalog acessar os metadados de vários objetos (como catálogos, bancos de dados e tabelas) emDatabricks Unity Catalog, com base nos privilégios associados ao principal do serviço. Para garantir o acesso aos objetos certos, é essencial conceder ao responsável pelo serviço as permissões necessárias Databricks para ler os metadados desses objetos.

Em seguida, a federação de catálogos permite a descoberta e a consulta de Iceberg tabelas em seu catálogo do Databricks Unity. Para ler tabelas delta, certifique-se de que Iceberg os metadados estejam disponíveis para o uso Uniform dessas tabelas. Siga o Databricks tutorial e a documentação para criar o principal de serviço e os privilégios associados em seu espaço Databricks de trabalho.

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

Antes de criar um catálogo federado no Catálogo de Dados que seja controlado pelo Lake Formation, verifique se você tem as seguintes permissões:

Seu diretor do IAM (usuário ou função) deve ter as seguintes permissões:
+ **Permissões do Lake Formation** —`lakeformation:RegisterResource`, `lakeformation:DescribeResource`
+ **AWS Glue permissões** —`glue:CreateConnection`,`glue:CreateCatalog`,`glue:GetConnection`, `glue:PassConnection`
+ **Permissões do Secrets Manager** —`secretsmanager:CreateSecret`, `secretsmanager:GetSecretValue`
+ **Permissões do IAM** —`iam:CreateRole`,`iam:AttachRolePolicy`, `iam:PassRole`

Você deve ser administrador do data lake do Lake Formation ou ter `CREATE_CATALOG` permissão no catálogo de dados.

## Criar catálogo federado
<a name="catalog-federation-databricks-create"></a>

### Usando o console
<a name="catalog-federation-databricks-console"></a>

1. Faça login no console e abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Escolha a AWS região preferida na seção superior direita da página.

1. No painel de navegação à esquerda, selecione Catálogos.

1. Escolha **Criar catálogo** para abrir o **fluxo de trabalho Criar catálogo**.

1. Na etapa **Escolher fonte de dados**, Databricks selecione entre as opções disponíveis.

1. Na etapa **Definir detalhes do catálogo**, você fornece três informações: detalhes do catálogo, detalhes da conexão e detalhes do registro.

1. No contêiner de **detalhes do catálogo**, forneça um nome exclusivo para seu catálogo AWS Glue federado e insira o nome do Databricks catálogo existente.

1. No contêiner de **detalhes de conexões**, você pode escolher entre uma conexão existente à qual você tem acesso ou fornecer configuração para criar um novo conector.

1. As novas configurações de conexão incluem:
   + Nome da conexão — Um nome exclusivo do objeto de AWS Glue conexão.
   + URL do espaço de trabalho — O URL do endpoint do seu espaço de trabalho existenteDatabricks.
   + Autenticação — Especifique a configuração de autenticação AWS Glue usada para se conectar ao servidor de catálogo remoto. AWS Glue suporta tanto a autenticação OAuth2 quanto a autenticação personalizada.
   + URL do token — especifique a URL do provedor de identidade do catálogo remoto.
   + OAuth2 ID do cliente — especifique o ID do cliente da OAuth2 credencial associada ao seu catálogo remoto.
   + Segredo — Armazene e use o segredo OAuth2 do cliente usando AWS Secrets Manager ou insira o valor secreto na caixa de texto. Quando você insere o segredo manualmente no console, AWS Glue cria o segredo em seu nome.
   + Escopo do URL do token — Especifique o OAuth escopo da autenticação.

1. Crie uma função do IAM que AWS Glue os diretores de serviço do Lake Formation possam usar para acessar locais secretos e locais de tabelas Iceberg remotas no Amazon S3, respectivamente. Selecione a função do IAM no menu suspenso de registro. Consulte as etapas 2 e 3 na seção CLI a seguir para obter detalhes da política do IAM.

1. Selecione Testar conexão para testar se suas propriedades de conexão e o acesso à função do IAM estão configurados corretamente. A funcionalidade de teste de conexão não está disponível ao se conectar Databricks usando a Amazon VPC.

1. Selecione **Avançar** para revisar suas configurações.

1. Selecione **Criar catálogo** na página de revisão.

### Usar a CLI
<a name="catalog-federation-databricks-cli"></a>

1. <a name="databricks-step-1"></a>**Crie um AWS Secrets Manager segredo**

   O AWS Glue conector oferece suporte a dois tipos de autenticação: **OAuth2**e **personalizada**. Ao usar OAuth2 a opção, use AWS Secrets Manager para armazenar o segredo do cliente do principal do Databricks serviço. Posteriormente, você usará esse segredo ao criar a AWS Glue Conexão. Para autenticação personalizada, use AWS Secrets Manager para armazenar e recuperar o token de acesso.

   No exemplo a seguir, substitua`<databricks-secret>`,`<client_secret>`, `<region>` por suas próprias informações.

   ```
   aws secretsmanager create-secret \
   --name <databricks-secret> \
   --description "Databricks secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<client_secret>"
   }' \
   --region <region>
   ```
**nota**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`é uma palavra-chave reservada AWS Glue usada para se referir a um valor secreto do cliente no segredo. Use a mesma palavra-chave ao criar o segredo no console do Lake Formation também. 

1. <a name="databricks-step-2"></a>**Crie uma função do IAM que dê acesso ao objeto de AWS Glue conexão ao segredo criado na etapa anterior**

   O objeto de AWS Glue conexão requer acesso ao AWS Secrets Manager segredo quando você o usa AWS Secrets Manager para armazenar, recuperar e atualizar seu token OAuth secreto. O objeto de AWS Glue conexão também requer acesso para criar, descrever e usar as interfaces de rede da Amazon VPC quando você usa um endpoint da Amazon VPC para restringir a conectividade ao seu espaço de trabalho. Databricks

   Crie uma política do IAM e anexe-a a uma função do IAM. Adicione o principal de AWS Glue serviço à política de confiança.

   No exemplo a seguir, substitua `<your-secrets-manager-ARN>``<your-vpc-id>`, e `<your-subnet-id1>` por suas próprias informações.  
**Example Política do IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret",
                   "secretsmanager:PutSecretValue"
               ],
               "Resource": [
                   "<your-secrets-manager-ARN>"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateNetworkInterface",
                   "ec2:DeleteNetworkInterface",
                   "ec2:DescribeNetworkInterfaces"
               ],
               "Resource": "*",
               "Condition": {
                   "ArnEquals": {
                       "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/<your-vpc-id>",
                       "ec2:Subnet": ["arn:aws:ec2:region:account-id:subnet/<your-subnet-id1>"]
                   }
               }
           }
       ]
   }
   ```  
**Example Política de confiança**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Principal": {
               "Service": "glue.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```

1. <a name="databricks-step-3"></a>**Crie uma política do IAM que dê à Lake Formation acesso de leitura à localização do catálogo no Amazon S3**

   Como proprietário de um catálogo federado no Catálogo de Dados, você usa o Lake Formation para conceder acesso a tabelas de baixa granularidade, acesso refinado em nível de coluna, nível de linha e nível de célula e acesso baseado em tags às suas equipes de dados. O Lake Formation usa uma função do IAM que lhe dá acesso às localizações subjacentes do Amazon S3 de suas tabelas remotas do Iceberg. Esse acesso permite que a Lake Formation forneça credenciais de acesso com escopo definido para mecanismos de análise que consultam tabelas remotas.

   Crie uma política do IAM e anexe-a a uma função do IAM. Adicione o diretor de serviço do Lake Formation à política de confiança da função do IAM.

   No exemplo a seguir, substitua `<your-s3-bucket-N>` e `<your-kms-key>` por suas próprias informações.  
**Example Política do IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::<your-s3-bucket-1>/*",
                   "arn:aws:s3:::<your-s3-bucket-2>/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::<your-s3-bucket-1>",
                   "arn:aws:s3:::<your-s3-bucket-2>"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:Encrypt"
               ],
               "Resource": [
                   "<your-kms-key>"
               ]
           }
       ]
   }
   ```  
**Example Política de confiança**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**nota**  
Quando você usa o console do Lake Formation para criar um catálogo federado, o console usa uma única função do IAM com as duas políticas anexadas para concluir a configuração.

1. <a name="databricks-step-4"></a>**Criar um objeto de AWS Glue conexão**

   O Data Catalog suporta connectionType`DATABRICKSICEBERGRESTCATALOG`: para conectar o Data Catalog a. Databricks Esse AWS Glue conector oferece suporte OAuth2 a métodos de autenticação personalizados.

   O exemplo a seguir usa a configuração de OAuth2 autenticação para criar uma AWS Glue conexão. Substitua `highlighed sections` por suas informações.

   ```
   aws glue create-connection \
       --connection-input '{
   "Name": "<your-glue-connection-to-databricks-unity-account>",
   "ConnectionType": "DATABRICKSICEBERGRESTCATALOG",
   "ConnectionProperties": {
       "INSTANCE_URL": "<your-databricks-workspace-catalog-URL>",
       "ROLE_ARN": "<your-IAM-role-for-secrets-and-VPC-access>"
   },
   "AuthenticationConfiguration": {
       "AuthenticationType": "OAUTH2",
       "OAuth2Properties": {
           "OAuth2GrantType": "CLIENT_CREDENTIALS",
           "TokenUrl": "<your-internal-or-external-token-server-url>",
           "OAuth2ClientApplication": {
               "UserManagedClientApplicationClientId": "<your-client-id>"
           },
           "TokenUrlParametersMap": {
               "scope": "all-apis"
           }
       },
       "SecretArn": "arn:aws:secretsmanager:<aws-region>:<your-aws-account-id>:secret:<databricks-secret>"
   }
   }'
   ```

1. <a name="databricks-step-5"></a>**Registre AWS Glue a conexão como um recurso do Lake Formation**

   Usando o objeto de AWS Glue conexão (criado na Etapa 4) e a função do IAM (criada na Etapa 3), agora você pode registrar o objeto de AWS Glue conexão como um recurso gerenciado do Lake Formation.

   Substitua `<your-glue-connector-arn>` e `<your-IAM-role-ARN-having-LF-access>` por suas informações.

   ```
   aws lakeformation register-resource \
       --resource-arn <your-glue-connector-arn> \
       --role-arn <your-IAM-role-ARN-having-LF-access> \
       --with-federation \
       --with-privileged-access
   ```

1. <a name="databricks-step-6"></a>**Crie um catálogo federado no Catálogo de Dados**

   Depois de criar um objeto de AWS Glue conexão e registrá-lo no Lake Formation, você pode criar um catálogo federado no Catálogo de Dados:

   Forneça ao catálogo federado um nome exclusivo em`<your-federated-catalog-name>`, faça referência ao catálogo Databricks em `"<catalog-name-in-Databricks>` e insira o nome da conexão criada anteriormente em`"<your-glue-connection-name>`.

   ```
   aws glue create-catalog \
       --name <your-federated-catalog-name> \
       --catalog-input '{
       "FederatedCatalog": {
           "Identifier": "<catalog-name-in-Databricks>",
           "ConnectionName": "<your-glue-connection-name>"
       },
       "CreateTableDefaultPermissions": [],
       "CreateDatabaseDefaultPermissions": []
   }'
   ```

## Considerações ao integrar com Databricks
<a name="databricks-considerations"></a>
+ Quando você coloca recursos (como bancos de dados e tabelas) noDatabricks, o Lake Formation não revoga automaticamente as permissões concedidas nesse recurso federado. Para remover as permissões de acesso, você precisa revogar explicitamente as permissões que foram concedidas anteriormente no recurso federado usando o Lake Formation.
+ Você pode consultar tabelas do Iceberg armazenadas no Amazon S3 usando essa integração. Ao usar qualquer outro formato de tabela ou armazenamento de objetos, você pode federar metadados em catálogos remotos AWS Glue e listar seus bancos de dados e tabelas, mas operações de consulta, como `SELECT ColumnFoo from TableBar` ocorrerão falhas durante a consulta com o erro “Falha ao ler a tabela”. Apache Iceberg O local de armazenamento de objetos não é suportado. '
+ Você pode reutilizar a mesma AWS Glue conexão para criar vários catálogos federados. A exclusão de um catálogo não excluirá o objeto de conexão associado. Para excluir um objeto de conexão, use o `aws glue delete-connection` comando AWS CLI e certifique-se de que todos os catálogos associados sejam excluídos primeiro.

# Trazendo dados do Amazon Redshift para o AWS Glue Data Catalog
<a name="managing-namespaces-datacatalog"></a>

Você pode gerenciar dados analíticos nos armazéns de dados do Amazon Redshift no (Catálogo de dados) e AWS Glue Data Catalog unificar os data lakes do Amazon S3 e os armazéns de dados do Amazon Redshift. O Amazon Redshift é um serviço de armazém de dados totalmente gerenciado em escala de petabytes na nuvem. AWS Um data warehouse do Amazon Redshift é um conjunto de recursos de computação chamados *nós*, que são organizados em um grupo chamado *cluster*. Cada cluster executa um mecanismo do Amazon Redshift e contém um ou mais bancos de dados.

No Amazon Redshift, é possível criar clusters provisionados e namespaces sem servidor do Amazon Redshift e registrá-los no Data Catalog. Ao fazer isso, você pode unificar dados no armazenamento gerenciado do Amazon Redshift (RMS) e nos buckets do Amazon S3 e acessar dados de mecanismos de analytics compatíveis com o Apache Iceberg.

Quando você registra namespaces e clusters, pode conceder acesso aos dados sem a necessidade de copiá-los ou movê-los. Para acessar mais informações sobre o registro de clusters e namespaces no Amazon Redshift, consulte [Registrar clusters e namespaces do Amazon Redshift no AWS Glue Data Catalog](https://docs.aws.amazon.com/redshift/latest/dg/iceberg-integration-register.html). 

 No Amazon Redshift, é possível realizar o compartilhamento de dados por meio de unidades de compartilhamento de dados ou registrar namespaces e clusters com o Data Catalog. Com as unidades de compartilhamento de dados, que operam no nível de objeto de banco de dados individual, você precisa habilitar o compartilhamento para cada tabela ou visualização. Por outro lado, a publicação de namespace funciona em nível de cluster ou namespace. Quando você registra um cluster ou namespace no Data Catalog, todos os bancos de dados e tabelas dentro dele são compartilhados automaticamente, sem que você precise configurar o compartilhamento para objetos individuais. 

No Data Catalog, você pode criar um catálogo federado para cada namespace ou cluster. Um catálogo é chamado de *catálogo federado* quando aponta para uma entidade fora do Data Catalog. As tabelas e visualizações no namespace do Amazon Redshift são listadas como tabelas individuais no Data Catalog. É possível compartilhar bancos de dados e tabelas no catálogo federado com entidades principais do IAM e usuários SAML selecionados na mesma conta ou em outra conta com Lake Formation. Você também pode incluir expressões de filtro de linha e coluna para restringir o acesso a determinados dados. Para obter mais informações, consulte [Filtragem de dados e segurança por célula no Lake Formation](data-filtering.md). 

O Data Catalog comporta uma hierarquia de metadados de três níveis que inclui catálogos, bancos de dados e tabelas (e visualizações). Quando você registra um namespace no Data Catalog, a hierarquia de dados do Amazon Redshift é associada à hierarquia de três níveis do Data Catalog da seguinte forma:
+ O namespace Amazon Redshift se torna um catálogo de vários níveis no Data Catalog.
+ O banco de dados associado do Amazon Redshift é registrado como um catálogo no Data Catalog.
+ O esquema do Amazon Redshift se torna um banco de dados no Data Catalog.
+ A tabela do Amazon Redshift se torna uma tabela no Data Catalog.

![\[Mostra o mapeamento em nível de catálogo entre o namespace do Amazon Redshift e o Data Catalog.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/rs-catalog-mapping.png)


Com essa hierarquia de metadados de três níveis, você pode acessar as tabelas do Amazon Redshift usando a notação em três partes: “catalog1/catalog2.database.table” no Data Catalog. Além disso, as equipes de dados podem manter a mesma organização que o Amazon Redshift usa para organizar tabelas na conta do Data Catalog. 

No Lake Formation, você pode gerenciar com segurança os dados do Amazon Redshift usando controle de acesso refinado para os recursos do Data Catalog. Com essa integração, é possível gerenciar, proteger e consultar dados analíticos de um único catálogo com um mecanismo de controle de acesso comum.

Para conhecer as limitações, consulte [Limitações para trazer dados do armazém de dados do Amazon Redshift para o AWS Glue Data Catalog](notes-ns-catalog.md).

**Topics**
+ [Benefícios principais](#namespace-publish-benefits)
+ [Perfis e responsabilidades](#namespace-roles-responsibilities)
+ [Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog](redshift-ns-prereqs.md)
+ [Criar catálogos federados do Amazon Redshift](create-ns-catalog.md)
+ [Visualizar objetos do catálogo](view-ns-catalog-resources.md)
+ [Atualizar um catálogo federado](update-fed-catalog-steps.md)
+ [Acessar um catálogo federado compartilhado](catalog-resource-link.md)
+ [Excluir um catálogo federado](delete-rs-fed-catalog.md)
+ [Consultar catálogos federados](query-redshift-fed-catalog.md)
+ [Recursos adicionais do](additional-resources-byod.md)

## Benefícios principais
<a name="namespace-publish-benefits"></a>

 O registro de clusters e namespaces do Amazon Redshift com eles e AWS Glue Data Catalog a unificação de dados nos data lakes do Amazon S3 e nos armazéns de dados do Amazon Redshift oferecem os seguintes benefícios: 
+ **Experiência de consulta uniforme**: consulte seus dados e dados gerenciados pelo Amazon Redshift nos buckets do Amazon S3 usando qualquer mecanismo de consulta compatível com o Apache Iceberg, como o Amazon EMR Sem Servidor e o Amazon Athena, sem precisar mover ou copiar dados. 
+ **Acesso consistente aos dados em todos os serviços** — Você não precisa atualizar os nomes do banco de dados e das tabelas em seus pipelines de dados ao acessar as mesmas fontes de dados federadas de diferentes serviços de AWS análise, pois as fontes de dados são registradas no Catálogo de Dados. 
+ **Controle de acesso refinado**: é possível aplicar permissões do Lake Formation para gerenciar o acesso às fontes de dados federadas usando permissões de controle de acesso refinadas. 

## Perfis e responsabilidades
<a name="namespace-roles-responsibilities"></a>


|  |  | 
| --- |--- |
| Perfil | Responsabilidade | 
|  Administrador de cluster de produtor do Amazon Redshift  |  Registra o cluster ou o namespace no Data Catalog.  | 
| Administrador do data lake do Lake Formation  |  Aceita o convite do cluster ou do namespace, cria catálogos federados e concede acesso aos catálogos federados a outras entidades principais.  | 
| Administrador somente leitura do Lake Formation | Descobre o catálogo federado e consulta as tabelas do Amazon Redshift no catálogo federado. | 
| Perfil de transferência de dados  |  O Amazon Redshift assume, em seu nome, a transferência de dados para e do bucket do Amazon S3.  | 

Veja a seguir as etapas de alto nível para conceder acesso aos usuários a um namespace do Amazon Redshift:

1.  No Amazon Redshift, o administrador do cluster produtor registra um cluster ou namespace no Data Catalog. 

1. O administrador do data lake aceita o convite do namespace do administrador do cluster produtor do Amazon Redshift e cria um catálogo federado no Data Catalog.

   Após concluir essa etapa, você pode gerenciar o catálogo de namespaces do Amazon Redshift dentro do Data Catalog. 

1. Conceda permissões a usuários em catálogos, bancos de dados e tabelas. Você pode compartilhar todo o catálogo de namespaces ou um subconjunto de tabelas com os usuários na mesma conta ou em outra conta. 

# Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog
<a name="redshift-ns-prereqs"></a>

1. Crie um administrador de data lake — crie uma função do IAM autorizada a aceitar o convite do namespace, crie os AWS Glue Data Catalog objetos (catálogos, bancos de dados, tabelas/visualizações) e conceda permissões do Lake Formation a outros usuários.

   Para step-by-step obter instruções sobre como criar um administrador de data lake, consulte[Crie um administrador de data lake](initial-lf-config.md#create-data-lake-admin). 

1. Atualize as permissões do administrador do data lake.

    Além das permissões, o administrador do data lake precisa das seguintes permissões para aceitar um convite de namespace do Amazon Redshift no Lake Formation, criar ou atualizar os recursos do Data Catalog e habilitar o acesso ao data lake:

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

****  

   ```
       {
       "Version":"2012-10-17",		 	 	 
       "Id": "glue-enable-datalake-access",
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "redshift:AssociateDataShareConsumer",
                   "redshift:DescribeDataSharesForConsumer",
                   "redshift:DescribeDataShares",
                   "redshift-serverless:CreateNamespace",
                   "redshift-serverless:CreateWorkgroup",
                   "redshift-serverless:DeleteNamespace",
                   "redshift-serverless:DeleteWorkgroup",
                   "ec2:DescribeAccountAttributes",
                   "ec2:DescribeSubnets",
                   "ec2:DescribeSecurityGroups",
                   "ec2:DescribeAvailabilityZones",
                   "s3:createBucket",
                   "s3:deleteBucket",
                   "s3:putBucketPolicy",
                   "s3:putEncryptionConfiguration",
                   "s3:putLifecycleConfiguration",
                   "s3:putBucketVersioning",
                   "iam:CreateRole"
               ],
               "Resource": "*"
           },
           {
               "Action": [
                   "iam:PassRole"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:iam::*:role/data transfer role name",
               "Condition": {
                   "StringLike": {
                       "iam:PassedToService": [
                           "glue.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Se o perfil do IAM usado para criar catálogos federados não for de administrador de data lake, você precisará conceder a permissão `Create catalog` ao perfil.

**Como criar criadores de catálogos**

   1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   1. Escolha **Perfis e tarefas administrativas** em **Administração**.

   1. Selecione **Conceder**.

   1. Na tela **Conceder permissões**, selecione um usuário ou um perfil do IAM.

   1. Selecione a permissão **Criar catálogo**.

   1. Você também pode conceder a permissão **Criar catálogo**. A permissão para concessão permite que o criador de catálogos conceda a permissão `Create catalog` a outras entidades principais.

   1. Selecione **Conceder**.

   AWS CLI exemplo de concessão de permissões para criar um catálogo federado. 

   ```
   aws lakeformation grant-permissions \
   --cli-input-json \
   '{
       "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin"
       },
       "Resource": {
           "Catalog": {
           }
       },
       "Permissions": [
           "CREATE_CATALOG",
           "DESCRIBE"
       ]
   }'
   ```

1. Crie um perfil de administrador somente leitura para descobrir os catálogos federados do Amazon Redshift no Data Catalog do Editor de Consultas V2 do Amazon Redshift.

   Para consultar as tabelas do Amazon Redshift no catálogo federado do Editor de Consultas V2 do Amazon Redshift, a política de perfil de administrador somente leitura deve conter o ARN do perfil vinculado a serviços `AWSServiceRoleForRedshift` do Amazon Redshift. 

   ```
    aws lakeformation put-data-lake-settings 
           --region us-east-1 \
           --data-lake-settings \
    '{
      "DataLakeAdmins": [{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin"}],
      "ReadOnlyAdmins":[{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift"}],
      "CreateDatabaseDefaultPermissions":[],
      "CreateTableDefaultPermissions":[],
      "Parameters":{"CROSS_ACCOUNT_VERSION":"4","SET_CONTEXT":"TRUE"}
     }'
   ```

1.  Crie um perfil de transferência de dados que o Amazon Redshift possa assumir em seu nome para transferir dados de e para o bucket do Amazon S3. 

   Ao habilitar o acesso ao data lake para mecanismos de consulta compatíveis com o Apache Iceberg, como Athena, Amazon EMR no Amazon EC2, para acessar os recursos do Amazon Redshift no Data Catalog, você precisa criar um perfil do IAM com as permissões necessárias para realizar a transferência de dados de e para o bucket do Amazon S3. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "glue-enable-datalake-access",
       "Statement": [{
         "Sid": "DataTransferRolePolicy",
           "Effect": "Allow",
           "Action": [ "glue:GetCatalog",
                       "glue:GetDatabase",
                       "kms:GenerateDataKey",
                       "kms:Decrypt"],
           "Resource": "*"
       }
       ]
   }
   ```

------

1.  Adicione a seguinte política de confiança à função de transferência de dados AWS Glue e aos serviços do Amazon Redshift para assumir a função de transferir dados de e para o bucket do Amazon S3. 

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

****  

   ```
             {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Principal": {
           "Service": [
           "redshift.amazonaws.com",
           "glue.amazonaws.com"
           ]
       },
           "Action": "sts:AssumeRole"
       }]
   }
   ```

------

1.  Adicione a seguinte política de chaves à AWS KMS chave se você estiver usando uma chave gerenciada pelo cliente para criptografar os dados no cluster/namespace do Amazon Redshift. Substitua o número da conta por um número de AWS conta válido e especifique o nome da função de transferência de dados. Por padrão, os dados no cluster do Amazon Redshift são criptografados com uma chave do KMS. O Lake Formation oferece uma opção para criar sua chave do KMS personalizada para criptografia. Se você estiver usando uma chave gerenciada pelo cliente, deverá adicionar políticas de chave específicas à chave. 

   Para obter mais informações sobre como gerenciar as permissões de uma chave gerenciada pelo cliente, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "auto-redshift-3",
       "Statement": [{
               "Sid": "RedshiftAllowAccessPolicy",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "*"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:CreateGrant",
                   "kms:DescribeKey"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "kms:CallerAccount": "111122223333",
                       "kms:ViaService": "redshift.us-east-1.amazonaws.com"
                   }
               }
           },
           {
               "Sid": "RedshiftServerlessAllowAccessPolicy",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "*"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:CreateGrant",
                   "kms:DescribeKey"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "kms:CallerAccount": "111122223333",
                       "kms:ViaService": "redshift-serverless.us-east-1.amazonaws.com"
                   }
               }
           },
           {
               "Sid": "DirectMetadataAccess",
               "Effect": "Allow",
               "Principal": {
               "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": [
                   "kms:Describe*",
                   "kms:Get*",
                   "kms:List*",
                   "kms:RevokeGrant"
               ],
               "Resource": "*"
           },
           {
               "Sid": "GenerateDataKeyDecryptDataTransferRole",
               "Effect": "Allow",
               "Principal": {
               "AWS": "arn:aws:iam::111122223333:role/data-transfer-role-name"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                   "kms:ViaService": "s3.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

# Criar catálogos federados do Amazon Redshift
<a name="create-ns-catalog"></a>

Este tópico descreve as etapas que você precisa seguir para aceitar um convite de cluster ou namespace, criar um catálogo federado de vários níveis e conceder permissões a outras entidades principais. Você pode concluir essas tarefas usando o console Lake Formation, o AWS Command Line Interface (AWS CLI) ou APIs/SDKs. Os exemplos neste tópico mostram o cluster/namespace produtor, o Data Catalog e o consumidor de dados na mesma conta.

Para saber mais sobre os recursos de entre contas do Lake Formation, consulte [Compartilhamento de dados entre contas no Lake Formation](cross-account-permissions.md).

**Como gerenciar um namespace do Amazon Redshift no Data Catalog**

1. Analise um convite de namespace e aceite-o.

------
#### [ Console ]

   1. Faça login no console do Lake Formation como administrador do data lake em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Navegue até a página **Catálogos** em **Data Catalog**. 

   1. Analise o convite do namespace que você tem autorização para acessar. A coluna **Status** indica seu status atual de participação no namespace. O status **Não aceito** indica que você foi adicionado ao namespace, mas não o aceitou ainda ou rejeitou o convite.   
![\[A página de catálogos com convites pendentes.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/catalog-details.png)

   1. Para responder ao convite de um namespace ou cluster, selecione o nome do convite e escolha **Revisar convite**. Em **Aceitar ou rejeitar convite**, examine os detalhes do convite. Selecione **Aceitar** para aceitar o convite ou **Rejeitar** para recusar o convite. Se você rejeitar o convite, não terá acesso ao namespace.

------
#### [ AWS CLI ]

   Os exemplos a seguir mostram como exibir, aceitar e registrar o convite. Substitua o Conta da AWS ID por um Conta da AWS ID válido. Substitua o `data-share-arn` pelo nome do recurso da Amazon (ARN) real que faz referência ao namespace.

   1. Visualize um convite pendente.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace' \
      ```

   1. Aceite um convite.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace' \
       --consumer-arn 'arn:aws:glue:us-east-1:123456789012:catalog'
      ```

   1. Registre o cluster ou o namespace na conta do Lake Formation. Use a operação [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html)da API para registrar o compartilhamento de dados no Lake Formation. `DataShareArn`é o parâmetro de entrada para`ResourceArn`.
**nota**  
Este é uma etapa obrigatória.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace'
      ```

------

1. Crie um catálogo federado.

    Depois de aceitar um convite, você precisa criar um catálogo federado no Data Catalog que associe os objetos no namespace do Amazon Redshift ao Data Catalog. Você deve ser administrador de data lake ou um usuário ou perfil que tenha as permissões necessárias para criar um catálogo. 

------
#### [ Console ]

   1. Depois de aceitar o **convite** do namespace, a página **Definir detalhes do catálogo** é exibida. 

   1. Na página **Definir detalhes do catálogo**, insira um nome exclusivo para o catálogo. Use letras minúsculas para nomes de catálogos. Os nomes dos catálogos devem ter, no máximo, 255 caracteres. Use esse identificador para associar o namespace internamente na hierarquia de metadados (catalogid.dbName.schema.table). 

   1.  Digite uma descrição para o catálogo. A descrição deve ter 2.048 caracteres ou menos. 

   1. Depois, marque a caixa de seleção **Acessar esse catálogo por meio de mecanismos compatíveis com o Iceberg** para permitir o acesso aos recursos do Amazon Redshift usando mecanismos analíticos compatíveis com o Apache Iceberg, como o Athena e o Apache Spark no Amazon EMR.

      Não é necessário habilitar o acesso ao data lake para acessar os catálogos federados usando o Amazon Redshift.  
![\[A página de criação do catálogo com opções de habilitação de acesso.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/catalog-access.png)

   1. Para permitir que esses mecanismos de consulta leiam e gravem nos namespaces do Amazon Redshift, AWS Glue cria um cluster gerenciado do Amazon Redshift com os recursos computacionais e de armazenamento necessários para realizar operações de leitura e gravação sem afetar as cargas de trabalho do armazém de dados do Amazon Redshift.

      Também é preciso fornecer um perfil do IAM com as permissões necessárias para transferir dados de e para o bucket do Amazon S3. 

   1. Por padrão, os dados no cluster do Amazon Redshift são criptografados usando uma chave AWS gerenciada. O Lake Formation oferece uma opção para criar sua chave do KMS personalizada para criptografia. Se você estiver usando uma chave gerenciada pelo cliente, deverá adicionar políticas de chave específicas à chave. 

       Escolha **Personalizar configurações de criptografia** se você estiver usando uma chave gerenciada pelo cliente para criptografar os dados no cluster/namespace do Amazon Redshift. Para usar uma chave personalizada, você deve adicionar outra política de chave gerenciada personalizada à sua chave do KMS. Para obter mais informações, consulte [Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog](redshift-ns-prereqs.md).

------
#### [ AWS CLI ]

    Use o código de exemplo a seguir para criar um catálogo com os dados do Amazon Redshift publicados no Data Catalog usando a AWS CLI. 

   ```
   aws glue create-catalog 
   --cli-input-json \
   '{
       "Name": "nscatalog", 
       "CatalogInput": {
           "Description": "Redshift federated catalog",
           "CreateDatabaseDefaultPermissions" : [],
           "CreateTableDefaultPermissions": [],
           "FederatedCatalog": {
               "Identifier": "arn:aws:redshift:us-east-1:123456789012:datashare:11524d7f-f56d-45fe-83f7-d7bb0a4d6d71/ds_internal_namespace",
               "ConnectionName": "aws:redshift"
           },
           "CatalogProperties": {
             "DataLakeAccessProperties" : {
               "DataLakeAccess" : true,
               "DataTransferRole" : "arn:aws:iam::123456789012:role/DataTransferRole"
            } 
          }
       }
   }'
   ```

------

1. Conceda permissões aos usuários em sua conta ou em contas externas.

------
#### [ Console de gerenciamento da AWS ]

   1. Selecione **Próximo** para conceder permissões a outros usuários nos catálogos, banco de dados e tabelas compartilhados. 

   1.  Na tela **Adicionar permissões**, escolha as entidades principais e os tipos de permissões a serem concedidas.   
![\[A página de permissões do catálogo com o tipo de entidade principal e as opções de concessão.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/catalog-permissions.png)

      1.  Na seção **Entidades principais**, escolha um tipo de entidade principal e, em seguida, especifique as entidades principais para conceder permissões. 
         + **Usuários e perfis do IAM**: escolha um ou mais usuários ou perfis na lista de usuários e perfis do IAM.
         + **Usuários e grupos do SAML** — Para SAML e Amazon Quick usuários e grupos, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou para usuários ou grupos do ARNs Amazon Quick. Pressione **Enter** após cada ARN.

           Para obter informações sobre como construir o ARNs, consulte os AWS CLI comandos AWS CLI grant e revoke. 
         + **Contas externas** — Para AWS, AWS organização ou diretor do IAM, insira uma ou mais AWS contas IDs, organizações IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função do IAM. Pressione Enter após cada ID. O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos. Uma ID de unidade organizacional começa com “ou-” seguida de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais. 

      1.  Na seção **Permissões**, selecione permissões e permissões concedidas.

         Em **Permissões do catálogo**, selecione uma ou mais permissões a serem concedidas. Em **Permissões concedidas, selecione as permissões** que o beneficiário do subsídio pode conceder a outros diretores em sua conta. AWS Essa opção não é compatível quando você está concedendo permissões a uma entidade principal do IAM a partir de uma conta externa. 

         Escolha **Superusuário** para conceder ao usuário permissões irrestritas aos recursos (bancos de dados, tabelas, visualizações) dentro do catálogo.

   1. Escolha **Adicionar**.

------
#### [ AWS CLI ]

   Use os exemplos a seguir para conceder permissões de catálogo, banco de dados e tabelas usando a AWS CLI:
   + O exemplo a seguir mostra como conceder permissões no catálogo federado.

     ```
     aws lakeformation grant-permissions
      --cli-input-cli-json \
        '{
              "Principal": {
                   "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:role/non-admin"
               },
               "Resource": {
                    "Catalog": {
                          "Id": "123456789012:nscatalog"
                     }
                 },
                 "Permissions": [
                        "DESCRIBE","CREATE_CATALOG"
                  ],
                 "PermissionsWithGrantOption": [
                  ]
         }'
     ```
   + Use o exemplo da seguir para conceder permissões em um banco de dados.

     ```
     aws lakeformation grant-permissions \
       --cli-input-json \
               '{
                   "Principal": {
                       "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:role/non-admin"
                   },
                   "Resource": {
                       "Database": {
                           "CatalogId": "123456789012:nscatalog/dev",
                           "Name": "public"
                       }
                   },
                   "Permissions": [
                       "ALL"
                   ]
               }'
     ```
   +  O exemplo a seguir mostra como conceder permissões em uma tabela no banco de dados do Amazon Redshift. 

     ```
     aws lakeformation grant-permissions \
       --cli-input-json \
             '{
                 "Principal": {
                     "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:role/non-admin"
                 },
                 "Resource": {
                     "Table": {
                         "CatalogId": "123456789012:nscatalog2/dev",
                         "DatabaseName": "public",
                         "TableWildcard" : {}
                     }
                 },
                 "Permissions": [
                     "ALL"
                 ]
             }'
     ```

------

1. Escolha **Próximo** para revisar os detalhes do catálogo e criar um catálogo federado. O catálogo federado recém-criado e os objetos do catálogo aparecem na página **Catálogos**. 

   Um catálogo federado do Amazon Redshift é referido com `catalogID = 123456789012:Redshift-federated catalog id`.

# Visualizar objetos do catálogo
<a name="view-ns-catalog-resources"></a>

 Depois de criar o catálogo federado, você pode visualizar os objetos nele usando o console do Lake Formation ou a AWS CLI. 

------
#### [ Console de gerenciamento da AWS ]

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Escolha **Catálogos** no Data Catalog. 

1. Escolha um catálogo federado na lista na página **Catálogos**.

1.  A página de resumo do catálogo mostra os objetos do catálogo (bancos de dados e tabelas) nos quais você tem permissões. A guia **Permissões** mostra as entidades principais do IAM que receberam permissões nesses objetos. 

------
#### [ AWS CLI ]
+ O AWS CLI exemplo a seguir mostra como solicitar o catálogo de nível superior.

  ```
  aws glue get-catalog \
  --catalog-id 123456789012:nscatalog
  ```

  *Resposta*

  ```
  {
      "Catalog": {
          "CatalogId": "123456789012:nscatalog",
          "Name": "nscatalog",
          "ResourceArn": "arn:aws:glue:us-east-1:123456789012:catalog/nscatalog",
          "Description": "Redshift published Catalog",
          "CreateTime": "2024-09-05T14:49:16-07:00",
          "FederatedCatalog": {
              "Identifier": "arn:aws:redshift:us-east-1:123456789012:datashare:b1234589-e823-4a14-ad8e-077085540a50/ds_internal_namespace",
              "ConnectionName": "aws:redshift"
          },
          "CatalogProperties": {
              "DataLakeAccessProperties": {
                  "DataLakeAccess": true,
                  "DataTransferRole": "arn:aws:iam::123456789012:role/DataTransferRole",
                  "KmsKey": "AWS_OWNED_KMS_KEY",
                  "ManagedWorkgroupName": "123456789012:nscatalog",
                  "ManagedWorkgroupStatus": "AVAILABLE",
                  "RedshiftDatabaseName": "dev"
              }
          },
          "CatalogIdentifier": "e2309c2c2fb048f1a3069dfdc1c7883e",
          "CreateTableDefaultPermissions": [],
          "CreateDatabaseDefaultPermissions": []
      }
  }
  ```
+ O exemplo a seguir mostra como solicitar todos os catálogos na conta.

  ```
  aws glue get-catalogs \
    --recursive
  ```
+ O exemplo de solicitação a seguir mostra como acessar um catálogo em nível de banco de dados do Amazon Redshift.

  ```
  aws glue get-catlog \
   --catalog-id 123456789012:namespace catalog name/redshift database name
  ```
+ O exemplo de solicitação a seguir mostra como acessar os bancos de dados no catálogo em nível de banco de dados do Amazon Redshift.

  ```
  aws glue get-databases \
  --catalog-id 123456789012:namespace catalog name/redshift database name
  ```
+  O exemplo de solicitação a seguir mostra como acessar uma tabela do Amazon Redshift no catálogo. 

  ```
  aws glue get-table \
    --catalog-id 123456789012:parent catalog name/redshift database \
    --database-name redshift schema name \
    --name table name
  ```
+  O exemplo de código a seguir mostra como acessar todas as tabelas do banco de dados do Amazon Redshift. 

  ```
  aws glue get-tables \
   --catalog-id 123456789012:namespace catalog name/redshift database name \
   --database-name RS schema name
  ```

------

# Atualizar um catálogo federado
<a name="update-fed-catalog-steps"></a>

Você pode atualizar um catálogo federado do Amazon Redshift no catálogo de dados usando o console do Lake Formation AWS CLI ou a operação da [UpdateCatalog](https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateCatalog.html)API.

------
#### [ Console de gerenciamento da AWS ]

Siga estas etapas para atualizar seu catálogo federado usando o console do Lake Formation.

1. Faça login no Console de gerenciamento da AWS, e abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação esquerdo, escolha **Catálogos**, em **Data Catalog**.

1. Na página **Catálogos**, escolha o catálogo federado do Amazon Redshift que você deseja atualizar.

1. Em **Ações**, selecione **Editar**.

1. Na tela **Definir detalhes do catálogo**, na seção **Acesso a partir de mecanismos**, escolha **Acessar este catálogo por meio de mecanismos compatíveis com o Iceberg**. Marcar essa opção habilitará o acesso ao data lake para mecanismos de consulta compatíveis com o Apache Iceberg.

1. Depois, crie um perfil do IAM ou escolha um perfil existente do IAM que tenha a política que concede permissões para realizar a transferência de dados de e para o bucket do Amazon S3.

   Para acessar mais informações sobre permissões, consulte [Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog](redshift-ns-prereqs.md).

1. Por padrão, os dados no cluster do Amazon Redshift são criptografados com uma Chave gerenciada pela AWS. Se você optar por criptografar dados usando uma chave gerenciada pelo cliente, crie uma chave do KMS ou escolha uma chave existente que tenha as permissões definidas na seção [Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog](redshift-ns-prereqs.md). 

1. Escolha **Salvar**.

   Após a conclusão bem-sucedida, a página **Detalhes do catálogo** mostra o nome do grupo de trabalho gerenciado com o status “Êxito”.

------
#### [ AWS CLI ]

Veja a seguir um exemplo da entrada da CLI `update-catalog` com o acesso ao data lake desabilitado ao definir o valor do parâmetro `DataLakeAacess` como `false`. 

```
aws glue update-catalog  --cli-input-json \
'{
    "Name": "nscatalog", 
    "CatalogInput": {
        "Description": "Redshift published catalog",
        "CreateDatabaseDefaultPermissions" : [],
        "CreateTableDefaultPermissions": [],
        "FederatedCatalog": {
            "Identifier": "arn:aws:redshift:us-east-1:123456789012:datashare:11524d7f-f56d-45fe-83f7-d7bb0a4d6d71/ds_internal_namespace",
            "ConnectionName": "aws:redshift"
        },
        "CatalogProperties": {
          "DataLakeAccessProperties" : {
            "DataLakeAccess" : false
        } 
       }
    }
}'
```

------

# Acessar um catálogo federado compartilhado
<a name="catalog-resource-link"></a>

 AWS Lake Formation os recursos de várias contas permitem que os usuários compartilhem com segurança lagos de dados distribuídos entre vários Conta da AWS s, AWS organizações ou diretamente com os diretores do IAM em outra conta, fornecendo acesso refinado aos metadados e aos dados subjacentes. 

Lake Formation usa o serviço AWS Resource Access Manager (AWS RAM) para facilitar o compartilhamento de recursos. Quando você compartilha um recurso do catálogo com outra conta, AWS RAM envia um convite para a conta do beneficiário para aceitar ou rejeitar a concessão do recurso.

Serviços analíticos integrados, como o Amazon Athena e o Redshift Spectrum, exigem links de recursos para poder incluir recursos compartilhados nas consultas. Os diretores precisam criar um link de recurso AWS Glue Data Catalog para um recurso compartilhado de outra pessoa Conta da AWS. Para acessar mais informações sobre links de recursos, consulte [Como os links de recursos funcionam em Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/resource-links-about.html).

Um *contêiner de link de catálogo* é um objeto de catálogo de dados, que faz referência a um catálogo local ou de várias contas em nível de banco de dados federado de outras contas. AWS Você também pode criar links de banco de dados e links de tabela em um contêiner de links de catálogo. Ao criar um link de banco de dados ou um link de tabela, você deve especificar um recurso de destino que resida no mesmo catálogo de destino em nível de banco de dados do Amazon Redshift (banco de dados do Amazon Redshift). 

Para criar um contêiner de links de catálogo, você precisa de `CREATE_CATALOG` do Lake Formation ou da permissão `glue:CreateCatalog`.

 Você deve ter **as configurações de versão da conta cruzada** versão 4 ou superior para compartilhar bancos de dados ou tabelas no catálogo federado entre Conta da AWS s. 

## Criar um contêiner de links de catálogo para um catálogo federado entre contas
<a name="create-resource-link-catalog"></a>

Você pode criar um contêiner de links de catálogo que aponta para um catálogo federado no nível do banco de dados do Redshift em qualquer AWS região usando o AWS Lake Formation console, AWS Glue `CreateCatalog` a API ou (). AWS Command Line Interface AWS CLI

**Como criar um contêiner de links de catálogo para um catálogo compartilhado (console)**

1. Abra o AWS Lake Formation console em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Faça login como entidade principal com a permissão `CREATE_CATALOG` do Lake Formation. 

1. No painel de navegação, escolha **Catálogos** e depois selecione **Criar catálogo**.

1. Na página **Definir detalhes do catálogo**, forneça as seguintes informações:  
**Nome**  
Digite um nome que siga as mesmas regras que um nome de catálogo. O nome pode ser o mesmo do catálogo compartilhado de destino.  
**Tipo**  
Escolha o **contêiner de links de catálogo** como o tipo de catálogo.  
**Fonte**  
Selecione `Redshift`.  
**Catálogo de destino do Redshift**  
Selecione um catálogo federado em nível de banco de dados do Redshift ou escolha um catálogo local (próprio) na lista.  
A lista contém todos os catálogos compartilhados com sua conta. Observe que o ID da conta do proprietário do catálogo está listado em cada catálogo. Caso você não veja um catálogo que saiba que foi compartilhado com sua conta, confira o seguinte:  
   + Se você não for administrador do data lake, confira se o administrador do data lake concedeu a você as permissões do Lake Formation no catálogo.
   + Se você for administrador de um data lake e sua conta não estiver na mesma AWS Organization que a conta concedente, não se esqueça de aceitar o convite de compartilhamento de recursos AWS Resource Access Manager (AWS RAM) para o catálogo. Para obter mais informações, consulte [Aceitando um convite de compartilhamento de recursos do AWS RAM](accepting-ram-invite.md).
Ao criar um contêiner de links de catálogo por meio do console, o menu suspenso **Catálogo de destino do Redshift** pode exibir `No matches` quando você tenta selecionar um catálogo do Redshift entre contas. Apesar dessa exibição, você pode inserir manualmente o ARN de destino do catálogo em nível de banco de dados federado do Amazon Redshift (banco de dados Amazon Redshift) no campo de entrada, e o formulário ainda funcionará corretamente. Por exemplo: `arn:aws:glue:us-east-1:123456789012:catalog/federated-catalog-redshift/dev`.  
Esse comportamento ocorre porque o console só pode pesquisar candidatos em potencial na conta atualmente conectada. O menu suspenso serve como um recurso de preenchimento automático, mas você ainda pode inserir ARNs manualmente o acesso entre contas.

1. Para permitir que os mecanismos de consulta Apache Iceberg leiam e gravem nos namespaces do Amazon Redshift, cria AWS Glue um cluster gerenciado do Amazon Redshift com os recursos computacionais e de armazenamento necessários para realizar operações de leitura e gravação sem afetar as cargas de trabalho do armazém de dados do Amazon Redshift. É preciso fornecer um perfil do IAM com as permissões necessárias para transferir dados de e para o bucket do Amazon S3. 

1. Escolha **Próximo**.

1. (Opcional) Escolha **Adicionar permissões** para conceder permissões a outras entidades principais.

   No entanto, conceder permissões em um contêiner de link de catálogo não implica que as permissões serão concedidas no catálogo (vinculado) de destino. Você deve conceder permissões no catálogo de destino separadamente para que o link fique visível no Athena.

1. Depois, revise os detalhes do contêiner de links de catálogo e escolha **Criar catálogo**. 

   Depois, você pode visualizar o nome do contêiner de links na página **Catálogos**.

   Agora, você pode criar links de banco de dados e links de tabela no contêiner de links de catálogo para permitir o acesso por meio de mecanismos de consulta.

**Criar um exemplo de CLI de contêiner de links de catálogo**
+ No exemplo a seguir, o objeto `TargetRedshiftCatalog` especifica o arn do catálogo em nível de banco de dados federado do Amazon Redshift (banco de dados do Amazon Redshift). O `DataLakeAccess` deve ser habilitado quando você cria o contêiner de links de catálogo.

  ```
  aws glue create-catalog \
    --cli-input-json 
      '{
          "Name": "linkcontainer", 
          "CatalogInput": {
              "TargetRedshiftCatalog": {
                 "CatalogArn": "arn:aws:us-east-1:123456789012:catalog/nscatalog/dev"
               },
              "CatalogProperties": {
                "DataLakeAccessProperties" : {
                  "DataLakeAccess" : true,
                  "DataTransferRole" : "arn:aws:iam::111122223333:role/DataTransferRole"
               } 
             }
          }
      }'
  ```

## Criar links de recursos no contêiner de links de catálogo
<a name="create-db-table-link"></a>

 É possível criar links de recursos para links de bancos de dados e tabelas em um contêiner de links de catálogo. Ao criar links de recursos de banco de dados ou de recursos de tabela, você deve especificar um recurso de destino que resida no mesmo catálogo de destino em nível de banco de dados do Amazon Redshift (banco de dados do Amazon Redshift) para o qual o contêiner de links aponta. 

Você pode criar um link de recurso para um banco de dados compartilhado do Amazon Redshift ou uma tabela usando o AWS Lake Formation console, a API ou AWS Command Line Interface ()AWS CLI.
+ Para obter instruções detalhadas, consulte [Como criar um link de recurso para um banco de dados compartilhado do catálogo de dados](create-resource-link-database.md).

  Veja a seguir um AWS CLI exemplo para criar um link de recurso de banco de dados em um contêiner de links de catálogo.

  ```
  aws glue create-database \
    --cli-input-json \
      '{
          "CatalogId": "111122223333:linkcontainer",
          "DatabaseInput": {
              "Name": "dblink",
               "TargetDatabase": {
                 "CatalogId": "123456789012:nscatalog/dev",
                  "DatabaseName": "schema1"
               }
          }
      }'
  ```
+ Para criar um link de recurso de tabela em um contêiner de link de catálogo, primeiro você precisa criar um AWS Glue banco de dados no local AWS Glue Data Catalog para conter o link de recurso de tabela.

  Para acessar mais informações sobre como criar links de recursos para tabelas compartilhadas, consulte [Como criar um link de recurso para uma tabela compartilhada do catálogo de dados](create-resource-link-table.md).
  +  Criar um banco de dados para conter o exemplo de link de recurso de tabela

    ```
    aws glue create-database \
      --cli-input-json \
          '{
              "CatalogId": "111122223333:linkcontainer",
              "DatabaseInput": {
                  "Name": "db1",
                  "Description": "creating parent database for table link"
              }
          }'
    ```
  +  Exemplo de link de recurso de criação de tabela

    ```
    aws glue create-table \
      --cli-input-json \
        '{
            "CatalogId": "111122223333:linkcontainer",
             "DatabaseName": "db1",
            "TableInput": {
                "Name": "tablelink",
                "TargetTable": {
                    "CatalogId": "123456789012:nscatalog/dev",
                   "DatabaseName": "schema1", 
                    "Name": "table1"
                 }
            }
        }'
    ```

# Excluir um catálogo federado
<a name="delete-rs-fed-catalog"></a>

 Você pode excluir os catálogos federados que você criou AWS Glue Data Catalog usando a `glue:DeleteCatalog` operação ou o AWS Lake Formation console. 

**Como excluir um catálogo federado (console)**

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação, escolha **Catálogos**, em **Data Catalog**.

1. Escolha o catálogo que deseja excluir da lista.

1. Escolha **Excluir** em **Ações**. 

1. Escolha **Eliminar** para confirmar e o catálogo federado será excluído do Data Catalog.  
![\[A confirmação de exclusão do catálogo.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/delete-fed-catalog.png)

**Como excluir um catálogo federado (CLI)**
+ 

  ```
  aws glue delete-catalog 
   --catalog-id 123456789012:catalog name
  ```

# Consultar catálogos federados
<a name="query-redshift-fed-catalog"></a>

Depois de conceder permissões a outros diretores, eles podem fazer login e começar a consultar as tabelas nos catálogos federados fazendo login nas ferramentas SQL usando o Amazon Redshift, o Amazon EMR e o ETL. Amazon Athena AWS Glue 

 Para obter mais informações sobre como se conectar ao AWS Glue Data Catalog endpoint da extensão Apache Iceberg Rest ou ao aplicativo Spark independente, consulte [Acessando a AWS Glue Data Catalog seção no Guia do desenvolvedor](https://docs.aws.amazon.com/glue/latest/dg/access_catalog.html). AWS Glue 

É possível usar as consultas da linguagem de definição de dados (DDL) para criar e gerenciar tabelas no banco de dados usando o Apache Spark no Amazon EMR. Para criar e excluir tabelas no banco de dados do Amazon Redshift, a entidade principal deve ter permissões `Create table` e `Drop` do Lake Formation.

 Para acessar mais informações sobre como conceder permissões do Data Catalog, consulte [Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md). 

Para obter mais informações sobre como consultar os recursos do catálogo Amazon Athena, consulte [Consultando Amazon Athena no Guia AWS Glue Data Catalog do usuário do](https://docs.aws.amazon.com/athena/latest/ug/gdc-register.html) Amazon Athena. 

# Recursos adicionais do
<a name="additional-resources-byod"></a>

Você pode usar o [Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse.html) para obter acesso unificado aos dados em data warehouses e data lakes. Por meio do SageMaker Lakehouse, você pode usar mecanismos preferenciais de análise, aprendizado de máquina e inteligência de negócios por meio de uma API REST aberta do Apache Iceberg para ajudar a garantir o acesso seguro aos dados com controles de acesso consistentes e refinados.
+ [ SageMaker Workshop da Amazon](https://catalog.us-east-1.prod.workshops.aws/workshops/107188af-3663-4bbf-bb35-93d514d406da/en-US/03lakehouse)
+ [Simplifique o acesso aos dados para sua empresa usando o Amazon SageMaker Lakehouse](https://aws.amazon.com/blogs/big-data/simplify-data-access-for-your-enterprise-using-amazon-sagemaker-lakehouse/)

# Federando em fontes de dados externas no AWS Glue Data Catalog
<a name="federated-catalog-data-connection"></a>

 Você pode conectar o AWS Glue Data Catalog (Catálogo de dados) a armazéns de dados, como Amazon Redshift, Snowflake, bancos de dados em nuvem, como Amazon RDS, Oracle, e serviços de streaming Amazon DynamoDB, como Amazon MSK, e sistemas locais, como Teradata, usando conexões. AWS Glue Essas conexões são armazenadas AWS Glue Data Catalog e registradas no AWS Lake Formation, permitindo que você crie um catálogo federado para cada fonte de dados disponível. 

 *Catálogo federado* é um contêiner de nível superior que aponta para um banco de dados em um sistema de dados externo. Ele permite que você consulte os dados diretamente do sistema de dados externo sem o processo de extração, transformação e carregamento (ETL). 

Para obter mais informações sobre AWS Glue conexões, consulte [Conexão com dados](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) no Guia do AWS Glue desenvolvedor.

Os administradores do data lake podem criar catálogos federados usando o [Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse.html) Lakehouse ou. [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/connect-to-a-data-source.html)

Os administradores do Data Lake podem então conceder permissões refinadas aos objetos dentro do catálogo usando o Lake Formation, controlando o acesso em vários níveis, como catálogo, banco de dados, tabela, coluna, linha ou célula. Os analistas de dados podem descobrir e consultar as fontes de dados catalogadas usando o Athena, com o Lake Formation aplicando as políticas de acesso definidas. Os analistas podem unir dados de várias fontes em uma única consulta sem precisar se conectar a cada fonte individualmente. 

**Topics**
+ [Fluxo de trabalho](#connect-data-source-workflow)
+ [Requisitos para conectar o Data Catalog a fontes de dados externas](connect-data-source-prerequisites.md)
+ [Criando um catálogo federado usando uma conexão AWS Glue](create-fed-catalog-data-source.md)
+ [Visualizar objetos do catálogo](view-fed-glue-connection-catalog.md)
+ [Excluir um catálogo federado](delete-glue-fed-catalog.md)
+ [Consultar catálogos federados](query-glue-fed-catalog.md)
+ [Recursos adicionais do](additional-resources-fed-connection.md)

## Fluxo de trabalho
<a name="connect-data-source-workflow"></a>

Um administrador do data lake ou um usuário com as permissões necessárias conclui as etapas a seguir para conectá-lo AWS Glue Data Catalog a uma fonte de dados externa.

1.  Cria uma AWS Glue conexão com a fonte de dados. Quando você registra a conexão, o perfil do IAM usado no registro da conexão deve ter acesso à função do Lambda e à localização do bucket de vazamento do Amazon S3. 

1.  Registra a conexão com o Lake Formation. 

1.  Cria um catálogo federado no Catálogo de Dados usando uma AWS Glue conexão para se conectar às fontes de dados disponíveis. Os bancos de dados, tabelas e visualizações são automaticamente catalogados no Data Catalog e registrados no Lake Formation. 

1.  Concede acesso a catálogos, bancos de dados e tabelas específicos a analistas de dados usando as permissões do Lake Formation. Políticas de controle de acesso refinadas podem ser definidas em data lakes, warehouses e fontes OLTP usando o Lake Formation, habilitando filtros de segurança em nível de linha e coluna. 

    Os analistas de dados podem então acessar todos os dados por meio do Data Catalog usando consultas SQL no Athena, sem precisar de conexões ou credenciais de fonte de dados separadas. Os analistas podem executar consultas SQL federadas que verificam dados de várias fontes, unindo dados no local sem pipelines de dados complexos. 

# Requisitos para conectar o Data Catalog a fontes de dados externas
<a name="connect-data-source-prerequisites"></a>

Para AWS Glue Data Catalog conectar-se a fontes de dados externas, registrar a conexão com o Lake Formation e configurar catálogos federados, você precisa preencher os seguintes requisitos:
**nota**  
Recomendamos que um administrador de data lake do Lake Formation crie as AWS Glue conexões para se conectar a fontes de dados externas e criar os catálogos federados. 

1. 

**Crie perfis do IAM.**
   +  Crie uma função que tenha as permissões necessárias para implantar os recursos (função Lambda, repositório de vazamento do Amazon S3, função do IAM e AWS Glue a conexão) necessários para criar uma conexão com a fonte de dados externa. 
   + Crie uma função que tenha as permissões mínimas necessárias para acessar as propriedades da AWS Glue conexão (a função Lambda e o bucket de vazamento do Amazon S3). Esse é o perfil que você incluirá ao registrar a conexão no Lake Formation.

     Para usar o Lake Formation para gerenciar e proteger os dados em seu data lake, você deve registrar a AWS Glue conexão com o Lake Formation. Com isso, o Lake Formation pode fornecer credenciais ao Amazon Athena para consultar as fontes de dados federadas. 

     O perfil deve ter as permissões `Select` ou `Describe` no bucket do Amazon S3 e na função do Lambda.
     +  s3: ListBucket 
     + s3: GetObject
     +  lambda: InvokeFunction 

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

****  

     ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Action": [
             "s3:*"
           ],
           "Resource": [
             "arn:aws:s3:::amzn-s3-demo-bucket1/object/*",
             "arn:aws:s3:::amzn-s3-demo-bucket1/object"
           ]
         },
         {
           "Sid": "lambdainvoke",
           "Effect": "Allow",
           "Action": "lambda:InvokeFunction",
           "Resource": "arn:aws:lambda:us-east-1:123456789012:function:example-lambda-function"
         },
         {
           "Sid": "gluepolicy",
           "Effect": "Allow",
           "Action": "glue:*",
           "Resource": "*"
         }
       ]
     }
     ```

------
   + Adicione a política de confiança a seguir ao perfil do IAM que é usado para registrar a conexão:

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Principal": {
                     "Service": [
                         "lakeformation.amazonaws.com"
                   ]
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```

------
   + O administrador do data lake que registra a conexão deve ter a permissão `iam:PassRole` no perfil.

     A seguir está uma política embutida que concede essa permissão. *<account-id>*Substitua por um número de AWS conta válido e *<role-name>* substitua pelo nome da função.

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "PassRolePermissions",
                 "Effect": "Allow",
                 "Action": [
                     "iam:PassRole"
                 ],
                 "Resource": [
                     "arn:aws:iam::111122223333:role/example-role-name>"
                 ]
             }
         ]
     }
     ```

------
   +  Para criar catálogos federados no Data Catalog, verifique se o perfil do IAM que você está usando é administrador de data lake do Lake Formation, conferindo as configurações do data lake (`aws lakeformation get-data-lake-settings`).

      Se você não for administrador de data lake, precisará da permissão `CREATE_CATALOG` do Lake Formation para criar um catálogo. O exemplo a seguir mostra como conceder as permissões necessárias para criar catálogos. 

     ```
     aws lakeformation grant-permissions \
     --cli-input-json \
             '{
                 "Principal": {
                  "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/non-admin"
                 },
                 "Resource": {
                     "Catalog": {
                     }
                 },
                 "Permissions": [
                     "CREATE_CATALOG",
                     "DESCRIBE"
                 ]
             }'
     ```

1. Adicione a seguinte política de chaves à AWS KMS chave se você estiver usando uma chave gerenciada pelo cliente para criptografar os dados na fonte de dados. Substitua o número da conta por um número de AWS conta válido e especifique o nome da função. Por padrão, os dados são criptografados usando uma chave do KMS. O Lake Formation oferece uma opção para criar sua chave do KMS personalizada para criptografia. Se você estiver usando uma chave gerenciada pelo cliente, deverá adicionar políticas de chave específicas à chave. 

   Para obter mais informações sobre como gerenciar as permissões de uma chave gerenciada pelo cliente, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-1"
           }
       ]
   }
   ```

------

# Criando um catálogo federado usando uma conexão AWS Glue
<a name="create-fed-catalog-data-source"></a>

 Para conectar-se AWS Glue Data Catalog às fontes de dados externas, você precisa usar AWS Glue conexões que permitam a comunicação com as fontes de dados externas. Você pode criar AWS Glue conexões usando o AWS Glue console, a API [Create Connection](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateConnection.html) e o console do Amazon SageMaker Lakehouse. 

Para obter instruções passo a passo para criar uma AWS Glue conexão, consulte [Conectando-se aos dados](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) no Guia do AWS Glue desenvolvedor ou [Criação de conexões no Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html). 

Quando um usuário executa uma consulta em tabelas federadas, o Lake Formation vende credenciais que invocam uma AWS Lambda função especificada na AWS Glue conexão para recuperar objetos de metadados da fonte de dados. 

------
#### [ Console de gerenciamento da AWS ]

**Como criar um catálogo federado por meio de uma fonte de dados externa e configurar permissões (console)**

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação, escolha **Catálogos**, em **Data Catalog**.

1. Selecione a opção **Criar catálogo**. 

1. Na página de detalhes **Definir catálogo**, insira as seguintes informações:   
![\[A página de criação do catálogo com opções.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/create-glue-connection-catalog.png)
   + **Nome**: um nome exclusivo para seu catálogo federado. O nome não pode ser alterado e deve estar em letras minúsculas. O nome pode ter no máximo 255 caracteres. 
   + **Tipo**: escolha o catálogo federado como o tipo de catálogo.
   + **Fonte**: escolha uma fonte de dados no menu suspenso. As fontes de dados para as quais você criou conexões são exibidas. Para obter mais informações sobre como criar uma AWS Glue conexão com uma fonte de dados externa, consulte [Criação de conexões para conectores](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) no Guia do AWS Glue desenvolvedor ou [Criação de conexões no Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html).
   + **Conexão** — Escolha uma AWS Glue conexão existente com a fonte de dados.
   + **Descrição**: insira uma descrição para o catálogo criado por meio da fonte de dados.

1. Escolha um **perfil do IAM** a ser assumido pelo Lake Formation para fornecer credenciais para que o mecanismo de consulta acesse os dados da fonte de dados. Essa função deve ter as permissões necessárias para acessar a AWS Glue conexão e invocar a função Lambda para acessar dados da fonte de dados externa.

   Também é possível **criar um perfil** no console do IAM.

   Consulte a seção [Requisitos para conectar o Data Catalog a fontes de dados externas](connect-data-source-prerequisites.md) para conhecer as permissões necessárias.

1.  Selecione a opção **Ativar o conector para se conectar à fonte de dados** para permitir que o Athena execute consultas federadas.

   Para ver a lista de conectores aceitos, consulte [Registrar sua conexão](https://docs.aws.amazon.com/athena/latest/ug/register-connection-as-gdc.html) no Guia do usuário do Amazon Athena. 

1. **Opções de criptografia**: escolha a opção **Personalizar configurações de criptografia** se quiser usar uma chave personalizada para criptografar o catálogo. Para usar uma chave personalizada, você deve adicionar outra política de chave gerenciada personalizada à sua chave do KMS. 

1. Escolha **Próximo** para conceder permissões a outras entidades principais. 

1. Na página **Conceder permissões**, escolha **Adicionar permissões**.

1.  Na tela **Adicionar permissões**, escolha as entidades principais e os tipos de permissões a serem concedidas.   
![\[A página de permissões do catálogo com o tipo de entidade principal e as opções de concessão.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/catalog-permissions.png)
   +  Na seção **Entidades principais**, escolha um tipo de entidade principal e, em seguida, especifique as entidades principais para conceder permissões. 
     + **Usuários e perfis do IAM**: escolha um ou mais usuários ou perfis na lista de usuários e perfis do IAM.
     + **Usuários e grupos do SAML** — Para SAML e Amazon Quick usuários e grupos, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou para usuários ou grupos do ARNs Amazon Quick. Pressione **Enter** após cada ARN. 
   +  Na seção **Permissões**, selecione permissões e permissões concedidas.

     Em **Permissões do catálogo**, selecione uma ou mais permissões a serem concedidas.

     Escolha **Superusuário** para conceder permissões administrativas irrestritas em todos os recursos do catálogo.

      Em **Permissões concedidas, selecione as permissões** que o beneficiário do subsídio pode conceder a outros diretores em sua conta. AWS Essa opção não é compatível quando você está concedendo permissões a uma entidade principal do IAM a partir de uma conta externa. 

1. Escolha **Próximo** para revisar as informações e criar o catálogo. A lista **Catálogos** mostra o novo catálogo federado.

   A lista **Locais de dados** mostra a conexão federada recém-registrada.  
![\[A lista Locais de dados com as conexões federadas.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/federated_data_lake_location.png)

------
#### [ AWS CLI ]

**Como criar um catálogo federado por meio de uma fonte de dados externa e configurar permissões**

1.  O exemplo a seguir mostra como criar uma AWS Glue conexão. 

   ```
   aws glue create-connection 
     --connection-input \
         '{
            "Name": "DynamoDB connection",
            "ConnectionType": "DYNAMODB",
            "Description": "A connection created for DynamoDB",
            "ConnectionProperties": {},
            "AthenaProperties": "spill_prefix": "your_spill_prefix",
            "lambda_function_arn": "Lambda_function_arn",
            "spill_bucket": "Your_Bucket_name",
            "AuthenticationConfiguration": {}
         }'
   ```

1.  O exemplo a seguir mostra como registrar uma AWS Glue conexão com o Lake Formation. 

   ```
   aws lakeformation register-resource 
     --cli-input-json \
       {"ResourceArn":"arn:aws:glue:us-east-1:123456789012:connection/dynamo","RoleArn":"arn:aws:iam::123456789012:role/AdminTelemetry","WithFederation":true}
   ```

1.  O exemplo a seguir mostra como criar um catálogo federado. 

   ```
   aws glue create-catalog 
    --cli-input-json \
         '{
          "Name":"ddbcatalog",
          "CatalogInput":{"CatalogProperties":{"DataLakeAccessProperties":{"DataTransferRole":"arn:aws:iam::123456789012:role/role name"}},
          "CreateDatabaseDefaultPermissions":[],
          "CreateTableDefaultPermissions":[],
          "FederatedCatalog":{"ConnectionName":"dynamo","Identifier":"dynamo"}
            }
          }'
   ```

------

# Visualizar objetos do catálogo
<a name="view-fed-glue-connection-catalog"></a>

Para cada fonte de dados disponível, AWS Glue cria um catálogo correspondente no AWS Glue Data Catalog. Depois de criar um catálogo, você pode visualizar os objetos e tabelas nele usando o console do Lake Formation ou a AWS CLI. Para   

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Escolha **Catálogos** no Data Catalog. A página de catálogos mostra os catálogos nos quais você tem permissões.  
![\[Visualize os catálogos:\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/view-catalogs.png)

1. Escolha um catálogo na lista para visualizar os bancos de dados e tabelas contidos nele. A lista contém os bancos de dados em sua conta e os links de recursos, que são links para os bancos de dados e tabelas compartilhados em contas externas e são usados para acesso entre contas aos dados no data lake.  
![\[Visualize catálogos/bancos de dados.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/catalog-database-view.png)

1. Escolha a opção **Tabelas** em **Visualizar** para visualizar e gerenciar as tabelas no banco de dados. 

****AWS CLI exemplos para visualizar catálogos e bancos de dados****  
O exemplo a seguir mostra como visualizar um catálogo usando AWS CLI 

```
aws glue get-catalog \
--catalog-id 123456789012:dynamodbcatalog
```

O exemplo a seguir mostra como solicitar todos os catálogos na conta.

```
aws glue get-catalogs \
 --recursive
```

O exemplo de solicitação a seguir mostra como acessar os bancos de dados no catálogo.

```
aws glue get-database \
--catalog-id 123456789012:dynamodbcatalog
--database-name database name
```

# Excluir um catálogo federado
<a name="delete-glue-fed-catalog"></a>

 Você pode excluir os catálogos federados que você criou AWS Glue Data Catalog usando a `glue:DeleteCatalog` operação ou o AWS Lake Formation console. 

**Como excluir um catálogo federado (console)**

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação, escolha **Catálogos**, em **Data Catalog**.

1. Escolha o catálogo que deseja excluir da lista.

1. Escolha **Excluir** em **Ações**. 

1. Escolha **Eliminar** para confirmar e o catálogo federado será excluído do Data Catalog.  
![\[A confirmação de exclusão do catálogo.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/delete-fed-catalog.png)

**Como excluir um catálogo federado (CLI)**
+ 

  ```
  aws glue delete-catalog 
    --catalog-id 123456789012:catalog name
  ```

# Consultar catálogos federados
<a name="query-glue-fed-catalog"></a>

Depois de conceder permissões a outras entidades principais, elas podem fazer login e começar a consultar as tabelas nos catálogos federados usando o Athena.

Para criar e excluir tabelas no banco de dados federado, a entidade principal deve ter as permissões `Create table` e `Drop` do Lake Formation.

 Para acessar mais informações sobre como conceder permissões do Data Catalog, consulte [Conceder permissões nos recursos do Catálogo de Dados](granting-catalog-permissions.md). 

Para obter mais informações sobre como consultar o catálogo de dados Amazon Athena, consulte [Consultando Amazon Athena no Guia AWS Glue Data Catalog do usuário do](https://docs.aws.amazon.com/athena/latest/ug/gdc-register.html) Amazon Athena. 

# Recursos adicionais do
<a name="additional-resources-fed-connection"></a>

 Nesta postagem do blog, mostramos como os analistas de dados agora podem acessar e consultar com segurança dados armazenados fora dos data lakes do S3, incluindo bancos de dados e Amazon DynamoDB bancos de dados do Amazon Redshift, por meio de uma experiência única e unificada. Agora, os administradores podem aplicar controles de acesso em diferentes níveis de granularidade para garantir que dados sensíveis permaneçam protegidos enquanto expandem o acesso aos dados. Isso permite que as organizações acelerem as iniciativas de dados enquanto mantêm a segurança e a conformidade, proporcionando uma tomada de decisão mais rápida e baseada em dados. 
+ [Catalogue e controle as consultas federadas do Amazon Athena com o Amazon Lakehouse SageMaker ](https://aws.amazon.com/blogs/big-data/catalog-and-govern-amazon-athena-federated-queries-with-amazon-sagemaker-lakehouse/)

# Integração de tabelas do Amazon S3 com e AWS Glue Data Catalog AWS Lake Formation
<a name="create-s3-tables-catalog"></a>

A funcionalidade [Tabelas do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html) fornece armazenamento do S3 especificamente otimizado para workloads de analytics, melhorando a performance das consultas e reduzindo os custos. Os dados na funcionalidade Tabelas do S3 são armazenados em um novo tipo de bucket: um *bucket de tabela*, que armazena tabelas como sub-recursos. As tabelas do S3 têm suporte integrado para o padrão Apache Iceberg, que permite que você consulte facilmente dados em tabelas em buckets de tabelas do Amazon S3 usando mecanismos de consulta conhecidos, como o Apache Spark.

Você pode integrar as tabelas do Amazon S3 AWS Glue Data Catalog usando controles de acesso do IAM ou com subsídios do IAM e do Lake Formation:
+ **Controle de acesso do IAM**: usa políticas do IAM para controlar o acesso às tabelas e ao catálogo de dados do S3. Nessa abordagem de controle de acesso, você precisa de permissões do IAM nos recursos das tabelas do S3 e nos objetos do catálogo de dados para acessar os recursos.
+ **Controle de acesso do Lake Formation**: usa AWS Lake Formation concessões, além das permissões AWS Glue do IAM, para controlar o acesso às tabelas do S3 por meio do catálogo de dados. Nesse modo, os diretores exigem permissões do IAM para interagir com o catálogo de dados, e as concessões do Lake Formation determinam quais recursos do catálogo (bancos de dados, tabelas, colunas, linhas) o diretor pode acessar. Esse modo oferece suporte a controle de acesso de baixa granularidade (concessões em nível de banco de dados e em nível de tabela) e controle de acesso refinado (segurança em nível de coluna e nível de linha). Quando uma função registrada é configurada e a venda de credenciais está ativada, as permissões IAM do S3 Tables não são necessárias para o diretor, pois o Lake Formation vende credenciais em nome do diretor usando a função registrada. O controle de acesso do Lake Formation também oferece suporte à venda de credenciais para mecanismos de análise de terceiros.

Esta seção fornece orientação para configurar a integração com AWS Lake Formation os seguintes cenários:
+ **Cenário A**: você integrou tabelas e catálogo de dados do S3 usando controles de acesso do IAM e agora planeja usar AWS Lake Formation. Para saber mais, consulte [Alterando os controles de acesso para integração com tabelas do S3](manage-s3tables-catalog-integration.md).
+ **Cenário B**: Você planeja integrar as tabelas e o catálogo de dados do S3 usando AWS Lake Formation e não os tem integrados em sua conta e região atualmente. Comece com a [Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation](s3tables-catalog-prerequisites.md) seção e siga[Habilitar a integração de Tabelas do Amazon S3](enable-s3-tables-catalog-integration.md).
+ **Cenário C**: você integrou tabelas e catálogo de dados do S3 usando AWS Lake Formation e agora planeja usar o IAM. Para saber mais, consulte [Alterando os controles de acesso para integração com tabelas do S3](manage-s3tables-catalog-integration.md).

Certifique-se de seguir as etapas em [Integração de tabelas do S3 com serviços de AWS análise](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) para ter as permissões apropriadas para acessar os recursos AWS Glue Data Catalog e seus recursos de tabela e trabalhar com serviços de AWS análise.

**Topics**
+ [Como funciona a integração do Data Catalog e do Lake Formation](#w2aac13c27c19)
+ [Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation](s3tables-catalog-prerequisites.md)
+ [Habilitar a integração de Tabelas do Amazon S3](enable-s3-tables-catalog-integration.md)
+ [Criar bancos de dados e tabelas no catálogo de Tabelas do S3](create-databases-tables-s3-catalog.md)
+ [Registrando um bucket de tabela do Amazon S3 em outra conta AWS](register-cross-account-s3-table-bucket.md)
+ [Conceder permissões](s3-tables-grant-permissions.md)

## Como funciona a integração do Data Catalog e do Lake Formation
<a name="w2aac13c27c19"></a>

Quando você integra o catálogo de tabelas do S3 ao Data Catalog e ao Lake Formation, o serviço AWS Glue cria um único catálogo federado chamado `s3tablescatalog` no Data Catalog padrão de sua conta específico da sua Região da AWS. A integração mapeia todos os recursos do bucket de tabelas do Amazon S3 em sua conta e Região da AWS no catálogo federado da seguinte maneira:
+ Os buckets de tabela do Amazon S3 se tornam um catálogo de vários níveis no Data Catalog.
+ O namespace do Amazon S3 associado é registrado como um banco de dados no Data Catalog.
+ As tabelas do Amazon S3 no bucket de tabela se tornam tabelas no Data Catalog.

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


 Após a integração com o Lake Formation, você pode criar tabelas Apache Iceberg no catálogo de tabelas e acessá-las por meio de mecanismos de AWS análise integrados, como o Amazon Athena Amazon EMR, bem como mecanismos de análise de terceiros. 

Quando você também ativa o Lake Formation com integração, ele permite um controle de acesso refinado. AWS Lake Formation Essa abordagem de segurança significa que, além das permissões AWS Identity and Access Management (IAM), você deve conceder ao diretor do IAM as permissões do Lake Formation em suas tabelas antes de poder trabalhar com elas.

Há dois tipos principais de permissões no AWS Lake Formation:
+ As permissões de acesso a metadados controlam a capacidade de criar, ler, atualizar e excluir tabelas e bancos de dados de metadados no Catálogo de Dados.
+ As permissões de acesso aos dados subjacentes controlam a capacidade de ler e gravar dados nos locais do Amazon S3 subjacentes para os quais os recursos do Catálogo de Dados apontam.

O Lake Formation usa conjuntamente um modelo de permissões próprio e o modelo de permissões do IAM para controlar o acesso aos recursos do Catálogo de Dados e aos dados subjacentes:
+ Para que uma solicitação de acesso aos recursos do Catálogo de Dados ou os dados subjacentes seja bem-sucedida, ela deve passar pelas verificações de permissão do IAM e do Lake Formation.
+ As permissões do IAM controlam o acesso ao Lake Formation AWS Glue APIs e aos recursos, enquanto as permissões do Lake Formation controlam o acesso aos recursos do Catálogo de Dados, às localizações do Amazon S3 e aos dados subjacentes.

As permissões do Lake Formation se aplicam somente na região em que foram concedidas, e uma entidade principal deve ser autorizada por um administrador do data lake ou por outra entidade principal com as permissões necessárias para receber as permissões do Lake Formation.

# Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation
<a name="s3tables-catalog-prerequisites"></a>

A seguir estão os pré-requisitos para habilitar a integração de tabelas do Amazon S3 com e. AWS Glue Data Catalog AWS Lake Formation

1.  Quando você habilita a integração das tabelas do Amazon S3, o Lake Formation registra automaticamente o local das tabelas do S3. Para registrar a localização do bucket de tabelas no Lake Formation, você precisa de um IAM role/user com `lakeformation:RegisterResource``lakeformation:RegisterResourceWithPrivilegedAccess`,, e `lakeformation:CreateCatalog` permissões. Quando um usuário não administrador com essas permissões registra um local de catálogo, o Lake Formation concede automaticamente a ele a permissão `DATA_LOCATION_ACCESS` para esse local, possibilitando que a entidade principal da chamada tenha permissões para realizar todas as operações aceitas do Lake Formation no local de dados registrado.

1. <a name="step3-permissions"></a> Ao habilitar a integração de tabelas do S3, você precisa escolher um perfil do IAM para que o Lake Formation forneça credenciais a fim de permitir o acesso aos dados. Criar um perfil do IAM para acesso aos dados do Lake Formation aos buckets de tabelas do S3. O perfil do IAM usado para registrar o bucket de tabelas no Lake Formation requer as seguintes permissões: 

------
#### [ 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 obter mais informações, consulte [Requisitos para funções usadas para registrar locais](registration-role.md).

1.  Adicione a política de confiança a seguir ao perfil do IAM para permitir que o serviço Lake Formation assuma o perfil e forneça credenciais temporárias aos mecanismos de analytics 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**  
O processo de integração dos serviços de AWS análise foi atualizado. Se você configurou a integração com a versão prévia, pode continuar usando sua integração atual. No entanto, o processo de integração atualizado oferece melhorias de desempenho. Para atualizar a integração:  
Primeiro, exclua seu catálogo de tabelas do S3 existente no Lake Formation. Para excluir o catálogo, selecione o catálogo `s3tablescatalog` na lista de catálogos e escolha **Excluir** de **Ações**.
Depois, cancele o registro do local dos dados para o `s3tablescatalog`.  
No console do Lake Formation, na seção **Administrações**, escolha **Locais de dados**.
Selecione um local e, no menu **Ações**, escolha **Remover**.
Quando solicitada a confirmação, escolha **Remover**.  
Para obter instruções detalhadas sobre como cancelar o registro de um local de dados, consulte a seção. [Cancelar o registro de uma localização do Amazon S3](unregister-location.md)
Em seguida, siga as etapas de integração atualizadas na [Habilitar a integração de Tabelas do Amazon S3](enable-s3-tables-catalog-integration.md) seção.

# Habilitar a integração de Tabelas do Amazon S3
<a name="enable-s3-tables-catalog-integration"></a>

Você pode criar buckets de tabelas do Amazon S3 usando o console do Amazon S3 e integrá-los aos serviços de analytics da AWS . Para acessar mais informações, consulte [Usar Tabelas do Amazon S3 com serviços de analytics da AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html). 

 Em AWS Lake Formation, você pode habilitar a integração de tabelas do Amazon S3 com AWS Glue Data Catalog e AWS Lake Formation usando o console ou o uso do Lake Formation. AWS CLI

## Como integrar as Tabelas do Amazon S3 ao Data Catalog e ao Lake Formation (console)
<a name="w2aac13c27c23b7b1"></a>

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação, escolha **Catálogos**, em **Data Catalog**.

1. Escolha **Habilitar integração de Tabelas do S3** na página **Catálogos**.   
![\[A opção de habilitar a integração de Tabelas do S3 na página de catálogos.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/enable-s3-table-integration.png)

1.  Escolha um perfil do IAM com as permissões necessárias para que o Lake Formation assuma o fornecimento de credenciais aos mecanismos de consulta analítica. Para ter as permissões necessárias para que o perfil acesse dados, consulte [step3-permissions](s3tables-catalog-prerequisites.md#step3-permissions) na seção de pré-requisitos.   
![\[A tela de ativação da integração do S3 a perfil do IAM.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/enable-s3-table-catalog.png)

1.  Selecione a opção **Permitir que mecanismos externos acessem dados em locais do Amazon S3 com acesso total à tabela**. Quando você habilita o acesso total à tabela para mecanismos de terceiros, o Lake Formation exibe as credenciais diretamente para o mecanismo de terceiros, sem realizar a validação da tag de sessão do IAM. Isso significa que você não pode aplicar controles de acesso refinados do Lake Formation às tabelas que estão sendo acessadas. 

1. Escolha **Habilitar**. O novo catálogo para Tabelas do S3 é adicionado à lista de catálogos. Quando você habilita a integração do catálogo de Tabelas do S3, o serviço registra o local dos dados do bucket de Tabelas do S3 no Lake Formation.

1. Escolha o catálogo para visualizar os objetos e conceder permissões a outras entidades principais.   
![\[O catálogo de Tabelas do S3\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/s3-table-catalog.png)

   Para criar catálogos de vários níveis, consulte a seção [Criar um bucket de tabelas](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) no Guia do usuário do Amazon Simple Storage Service.

## Como integrar as Tabelas do Amazon S3 ao Data Catalog e ao Lake Formation (CLI)
<a name="w2aac13c27c23b7b3"></a>

Seguindo a seção de pré-requisitos, crie uma função de serviço do IAM que permita que o Lake Formation acesse seus recursos de tabela.

1. Crie um arquivo chamado `Role-Trust-Policy.json` que contenha a seguinte política de confiança:

   ```
   {
       "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. Crie um perfil de serviço do IAM usando o seguinte comando:

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

1. Crie um arquivo chamado `LF-GluePolicy.json` que contenha a seguinte 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. Anexe a política ao perfil usando o seguinte comando:

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

1. Crie um arquivo chamado `input.json` que contenha o seguinte:

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

1. Registre os buckets de tabela no Lake Formation usando o seguinte comando:

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

1. Crie um arquivo chamado `catalog.json` que contenha o seguinte catálogo:

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

1. Crie o catálogo `s3tablescatalog` usando o comando a seguir. A criação desse catálogo preenche o AWS Glue Data Catalog com objetos correspondentes a compartimentos de tabela, namespaces e tabelas.

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

1. Verifique se o `s3tablescatalog` catálogo foi adicionado AWS Glue usando o seguinte comando:

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

# Criar bancos de dados e tabelas no catálogo de Tabelas do S3
<a name="create-databases-tables-s3-catalog"></a>

 Você pode criar bancos de dados para organizar suas tabelas do Apache Iceberg e tabelas para definir o esquema e o local dos seus dados no catálogo de Tabelas do S3. 

## Criar um banco de dados (Console)
<a name="w2aac13c27c25b5b1"></a>

1.  Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e faça login como administrador do data lake ou criador de banco de dados. 

1. No painel de navegação, selecione **Bancos de dados**, em **Catálogo de dados**.

1. Selecione **Criar banco de dados**.

1.  Na página **Criar banco de dados**, escolha a opção **Banco de dados** e insira os seguintes detalhes: 
   + **Nome**: um nome exclusivo para o banco de dados.
   + **Catálogo de dados**: escolha o catálogo de Tabelas do S3. O banco de dados residirá nesse catálogo.
   + **Descrição**: (opcional) adicione uma descrição e um local. 
   + **Controle de acesso do IAM para novas tabelas**: opcionalmente, selecione Usar somente controle de acesso do IAM para novas tabelas nesse banco de dados. Para acessar informações sobre essa opção, consulte a seção [Alterar as configurações padrão do seu data lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). 
   + Escolha **Criar banco de dados**. Você pode ver o banco de dados criado no catálogo de Tabelas do S3.

## Crie um banco de dados usando AWS CLI
<a name="w2aac13c27c25b5b3"></a>

O comando da CLI a seguir mostra como criar um banco de dados no catálogo de Tabelas do S3.

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

## Criar uma tabela (Console de gerenciamento da AWS)
<a name="w2aac13c27c25b5b5"></a>

 Você pode criar tabelas de metadados do Apache Iceberg no catálogo de tabelas do S3 usando o console do Lake Formation ou a API. AWS Glue `CreateTable` 

1. Abra o console do Lake Formation em e faça login como administrador do data lake ou usuário com `CreateTable` permissão. [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)

1. No painel de navegação, escolha **Tabelas** no Data Catalog.

1. Escolha Criar tabela.

1. Na página **Criar tabela**, insiraos detalhes da tabela:  
![\[O catálogo de Tabelas do S3\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/s3-catalog-create-table.png)
   + **Nome**: insira um nome exclusivo para a tabela.
   + **Catálogo**: escolha o catálogo de Tabelas do S3 como catálogo.
   + **Banco de dados**: escolha o banco de dados no catálogo de Tabelas do S3.
   +  **Descrição**: insira uma descrição para a tabela. 
   + **Esquema**: escolha Adicionar colunas para adicionar colunas e tipos de dados das colunas. Você tem a opção de criar uma tabela vazia e atualizar o esquema posteriormente. O Iceberg permite que você evolua o esquema e a partição depois de criar a tabela. Você pode usar as consultas do Athena para atualizar o esquema da tabela e as consultas do Spark para atualizar as partições. 

1. Selecione **Enviar**.

## Criar uma tabela (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"}} ] } }'
```

# Registrando um bucket de tabela do Amazon S3 em outra conta AWS
<a name="register-cross-account-s3-table-bucket"></a>

Você pode registrar buckets de mesa individuais do Amazon S3 (formato ARN:`arn:aws:s3tables:us-east-1:account-id:bucket/bucket-name`) de uma conta com AWS Lake Formation em outra conta. Por exemplo, você pode registrar um bucket de tabelas da conta A no Lake Formation da conta B.

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

Antes de iniciar o registro do bucket entre contas:
+ Crie um bucket de tabela na conta A.
+ Crie um perfil do IAM na conta B com as permissões apropriadas para o registro do bucket.

  Para acessar mais informações sobre as permissões necessárias para registrar um bucket de tabelas no Lake Formation, consulte[Pré-requisitos para integrar o catálogo de tabelas do Amazon S3 ao Data Catalog e o Lake Formation](s3tables-catalog-prerequisites.md).
+ Registre o bucket de tabelas na conta em que você criará o catálogo de Tabelas do S3.
+  Para acesso entre contas, o perfil especificado ao registrar o bucket de tabelas deve ser um perfil na conta com as permissões apropriadas para acessar o bucket entre contas. O perfil precisa das ações do IAM das Tabelas do S3 necessárias para acessar os recursos do bucket.

## Registro do bucket de tabelas entre contas
<a name="w2aac13c27c27b7"></a>

Nos procedimentos a seguir, a conta A é a conta proprietária do recurso e a conta B é onde o bucket de tabelas será registrado para gerenciar as permissões de acesso.

1. Faça login Console de gerenciamento da AWS na conta A.

   Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1.  Crie um bucket de tabela. Para acessar mais informações, consulte [Criar um bucket de tabela](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) no Guia do usuário do Amazon S3. 

1. Registre o bucket de tabelas na conta B.

   Use o AWS CLI para registrar o balde de mesa da conta A com Lake Formation na conta 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
   ```

   Substitua account-A-id single-bucket-name, account-B-id,, e nome da função por seus valores específicos.

1. Depois, crie um catálogo para o bucket de tabelas na conta B.

   Crie um catálogo usando a 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": []      
      }
   }'
   ```

   Substitua catalog-name e bucket-name por seus valores específicos. account-A-id

    O exemplo de CLI a seguir mostra como visualizar os detalhes do catálogo. 

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

1. Depois, crie bancos de dados e tabelas no catálogo recém-criado na conta B.

   Crie um banco de dados.

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

   Crie uma tabela.

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

   Substitua nome do banco de dados account-B-id, nome do catálogo e nome da tabela por seus valores específicos.

1. Os exemplos a seguir mostram como visualizar os objetos no catálogo.

   Visualize detalhes do banco de dados.

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

   Visualize os detalhes da tabela.

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

   Substitua nome do banco de dados account-B-id, nome do catálogo e nome da tabela por seus valores específicos.

# Conceder permissões
<a name="s3-tables-grant-permissions"></a>

 Depois de integrar suas tabelas do S3 AWS Lake Formation, você pode conceder permissões no catálogo de tabelas do S3 e nos objetos do catálogo (compartimentos de tabelas, bancos de dados, tabelas) para outras funções e usuários do IAM em sua conta. As permissões do Lake Formation permitem definir controles de acesso em granularidade em nível de tabela, coluna e linha para usuários de mecanismos analíticos integrados, como o Amazon Redshift Spectrum e o Athena. 

 Você pode conceder permissões usando o método de recurso nomeado ou o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC). Antes de conceder permissões usando tags LF e expressões de tag LF, você deve defini-las e atribuí-las aos objetos do Data Catalog. 

Para obter mais informações, consulte [Gerenciar tags do LF para controle de acesso a metadados](managing-tags.md).

Você pode compartilhar bancos de dados e tabelas com AWS contas externas concedendo permissões do Lake Formation às contas externas. Os usuários podem então executar consultas e trabalhos que unem e consultam tabelas em várias contas. Quando você compartilha um recurso do catálogo com outra conta, as entidades principais dessa conta podem operar nesse recurso como se ele estivesse no respectivo Data Catalog. 

Quando você compartilha bancos de dados e tabelas com contas externas, a permissão de **superusuário** não está disponível. 

 Para receber instruções detalhadas sobre como conceder permissões, consulte a seção [Gerenciando permissões do Lake Formation](managing-permissions.md). 

## AWS CLI exemplo de concessão de permissões em uma tabela do 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"
    ]
}'
```

 Os seguintes parâmetros devem ser inseridos no comando: 
+ DataLakePrincipalIdentifier — ARN de usuário, função ou grupo do IAM para conceder permissões
+ CatalogId — ID da AWS conta de 12 dígitos que possui o Catálogo de Dados
+ DatabaseName — Nome do namespace do bucket de tabelas do Amazon S3
+ Nome: nome da tabela do bucket de Tabelas do Amazon S3.
+ Permissões: permissões a serem concedidas. As opções são: SELECT, INSERT, DELETE, DESCRIBE, ALTER, DROP, ALLL e SUPER.

# Acessar Tabelas do Amazon S3 compartilhadas
<a name="s3-tables-cross-account-sharing"></a>

 Depois de conceder permissões entre contas em um banco de dados ou tabela no catálogo de Tabelas do S3, para acessar os recursos, você precisa criar links de recursos para os bancos de dados e tabelas compartilhados. 

1.  Na conta de destino (a conta que recebe os recursos compartilhados), crie um link de recurso de banco de dados. Para obter instruções detalhadas, consulte [Como criar um link de recurso para um banco de dados compartilhado do catálogo de dados](create-resource-link-database.md). 

   Exemplo de CLI para criar um link de recurso de banco de dados

   ```
   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 permissão entre contas na tabela. 

   Exemplo de CLI para concessão de permissão entre contas

   ```
   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 a permissão `DESCRIBE` do Lake Formation no link de recurso. 

    Exemplo de CLI para conceder permissão describe no link de recurso. 

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

# Alterando os controles de acesso para integração com tabelas do S3
<a name="manage-s3tables-catalog-integration"></a>

Depois de integrar as tabelas do Amazon S3 com o AWS Glue Data Catalog, você pode alterar a forma como o acesso aos recursos do seu catálogo é controlado. Esta seção mostra como alterar o controle de acesso dependendo do modelo de controle de acesso atual e desejado. A ativação do Lake Formation permite que você use permissões refinadas, como segurança em nível de coluna e linha, por meio de subsídios do Lake Formation, e permite que o Lake Formation forneça credenciais temporárias em nome dos diretores por meio de uma função registrada. Alterar o controle de acesso de AWS Lake Formation para IAM retorna o controle de acesso às políticas padrão do IAM, o que pode ser apropriado se suas cargas de trabalho não exigirem acesso refinado e você preferir gerenciar as permissões inteiramente por meio do IAM. Ambos os caminhos de migração envolvem a atualização dos padrões do Catálogo de Dados, o ajuste dos registros de recursos com o Lake Formation e a coordenação de concessões de permissões para evitar interrupções no acesso durante a transição.

**Topics**
+ [Habilite a integração do Lake Formation com o S3 Tables com o Data Catalog](change-access-iam-to-lf.md)
+ [Alterar o controle de acesso de AWS Lake Formation para IAM](change-access-lf-to-iam.md)

# Habilite a integração do Lake Formation com o S3 Tables com o Data Catalog
<a name="change-access-iam-to-lf"></a>

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

**Importante**  
A ativação do controle de AWS Lake Formation acesso revogará todo o acesso existente baseado em IAM aos seus recursos do S3 Tables. Depois de concluir a Etapa 1, os usuários e funções que acessaram dados anteriormente por meio de permissões do IAM perderão o acesso imediatamente. Você deve conceder permissões ao Lake Formation na Etapa 2 antes que os usuários possam consultar os dados novamente. Planeje essa migração durante uma janela de manutenção e coordene com sua equipe de dados.

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

Para read/write acessar as tabelas do S3, além das permissões do Lake Formation, os diretores também precisam da permissão do `lakeformation:GetDataAccess` IAM. Com essa permissão, o Lake Formation concede a solicitação de credenciais temporárias para acessar os dados.

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

1. **Etapa 1: registrar o bucket no Lake Formation usando a função IAM**

   Registre o recurso S3 Tables no Lake Formation.
**nota**  
Se você já tem uma função, certifique-se de que o acesso híbrido seja falso.

   ```
   aws lakeformation register-resource \
     --resource-arn "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*" \
     --role-arn "arn:aws:iam::AWSAccountID:role/service-role/LFAccessRole" \
     --with-federation
   ```

1. **Etapa 2: Atualizar o AWS Glue catálogo para ativar o controle de acesso do Lake Formation**

   Atualize o catálogo com `CreateDatabaseDefaultPermissions` e `CreateTableDefaultPermissions` (definido como`[]`) vazio e definido como `OverwriteChildResourcePermissionsWithDefault``Accept`. Isso remove o acesso baseado em IAM de todos os recursos secundários existentes e permite que o catálogo e seus objetos sejam gerenciados usando subsídios do Lake Formation.

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

1. **Etapa 3: conceder permissões do Lake Formation à sua equipe de dados**

   Conceda permissões do Lake Formation aos diretores (funções, usuários ou grupos) que precisam de acesso. Por exemplo, para conceder acesso de leitura de tabela completa a uma função:

   ```
   aws lakeformation grant-permissions \
     --principal DataLakePrincipalIdentifier=arn:aws:iam::AWSAccountID:role/DataTeamRole \
     --resource '{
       "Table": {
           "CatalogId": "AWSAccountID",
           "DatabaseName": "s3tablescatalog/table-bucket-name/namespace",
           "TableWildcard": {}
       }
     }' \
     --permissions "SELECT" "DESCRIBE"
   ```

   Repita o procedimento para cada combinação principal e de recursos, conforme necessário.

# Alterar o controle de acesso de AWS Lake Formation para 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 acesso existente baseado no Lake Formation 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**  
Controles de acesso refinados, 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 continuar migrando os 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).

## Usando 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 somente 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.

# Criação de um catálogo gerenciado do Amazon Redshift no AWS Glue Data Catalog
<a name="create-rms-catalog"></a>

 Talvez você não tenha um cluster produtor do Amazon Redshift ou uma unidade de compartilhamento de dados do Amazon Redshift disponível atualmente, mas queira criar e gerenciar tabelas do Amazon Redshift usando o AWS Glue Data Catalog. Você pode começar criando um catálogo AWS Glue gerenciado usando a `glue:CreateCatalog` API ou o AWS Lake Formation console definindo o tipo de catálogo como `Managed` e `Catalog source` como **Redshift**. Essa etapa faz o seguinte:
+ Cria um catálogo no Data Catalog
+ Registra o catálogo como um local de dados do Lake Formation.
+ cria um grupo de trabalho gerenciado do Amazon Redshift sem servidor
+ Vincula o grupo de trabalho do Amazon Redshift sem servidor e o Data Catalog usando um objeto de unidade de compartilhamento de dados.

**Como criar um catálogo gerenciado e configurar permissões (console)**

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação, escolha **Catálogos**, em **Data Catalog**.

1. Selecione a opção **Criar catálogo**. 

1. Na página de detalhes **Definir catálogo**, insira as seguintes informações: 
   + **Nome**: um nome exclusivo para seu catálogo gerenciado. O nome não pode ser alterado e deve estar em letras minúsculas. O nome pode ter no máximo 255 caracteres. 
   + **Tipo**: escolha `Managed catalog` como o tipo de catálogo.
   + **Armazenamento**: escolha `Redshift` para armazenamento.
   + **Descrição**: insira uma descrição para o catálogo criado por meio da fonte de dados.

1. Você pode usar aplicações Apache Spark em execução no Amazon EMR no Amazon EC2 para acessar os bancos de dados Amazon Redshift no AWS Glue Data Catalog.

   Para permitir que o Apache Spark leia e grave no armazenamento gerenciado do Amazon Redshift, o AWS Glue cria um cluster gerenciado do Amazon Redshift com os recursos computacionais e de armazenamento necessários para realizar operações de leitura e gravação sem prejudicar as workloads do data warehouse do Amazon Redshift. Também é preciso fornecer um perfil do IAM com as permissões necessárias para transferir dados de e para o bucket do Amazon S3. Para conhecer as permissões necessárias para o perfil de transferência de dados, consulte a etapa 5 na seção [Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog](redshift-ns-prereqs.md). 

1. Por padrão, os dados no cluster do Amazon Redshift são criptografados usando uma chave AWS gerenciada. O Lake Formation oferece uma opção para criar sua chave do KMS personalizada para criptografia. Se você estiver usando uma chave gerenciada pelo cliente, deverá adicionar políticas de chave específicas à chave. 

1.  Escolha Personalizar configurações de criptografia se você estiver usando uma chave gerenciada pelo cliente para criptografar os dados no armazenamento gerenciado do Amazon Redshift. Para usar uma chave personalizada, você deve adicionar outra política de chave gerenciada personalizada à sua chave do KMS. Para obter mais informações, consulte [Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog](redshift-ns-prereqs.md).

1. **Opções de criptografia**: escolha a opção **Personalizar configurações de criptografia** se quiser usar uma chave personalizada para criptografar o catálogo. Para usar uma chave personalizada, você deve adicionar outra política de chave gerenciada personalizada à sua chave do KMS. 

1. Escolha **Próximo** para conceder permissões a outras entidades principais. 

1. Na página **Conceder permissões**, escolha **Adicionar permissões**.

1.  Na tela **Adicionar permissões**, escolha as entidades principais e os tipos de permissões a serem concedidas.   
![\[A página de permissões do catálogo com o tipo de entidade principal e as opções de concessão.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/catalog-permissions.png)
   +  Na seção **Entidades principais**, escolha um tipo de entidade principal e, em seguida, especifique as entidades principais para conceder permissões. 
     + **Usuários e perfis do IAM**: escolha um ou mais usuários ou perfis na lista de usuários e perfis do IAM.
     + **Usuários e grupos do SAML** — Para SAML e Amazon Quick usuários e grupos, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou para usuários ou grupos do ARNs Amazon Quick. Pressione **Enter** após cada ARN.

       Para obter informações sobre como construir o ARNs, consulte os AWS CLI comandos AWS CLI grant e revoke. 
   +  Na seção **Permissões**, selecione permissões e permissões concedidas.

     Em **Permissões do catálogo**, selecione uma ou mais permissões a serem concedidas.

     Escolha **Superusuário** para conceder permissões administrativas irrestritas em todos os recursos do catálogo.

      Em **Permissões concedidas, selecione as permissões** que o beneficiário do subsídio pode conceder a outros diretores em sua conta. AWS Essa opção não é compatível quando você está concedendo permissões a uma entidade principal do IAM a partir de uma conta externa. 

1. Escolha **Próximo** para revisar as informações e criar o catálogo. A lista **Catálogos** mostra o novo catálogo gerenciado.

**Como criar um catálogo federado (CLI)**
+  O exemplo a seguir mostra como criar um catálogo federado. 

  ```
  aws glue create-catalog --cli-input-json file://input.json
  
  {
      "Name": "CatalogName", 
      "CatalogInput": {
        "Description": "Redshift published Catalog",
        "CreateDatabaseDefaultPermissions" : [],
        "CreateTableDefaultPermissions": [],
        "CatalogProperties": {
          "DataLakeAccessProperties" : {
            "DataLakeAccess" : "true",
            "DataTransferRole" : "DTR arn",
            "KMSKey": "kms key arn",  // Optional
            "CatalogType": "aws:redshift"
          }  
        }
      }
  }
  ```

  Resposta get-catalog do Glue 

  ```
  aws glue get-catalog \
    --catalog-id account-id:catalog-name \
    --region us-east-1
  
  Response:
  {
      "Catalog": {
          "Name": "CatalogName", 
          "Description": "Glue Catalog for Redshift z-etl use case",
          "CreateDatabaseDefaultPermissions" : [],
          "CreateTableDefaultPermissions": [],
           "CatalogProperties": {
            "DataLakeAccessProperties" : {
              "DataLakeAccess": "true",
              "DataTransferRole": "DTR arn",
              "KMSKey": "kms key arn",
              "ManagedWorkgroupName": "MWG name",
              "ManagedWorkgroupStatus": "MWG status",
              "RedshiftDatabaseName": "RS db name",
              "NamespaceArn": "namespace key arn",
              "CatalogType": "aws:redshift"
           }
         }
      }
  ```

# Gerenciamento de permissões para dados em uma unidade de compartilhamento de dados do Amazon Redshift.
<a name="data-sharing-redshift"></a>

Com o AWS Lake Formation, você pode gerenciar dados com segurança em uma unidade de compartilhamento de dados do Amazon Redshift. O Amazon Redshift é um serviço de data warehouse totalmente gerenciado e em escala de petabytes na Nuvem AWS. Ao usar o recurso de compartilhamento de dados, o Amazon Redshift ajuda você a compartilhar dados entre Contas da AWS. Para obter mais informações sobre o compartilhamento de dados do Amazon Redshift, consulte [Visão geral do compartilhamento de dados no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/data_sharing_intro.html). 

No Amazon Redshift, o administrador do cluster produtor cria uma unidade de compartilhamento de dados e a compartilha com o administrador do data lake. Para obter instruções passo a passo sobre como criar um administrador de data lake, consulte [Crie um administrador de data lake](initial-lf-config.md#create-data-lake-admin). 

Depois que você (administrador do data lake) aceitar a unidade compartilhamento de dados, deverá criar um banco de dados do AWS Glue Data Catalog para a unidade de compartilhamento de dados específica. Isso serve para que você possa controlar o acesso a ele usando as permissões do Lake Formation. O Lake Formation mapeia cada unidade de compartilhamento de dados para um banco de dados correspondente do catálogo de dados. Estes aparecem como bancos de dados federados no catálogo de dados. 

Um banco de dados é chamado de *banco de dados federado* quando se refere a uma entidade fora do Catálogo de Dados. As tabelas e exibições na unidade de compartilhamento de dados do Amazon Redshift são listadas como tabelas individuais no catálogo de dados. É possível compartilhar o banco de dados federado com entidades principais do IAM e usuários SAML selecionados na mesma conta ou em outra conta com Lake Formation. Você também pode incluir expressões de filtro de linha e coluna para restringir o acesso a determinados dados. Para obter mais informações, consulte [Filtragem de dados e segurança por célula no Lake Formation](data-filtering.md). 

 Para fornecer acesso aos usuários a uma unidade de compartilhamento de dados do Amazon Redshift, você deve fazer o seguinte:

1. Atualize as **Configurações do catálogo de dados** para ativar as permissões do Lake Formation. 

1. Aceite o convite da unidade de compartilhamento de dados do administrador do cluster produtor do Amazon Redshift e registre a unidade de compartilhamento de dados no Lake Formation.

   Depois de concluir essa etapa, você pode gerenciar a unidade de compartilhamento de dados dentro do Catálogo de Dados do Lake Formation. 

1. Crie um banco de dados federado e defina permissões neste banco de dados. 

1. Conceda permissões a usuários aos bancos de dados e tabelas. Você pode compartilhar o banco de dados inteiro ou um subconjunto de tabelas com os usuários na mesma conta ou em outra conta. 

Para conhecer as limitações, consulte [Limitações do compartilhamento de dados do Amazon Redshift](notes-rs-datashare.md).

**Topics**
+ [Requisitos para configurar permissões em unidades de compartilhamento de dados do Amazon Redshift](redshift-ds-prereqs.md)
+ [Configuração de permissões para unidades de compartilhamento de dados do Amazon Redshift](setup-ds-perms.md)
+ [Consultar bancos de dados federados](qerying-fed-db.md)

# Requisitos para configurar permissões em unidades de compartilhamento de dados do Amazon Redshift
<a name="redshift-ds-prereqs"></a>

**Atualizar as configurações padrão do catálogo de dados**  
Para habilitar as permissões do Lake Formation para os recursos do catálogo de dados, recomendamos que você desative as **Configurações-padrão do catálogo de dados** no Lake Formation. Para obter mais informações, consulte [Alterar o modelo de permissão padrão ou usar o modo de acesso híbrido](initial-lf-config.md#setup-change-cat-settings).

**Permissões atualizadas**  
 Além das permissões de administrador do data lake (`AWSLakeFormationDataAdmin`), as seguintes permissões também são necessárias para aceitar uma unidade de compartilhamento de dados do Amazon Redshift no Lake Formation:
+ `glue:PassConnection on aws:redshift`
+ `redshift:AssociateDataShareConsumer`
+ `redshift:DescribeDataSharesForConsumer`
+ `redshift:DescribeDataShares`

O usuário do IAM administrador do data lake tem as seguintes permissões implicitamente.
+ Acesso à localização de dados
+ Criar banco de dados 
+ lakefomation:registerResource

# Configuração de permissões para unidades de compartilhamento de dados do Amazon Redshift
<a name="setup-ds-perms"></a>

 Este tópico descreve as etapas que você precisa seguir para aceitar um convite de unidade de compartilhamento de dados, criar um banco de dados federado, e conceder permissões. Você pode usar o console Lake Formation ou o AWS Command Line Interface (AWS CLI). Os exemplos neste tópico mostram o cluster produtor, o catálogo de dados, e o consumidor de dados na mesma conta.

Para saber mais sobre os recursos de entre contas do Lake Formation, consulte [Compartilhamento de dados entre contas no Lake Formation](cross-account-permissions.md).

**Como configurar permissões para uma unidade de compartilhamento de dados**

1. Analise e aceite um convite de unidade de compartilhamento de dados.

------
#### [ Console ]

   1.  Faça login no console do Lake Formation como administrador do data lake em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Navegue até a página **Compartilhamento de dados**. 

   1. Revise as unidades de compartilhamento de dados que você tem autorização para acessar. A coluna **Status** indica seu status atual de participação na unidade de compartilhamento de dados. O status **Pendente** indica que você foi adicionado a uma unidade de compartilhamento de dados, mas ainda não o aceitou ou rejeitou o convite. 

   1.  Para responder ao convite da unidade de compartilhamento de dados, selecione o nome da unidade de compartilhamento de dados e escolha **Examinar convite**. Em **Aceitar ou rejeitar unidade de compartilhamento de dados**, examine os detalhes do convite. Selecione **Aceitar** para aceitar o convite ou **Rejeitar** para recusar o convite. Se você rejeitar o convite, não terá acesso à unidade de compartilhamento de dados.

------
#### [ AWS CLI ]

   Os exemplos a seguir mostram como exibir, aceitar e registrar o convite. Substitua o ID da Conta da AWS por um ID da Conta da AWS válido. Substitua `data-share-arn` pelo nome do recurso da Amazon (ARN) real que faz referência à unidade de compartilhamento de dados.

   1. Visualize um convite pendente.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
      ```

   1. Aceitar uma unidade de compartilhamento de dados.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
       --consumer-arn 'arn:aws:glue:us-east-1:111122223333:catalog
      ```

   1. Registre a unidade de compartilhamento de dados na conta do Lake Formation. Use a operação da API de [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html) para registrar a unidade de compartilhamento de dados no Lake Formation. `DataShareArn` é o parâmetro de entrada para `ResourceArn`.
**nota**  
Este é uma etapa obrigatória.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds'
      ```

------

1. Crie um banco de dados.

    Depois de aceitar um convite de unidade de compartilhamento de dados, você precisa criar um banco de dados que aponte para o banco de dados do Amazon Redshift associado à unidade de compartilhamento de dados. Você deve ser administrador de data lake para criar um banco de dados. 

------
#### [ Console ]

   1.  Selecione a unidade de compartilhamento de dados no painel **Convites** e selecione **Definir informações do banco de dados**. 

   1.  Em **Definir informações do banco de dados**, insira um nome e um identificador exclusivos para a unidade de compartilhamento de dados. Você usa esse identificador para mapear a unidade de compartilhamento de dados internamente na hierarquia de metadados (dbName.schema.table). 

   1.  Selecione **Avançar** para conceder permissões a outros usuários no banco de dados e nas tabelas compartilhados. 

------
#### [ AWS CLI ]

    Use o código de exemplo a seguir para criar um banco de dados que aponta para o banco de dados do Amazon Redshift compartilhado com o Lake Formation por meio da AWS CLI. 

   ```
   aws glue create-database --cli-input-json \
   
   '{
    "CatalogId": "111122223333",
    "DatabaseInput": {
     "Name": "tahoedb",
     "FederatedDatabase": {
          "Identifier": "arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds",
          "ConnectionName": "aws:redshift"
      }
    }
    }'
   ```

------

1. Conceder permissões

    Depois de criar o banco de dados, você pode conceder permissões a outros usuários em sua conta ou a Contas da AWS e organizações externas. Não será possível conceder permissões de gravação de dados (inserir e excluir) e permissão de metadados (alterar, eliminar e criar) no banco de dados federado que está associado a uma unidade de compartilhamento de dados do Amazon Redshift. Para obter mais informações sobre a concessão de permissões, consulte [Gerenciando permissões do Lake Formation](managing-permissions.md).
**nota**  
Como administrador do data lake, você só pode exibir tabelas nos bancos de dados federados. Para executar qualquer outra ação, você precisa conceder a si mais permissões nessas tabelas.

------
#### [ Console ]

   1. Na tela **Conceder permissões**, selecione os usuários aos quais planeja conceder permissões.

   1. Selecione **Conceder**. 

------
#### [ AWS CLI ]

   Use os exemplos a seguir para conceder permissões de banco de dados e tabelas usando a AWS CLI:

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
      "Principal": {
              "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
      },
      "Resource": {
             "Database": {
                   "CatalogId": "111122223333",
                    "Name": "tahoedb"
              }
       },
       "Permissions": [
                "DESCRIBE"
        ],
       "PermissionsWithGrantOption": [
                            
        ]
    }
   ```

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
                      "Principal": {
                             "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
                      },
                     "Resource": {
                            "Table": {
                                 "CatalogId": "111122223333",
                                 "DatabaseName": "tahoedb",
                                 "Name": "public.customer"
                          }
                     },
                    "Permissions": [
                           "SELECT"
                     ],
                    "PermissionsWithGrantOption": [
                            "SELECT"
                      ]
    }
   ```

------

# Consultar bancos de dados federados
<a name="qerying-fed-db"></a>

 Após conceder permissões, os usuários podem fazer login e começar a consultar o banco de dados federado usando o Amazon Redshift. Agora, os usuários podem usar o nome do banco de dados local para referenciar a unidade de compartilhamento de dados do Amazon Redshift em consultas SQL. No Amazon Redshift, a tabela do cliente no esquema público compartilhada por meio da unidade de compartilhamento de dados terá uma tabela correspondente criada como `public.customer` no catálogo de dados.

1. Antes de consultar o banco de dados federado usando o Amazon Redshift, o administrador do cluster cria um banco de dados a partir do banco de dados do catálogo de dados usando o seguinte comando: 

   ```
   CREATE DATABASE sharedcustomerdb FROM ARN 'arn:aws:glue:<region>:111122223333:database/tahoedb' WITH DATA CATALOG SCHEMA tahoedb
   ```

1.  O administrador do cluster concede permissões de uso no banco de dados.

   ```
   GRANT USAGE ON DATABASE sharedcustomerdb TO IAM:user;
   ```

1.  Você (usuário federado) agora pode fazer login nas ferramentas SQL para consultar a tabela. 

   ```
   Select * from sharedcustomerdb.public.customer limit 10;
   ```

 Para obter mais informações, consulte [Consulta no AWS Glue Data Catalog](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-glue.html) no Guia de gerenciamento do Amazon Redshift. 

# Gerenciamento de permissões em conjuntos de dados que usam repositórios de dados externos
<a name="data-sharing-hms"></a>

Com a federação de AWS Glue Data Catalog metadados (federação do catálogo de dados), você pode conectar o catálogo de dados a metastores externos que armazenam metadados para seus dados do Amazon S3 e gerenciar com segurança as permissões de acesso aos dados usando. AWS Lake Formation Você não precisa migrar os metadados do repositório externo para o catálogo de dados.

O Catálogo de Dados oferece um repositório centralizado de metadados que facilita o gerenciamento e a descoberta de dados em sistemas diferentes. Quando sua organização gerencia dados no catálogo de dados, você pode usar AWS Lake Formation para controlar o acesso aos seus conjuntos de dados no Amazon S3.

**nota**  
Atualmente, oferecemos suporte somente à federação de repositórios do Apache Hive (versão 3 e superior).

Para configurar a federação do Catálogo de Dados, fornecemos um aplicativo AWS Serverless Application Model (AWS SAM) chamado [GlueDataCatalogFederation- HiveMetastore](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:766175011753:applications/GlueDataCatalogFederation-HiveMetastore) no AWS Serverless Application Repository. 

A implementação de referência é fornecida GitHub como um projeto de código aberto na [AWS Glue Data Catalog Federation - Hive Metastore](https://github.com/awslabs/aws-glue-data-catalog-federation).

O AWS SAM aplicativo cria e implanta os seguintes recursos que são necessários para conectar o Catálogo de Dados ao metastore do Hive:
+ **Uma AWS Lambda função** — Hospeda a implementação do serviço de federação que se comunica entre o Catálogo de Dados e o metastore do Hive. AWS Glue invoca essa função Lambda para recuperar objetos de metadados do metastore Hive.
+ **Amazon API Gateway** — O endpoint de conexão do seu repositório do Hive que atua como um proxy para rotear todas as invocações para a função do Lambda. 
+ **Um perfil do IAM**: um perfil com as permissões necessárias para criar a conexão entre o Catálogo de Dados e o repositório do Hive.
+ **AWS Glue conexão** — Um Amazon API Gateway tipo de AWS Glue conexão que armazena o Amazon API Gateway endpoint e uma função do IAM para invocá-lo. 

Quando você consulta tabelas, o AWS Glue serviço faz uma chamada de tempo de execução para o metastore do Hive e busca os metadados. A função do Lambda atua como um tradutor entre o Repositório do Hive e o catálogo de dados. 

Após estabelecer a conexão, para sincronizar os metadados na repositório do Hive com o catálogo de dados, você precisa criar um *banco de dados federado* no catálogo de dados usando as informações da conexão do repositório do Hive, e mapear esse banco de dados para o banco de dados do Hive. Um banco de dados é chamado de banco de dados federado quando aponta para uma entidade fora do catálogo de dados.

Você pode aplicar as permissões do Lake Formation usando o controle de acesso baseado em tags e o método de recurso nomeado no banco de dados federado e compartilhá-lo em várias Contas da AWS unidades organizacionais ()OUs. AWS Organizations Você também pode compartilhar o banco de dados federado diretamente com as entidades principais do IAM de outra conta.

 Você pode definir permissões refinadas no nível de coluna, linha e célula usando os filtros de dados do Lake Formation nas tabelas externas do Hive. É possível usar o Amazon Athena, o Amazon Redshift ou o Amazon EMR para consultar as tabelas externas do Hive gerenciadas pelo Lake Formation.

Para obter mais informações sobre compartilhamento de dados entre contas e filtragem de dados, consulte:
+ [Compartilhamento de dados entre contas no Lake Formation](cross-account-permissions.md)
+ [Filtragem de dados e segurança por célula no Lake Formation](data-filtering.md)

**Etapas de alto nível da federação de metadados do catálogo de dados**

1. Você cria usuários e perfis do IAM que têm as permissões apropriadas para implantar a aplicação do AWS SAM e criar bancos de dados federados.

1. Você registra o local dos dados do Amazon S3 com o Lake Formation selecionando a opção `Enable Data Catalog federation` para conjuntos de dados que usam um repositório externo do Hive. 

1. Você define as configurações do AWS SAM aplicativo (nome da AWS Glue conexão, URL para o metastore do Hive e parâmetros da função Lambda) e implanta o aplicativo. AWS SAM 

1. O AWS SAM aplicativo implanta os recursos necessários para conectar o metastore externo do Hive ao Catálogo de Dados. 

1. Para aplicar as permissões do Lake Formation no banco de dados e nas tabelas do Hive, você cria um banco de dados no Catálogo de Dados usando as informações de conexão do repositório do Hive e associa esse banco de dados ao banco de dados do Hive.

1. Conceda permissões nos bancos de dados federados às entidades principais da sua conta ou de outra conta. 

**nota**  
Você pode conectar o Data Catalog a um repositório externo do Hive, criar bancos de dados federados e executar consultas e scripts do ETL em bancos de dados e tabelas do Hive sem aplicar as permissões do Lake Formation. Para dados de origem no Amazon S3 que não estão registrados no Lake Formation, o acesso é determinado pelas políticas de permissões do IAM para o Amazon AWS Glue S3 e pelas ações. 

Para conhecer as limitações, consulte [Considerações e limitações do compartilhamento de dados de armazenamento de metadados do Hive](notes-hms.md).

**Topics**
+ [Fluxo de trabalho](#hms-workflow)
+ [Requisitos para conectar o catálogo de dados ao Repositório do Hive](hms-prerequisites.md)
+ [Conectando o catálogo de dados a um repositório externo do Hive](hms-setup.md)
+ [Recursos adicionais do](additional-resources-hms.md)

## Fluxo de trabalho
<a name="hms-workflow"></a>

O diagrama a seguir mostra o fluxo de trabalho para conectar o AWS Glue Data Catalog a um metastore externo do Hive.

![\[Workflow diagram showing Hive metastore connection to AWS Glue Data Catalog with numbered steps.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/hms-workflow.png)


1. Uma entidade principal envia uma consulta usando um serviço integrado, como Athena ou Redshift Spectrum.

1. O serviço integrado faz uma chamada para o Catálogo de Dados para obter os metadados, que por sua vez chama o endpoint do metastore Hive disponível por trás Amazon API Gateway e recebe respostas às solicitações de metadados.

1. O serviço integrado envia a solicitação ao Lake Formation para verificar as informações e credenciais da tabela para acessar a tabela.

1.  O Lake Formation autoriza a solicitação e fornece credenciais temporárias para o aplicativo integrado, que permite o acesso aos dados. 

1. Ao usar as credenciais temporárias recebidas do Lake Formation, o serviço integrado lê os dados do Amazon S3 e compartilha os resultados com a entidade principal.

# Requisitos para conectar o catálogo de dados ao Repositório do Hive
<a name="hms-prerequisites"></a>

Para AWS Glue Data Catalog conectar-se a um metastore externo do Apache Hive e configurar as permissões de acesso aos dados, você precisa preencher os seguintes requisitos:
**nota**  
Recomendamos que um administrador do Lake Formation implante o AWS SAM aplicativo e que somente um usuário privilegiado use a conexão de metastore do Hive para criar os bancos de dados federados correspondentes.

1. 

**Crie perfis do IAM.**

**Para implantar o AWS SAM aplicativo**
   + Crie uma função que tenha as permissões necessárias para implantar os recursos (função Lambda Amazon API Gateway, função do IAM e conexão) necessários para criar uma conexão com AWS Glue a metastore do Hive.

**Como criar bancos de dados federados**

   As seguintes permissões são necessárias nos recursos:
   + `glue:CreateDatabase on resource arn:aws:glue:region:account-id:database/gluedatabasename`
   + `glue:PassConnection on resource arn:aws:glue:region:account-id:connection/hms_connection`

1. 

**Registre o local do Amazon S3 com o Lake Formation.**

   Para usar o Lake Formation para gerenciar e proteger os dados em seu data lake, você deve registrar o local do Amazon S3 que tem os dados das tabelas na repositório do Hive com o Lake Formation. Ao fazer isso, a Lake Formation pode fornecer credenciais para serviços AWS analíticos como Athena, Redshift Spectrum e Amazon EMR.

   Para obter mais informações sobre o registro de um local do Amazon S3, consulte [Adicionar uma localização do Amazon S3 ao seu data lake](register-data-lake.md).

   Ao registrar a localização do Amazon S3, marque a caixa de seleção **Habilitar federação do Catálogo de Dados** para permitir que o Lake Formation assuma um perfil para acessar tabelas em um banco de dados federado.  
![\[Register location form for AWS Lake Formation with Amazon S3 path and IAM role options.\]](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/hms-register-s3.png)

   Para obter mais informações sobre como registrar um local de dados no Lake Formation, consulte [Como configurar um local no Amazon S3 para o data lake](initial-lf-config.md#register-s3-location).

1. 

**Use a versão correta do Amazon EMR.**

   Para usar o Amazon EMR com os bancos de dados federados do repositório do Hive, você precisa ter o Hive versão 3.x ou posterior e o Amazon EMR versão 6.x ou posterior.

# Conectando o catálogo de dados a um repositório externo do Hive
<a name="hms-setup"></a>

[Para conectá-lo AWS Glue Data Catalog a uma metastore do Hive, você precisa implantar um AWS SAM aplicativo chamado -. GlueDataCatalogFederation HiveMetastore](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:766175011753:applications/GlueDataCatalogFederation-HiveMetastore) Ele cria os recursos necessários para conectar o repositório externo do Hive ao catálogo de dados. Você pode acessar o AWS SAM aplicativo no AWS Serverless Application Repository.

O AWS SAM aplicativo cria a conexão para o metastore Hive por trás do Amazon API Gateway usando uma função Lambda. O AWS SAM aplicativo usa um identificador uniforme de recursos (URI) como entrada do usuário e conecta o metastore externo do Hive ao Catálogo de Dados. Quando um usuário executa uma consulta nas tabelas do Hive, o Catálogo de Dados chama o endpoint do API Gateway. O endpoint invoca a função do Lambda para recuperar os metadados das tabelas do Hive.

**Como conectar o catálogo de dados ao repositório do Hive e configurar permissões**

1. 

**Implante o AWS SAM aplicativo.**

   1. Faça login no Console de gerenciamento da AWS e abra AWS Serverless Application Repository o.

   1. No painel de navegação, escolha **Aplicativos disponíveis**.

   1. Selecione **Aplicativos públicos**.

   1. Selecione a opção **Show apps that create custom IAM roles or resource policies** (Mostrar aplicações que criam funções personalizadas do IAM ou políticas de recursos). 

   1. Na caixa de pesquisa, digite o nome **GlueDataCatalogFederation- HiveMetastore**. 

   1. Escolha o HiveMetastore aplicativo **GlueDataCatalogFederation-**.

   1. Em **Configurações do aplicativo**, digite as seguintes configurações mínimas necessárias para sua função do Lambda:
      + **Nome do aplicativo** - Um nome para seu AWS SAM aplicativo.
      + **GlueConnectionName**- Um nome para a conexão.
      + **HiveMetastoreURIs**- O URI do seu host de metastore Hive.
      + **LambdaMemory**- A quantidade de memória Lambda em MB de 128 a 10240. O padrão é 1024.
      + **LambdaTimeout**- O tempo máximo de execução de invocação do Lambda em segundos. O padrão é 30.
      + **VPCSecurityGroupIds**e **VPCSubnetIds** - Informações para a VPC em que existe o metastore do Hive.

   1. Selecione **Reconheço que este aplicativo cria perfis personalizadas do IAM e políticas de recursos**. Para obter mais informações, escolha o link **Informações**.

   1. Na parte inferior direita da página **Configurações da aplicação** selecione **Implantar**. Quando a implantação for concluída, a função do Lambda será exibida seção **Recursos no console do Lambda**.

    A aplicação é implantada no Lambda. O nome é prefixado com **serverlessrepo-** para indicar que a aplicação foi implantada por meio do AWS Serverless Application Repository. Selecionar o aplicativo leva você à página **Recursos**, na qual cada um dos recursos do aplicativo que foram implantados está listado. Os recursos incluem a função Lambda, que permite a comunicação entre o catálogo de dados e o metastore Hive, a AWS Glue conexão e outros recursos necessários para a federação do banco de dados. 

1. 

**Crie um banco de dados federado no catálogo de dados.**

   Depois de criar uma conexão com o repositório do Hive, você pode criar bancos de dados federados no Catálogo de Dados que apontam para os bancos de dados externos do repositório do Hive. Você precisa criar um banco de dados correspondente no Catálogo de Dados para cada banco de dados de repositório do Hive que você está conectando ao Catálogo de Dados. 

------
#### [ Lake Formation console ]

   1. Na página **Compartilhamento de dados**, selecione a guia **Bancos de dados compartilhados** e, em seguida, selecione **Criar banco de dados**.

   1. Em **Nome da conexão**, selecione o nome da sua conexão de repositório do Hive no menu suspenso.

   1. Digite um nome de banco de dados exclusivo e o identificador de origem da federação para o banco de dados. Esse é o nome que você usa em suas instruções SQL ao consultar tabelas. O nome pode ter no máximo 255 caracteres e deve ser exclusivo dentro da conta. 

   1. Selecione **Criar banco de dados**.

------
#### [ AWS CLI ]

   ```
   aws glue create-database \
   '{
    "CatalogId": "<111122223333>",
     "database-input": {
       "Name":"<fed_glue_db>",
       "FederatedDatabase":{
           "Identifier":"<hive_db_on_emr>",
           "ConnectionName":"<hms_connection>"
        }
      }
    }'
   ```

------

1. 

**Visualize tabelas no banco de dados federado.**

   Após criar o banco de dados federado, você pode exibir a lista de tabelas em seu repositório do Hive usando o console do Lake Formation ou a AWS CLI.

------
#### [ Lake Formation console ]

   1. Selecione o nome do banco de dados na guia **Bancos de dados compartilhados**.

   1. Na página **Bancos de dados**, selecione **Exibir tabelas**.

------
#### [ AWS CLI ]

   Os exemplos a seguir mostram como recuperar a definição da conexão, o nome do banco de dados e algumas ou todas as tabelas no banco de dados. Substitua a ID do Catálogo de Dados pela Conta da AWS ID válida que você usou para criar o banco de dados. Substitua `hms_connection` pelo nome da conexão.

   ```
   aws glue get-connection \
   --name <hms_connection>  \       
   --catalog-id 111122223333
   ```

   ```
   aws glue get-database \
   --name <fed_glu_db> \             
   --catalog-id 111122223333
   ```

   ```
   aws glue get-tables \
   --database-name <fed_glue_db> \
   --catalog-id 111122223333
   ```

   ```
   aws glue get-table \
   --database-name <fed_glue_db> \
   --name <hive_table_name> \
   --catalog-id 111122223333
   ```

------

1. 

**Conceder permissões**

    Depois de criar o banco de dados, você pode conceder permissões a outros usuários e funções do IAM em sua conta ou a organizações externas Contas da AWS e externas. Você não poderá conceder permissões de gravação de dados (inserir e excluir) e permissão de metadados (alterar, descartar e criar) nos bancos de dados federados. Para obter mais informações sobre a concessão de permissões, consulte [Gerenciando permissões do Lake Formation](managing-permissions.md) 

1. 

**Consulte os bancos de dados federados.**

   Após conceder permissões, os usuários podem fazer login e começar a consultar o banco de dados federado usando o Athena e o Amazon Redshift. Agora, os usuários podem usar o nome do banco de dados local para referenciar o banco de dados do Hive em consultas SQL.

   **Exemplo de sintaxe de Amazon Athena consulta**

   Substitua o `fed_glue_db` pelo nome do banco de dados local que você criou anteriormente.

    `Select * from fed_glue_db.customers limit 10;`

# Recursos adicionais do
<a name="additional-resources-hms"></a>

A postagem do blog a seguir contém instruções detalhadas para configurar as permissões do Lake Formation em um banco de dados e tabelas de repositório do Hive e consultá-los usando o Athena. Também ilustramos um caso prático de compartilhamento entre contas, em que uma entidade principal do Lake Formation na conta de produtor A compartilha um banco de dados federado e tabelas do Hive usando tags do LF com a conta de consumidor B. 
+ [Consulte sua metastore do Apache Hive com permissões AWS Lake Formation](https://aws.amazon.com/blogs/big-data/query-your-apache-hive-metastore-with-aws-lake-formation-permissions/)