

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

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