

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Fédération de catalogues vers des catalogues Iceberg distants
<a name="catalog-federation"></a>

La fédération de catalogues AWS Glue fournit un accès direct et sécurisé aux tables Iceberg, stockées dans Amazon S3 et cataloguées dans des catalogues distants, à l'aide AWS de moteurs d'analyse. La fédération de catalogues synchronise les métadonnées entre Data Catalog et les catalogues distants lorsque vous accédez à des tables distantes. Il est pris en charge par une grande variété de moteurs d'analyse, notamment Amazon Redshift, Amazon EMR, Amazon Athena, des moteurs tiers tels qu' AWS Glue Apache Spark, etc.

La fédération de catalogues AWS Glue Data Catalog permet de communiquer avec les systèmes de catalogues distants pour découvrir les tables et avec Lake Formation pour autoriser l'accès aux données des tables dans Amazon S3. Lorsque vous interrogez une table fédérée, Data Catalog découvre les dernières informations de table dans le catalogue distant au moment de la requête, obtenant ainsi l'emplacement Amazon S3 de la table, le schéma actuel et les informations de partition. Votre moteur d'analyse (Amazon Athena, Amazon Redshift, Amazon EMR) utilise ensuite ces informations pour accéder aux fichiers de données Iceberg directement depuis Amazon S3. Lake Formation gère l'accès aux tables en distribuant des informations d'identification limitées aux données des tables stockées dans Amazon S3, ce qui permet aux moteurs d'appliquer des autorisations détaillées aux tables fédérées.

## Caractéristiques de Catalog Federation
<a name="catalog-federation-features"></a>

**Gouverné à l'aide de Lake Formation**  
Les catalogues d'icebergs fédérés du catalogue de données sont des ressources enregistrées dans Lake Formation, ce qui vous permet d'accorder des autorisations détaillées au niveau des lignes, des colonnes et des cellules aux tables Iceberg des catalogues d'icebergs fédérés à l'aide de subventions Lake Formation. Les catalogues Federated Iceberg et les objets associés peuvent être partagés en toute sécurité entre les comptes. AWS Les catalogues Federated Iceberg fonctionnent également avec le contrôle d'accès basé sur les balises Lake Formation, ce qui vous permet d'étendre la gouvernance à l'aide de balises.

**Configurations réseau**  
La fédération de catalogues prend en charge les connexions directes aux sources de catalogue distantes à l'aide de la connectivité HTTPS standard. Il prend également en charge la connectivité via Amazon VPC lorsque vous souhaitez maintenir l'isolation du réseau et la connectivité à l'aide de proxy lorsque vous souhaitez une communication sécurisée via les pare-feux de l'entreprise.

**Topics**
+ [Caractéristiques de Catalog Federation](#catalog-federation-features)
+ [Fédérer vers le catalogue Snowflake Iceberg](catalog-federation-snowflake.md)
+ [Fédérer pour Databricks Unity Catalog](catalog-federation-databricks.md)

# Fédérer vers le catalogue Snowflake Iceberg
<a name="catalog-federation-snowflake"></a>

AWS Glue Data Catalog se connecte à Snowflake l'utilisation des OAuth2 informations d'identification d'un directeur de Snowflake service. Vous pouvez utiliser cette fédération pour vous connecter à Snowflake Horizon des Snowflake Polaris catalogues. Ce mécanisme d'authentification permet à Data Catalog d'accéder aux métadonnées de divers objets (tels que les catalogues, les bases de données et les tables) de votre catalogue, en fonction des privilèges associés au principal de service. Pour garantir l'accès aux bons objets, il est essentiel d'accorder au principal du service Snowflake les autorisations nécessaires pour lire les métadonnées de ces objets.

## Conditions préalables
<a name="catalog-federation-snowflake-prerequisites"></a>

Avant de créer un catalogue fédéré dans Data Catalog régi par Lake Formation, assurez-vous de disposer des autorisations suivantes :

Votre principal IAM (utilisateur ou rôle) doit disposer des autorisations suivantes :
+ **Permissions de Lake Formation** —`lakeformation:RegisterResource`, `lakeformation:DescribeResource`
+ **AWS Glue autorisations** — `glue:CreateConnection``glue:CreateCatalog`,`glue:GetConnection`, `glue:PassConnection`
+ **Autorisations du Secrets Manager** —`secretsmanager:CreateSecret`, `secretsmanager:GetSecretValue`
+ **Autorisations IAM** —`iam:CreateRole`, `iam:AttachRolePolicy` `iam:PassRole`

Vous devez être un administrateur du lac de Lake Formation ou avoir l'`CREATE_CATALOG`autorisation d'accéder au catalogue de données

## Création d'un catalogue fédéré
<a name="catalog-federation-snowflake-create"></a>

### Utilisation de la console
<a name="catalog-federation-snowflake-console"></a>

1. Connectez-vous à la console et ouvrez la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Choisissez la AWS région préférée dans la section supérieure droite de la page.

1. Dans le volet de navigation de gauche, choisissez Catalogues.

1. Choisissez **Créer un catalogue** pour ouvrir le **flux de travail de création de catalogue**.

1. Dans l'étape **Choisir une source de données**, Snowflake sélectionnez l'une des options disponibles.

1. À l'étape **Définir les détails du catalogue**, vous fournissez trois informations : les détails du catalogue, les détails de connexion et les détails d'enregistrement.

1. Dans le conteneur des **détails du catalogue**, attribuez un nom unique à votre catalogue AWS Glue fédéré et entrez le nom du Snowflake catalogue existant.

1. Dans le conteneur **des détails des connexions**, vous pouvez soit choisir une connexion existante à laquelle vous avez accès, soit fournir une configuration pour créer un nouveau connecteur.

1. Les nouvelles configurations de connexion incluent :
   + Nom de connexion : nom unique de l'objet de AWS Glue connexion.
   + URL de l'instance : URL du point de terminaison de votre Snowflake compte existant.
   + Authentification — Spécifiez la configuration d'authentification AWS Glue utilisée pour se connecter au serveur de catalogue distant. AWS Glue prend en charge les deux OAuth2 et l'authentification personnalisée.
   + URL du jeton : spécifiez l'URL du fournisseur d'identité du catalogue distant.
   + OAuth2 ID client — Spécifiez l'ID client des OAuth2 informations d'identification associées à votre catalogue distant.
   + Secret — Stockez et utilisez OAuth2 le secret du client en utilisant AWS Secrets Manager ou entrez la valeur du secret dans la zone de texte. Lorsque vous entrez le secret manuellement dans la console, AWS Glue crée le secret en votre nom.
   + Étendue de l'URL du jeton : spécifiez l' OAuth étendue de l'authentification.
   + Filtre de boîtier de catalogue : choisissez d'importer les objets en minuscules ou en majuscules de votre catalogue distant vers Data Catalog.

1. Créez un rôle IAM que les responsables du service Lake Formation AWS Glue et les responsables du service Lake Formation pourront utiliser respectivement pour accéder aux emplacements secrets AWS Secrets Manager et aux emplacements Amazon S3 des tables Iceberg distantes. Sélectionnez le rôle IAM dans le menu déroulant d'inscription. Reportez-vous aux étapes 2 et 3 de la section CLI suivante pour plus de détails sur la politique IAM.

1. Sélectionnez Tester la connexion pour vérifier si les propriétés de votre connexion et l'accès au rôle IAM sont correctement configurés.

1. Sélectionnez **Suivant** pour vérifier vos paramètres.

1. Sélectionnez **Créer un catalogue** sur la page de révision.

### Utilisation de l’interface de ligne de commande (CLI)
<a name="snowflake-federation-cli"></a>

1. <a name="snowflake-step-1"></a>**Créez un AWS Secrets Manager secret**

   Le AWS Glue connecteur prend en charge deux types d'authentification : **OAuth2**l'authentification **personnalisée**. Lorsque vous utilisez l' OAuth2 option, AWS Secrets Manager utilisez-la pour stocker le secret client du principal de Snowflake service. Vous utiliserez ce secret ultérieurement lors de la création de la AWS Glue connexion. Pour l'authentification personnalisée, utilisez-le AWS Secrets Manager pour stocker et récupérer le jeton d'accès.

   Dans l'exemple suivant, remplacez `your-snowflake-secret``client_secret`, `region` par vos propres informations.

   ```
   aws secretsmanager create-secret \
   --name your-snowflake-secret \
   --description "Snowflake secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "client_secret"
   }' \
   --region region
   ```
**Note**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`est un mot clé réservé AWS Glue utilisé pour faire référence à une valeur secrète du client dans le secret. Utilisez également le même mot clé lorsque vous créez le secret dans la console Lake Formation.

1. <a name="snowflake-step-2"></a>**Créez un rôle IAM qui permet à l'objet de AWS Glue connexion d'accéder au secret créé à l'étape précédente**

   L'objet de AWS Glue connexion a besoin d'accéder au AWS Secrets Manager secret lorsque vous l'utilisez AWS Secrets Manager pour stocker, récupérer et actualiser votre jeton OAuth secret. L'objet de AWS Glue connexion nécessite également un accès pour créer, décrire et utiliser les interfaces réseau Amazon VPC lorsque vous utilisez un point de terminaison Amazon VPC pour restreindre la connectivité à votre compte. Snowflake

   Créez une politique IAM et associez-la à un rôle IAM. Ajoutez le principal de AWS Glue service à la politique de confiance.

   Dans l'exemple suivant, remplacez `your-secrets-manager-ARN``your-vpc-id`, et `your-subnet-id1` par vos propres informations.  
**Example Stratégie 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 Stratégie d’approbation**  

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

1. <a name="snowflake-step-3"></a>**Créez une politique IAM qui donne à Lake Formation un accès en lecture à l'emplacement Amazon S3 du catalogue**

   En tant que propriétaire d'un catalogue fédéré dans Data Catalog, vous utilisez Lake Formation pour accorder un accès grossier aux tables, un accès fin (au niveau des colonnes, des lignes et au niveau des cellules) et un accès basé sur des balises à vos équipes chargées des données. Lake Formation utilise un rôle IAM qui lui permet d'accéder aux emplacements Amazon S3 sous-jacents de vos tables Iceberg distantes. Cet accès permet à Lake Formation de vendre des identifiants d'accès délimités aux moteurs d'analyse interrogeant des tables distantes.

   Créez une politique IAM et attachez-la à un rôle IAM. Ajoutez le principal de service de Lake Formation à la politique de confiance des rôles.

   Dans l'exemple suivant, remplacez `amzn-s3-demo-bucketN` et `your-kms-key` par vos propres informations.  
**Example Stratégie 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 Stratégie d’approbation**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**Note**  
Lorsque vous utilisez la console Lake Formation pour créer un catalogue fédéré, la console utilise un seul rôle IAM auquel les deux politiques sont associées pour terminer la configuration.

1. <a name="snowflake-step-4"></a>**Création d'un objet AWS Glue de connexion**

   AWS Glue supports de connecteurs OAuth2 et méthodes d'authentification personnalisées. L'objet de connexion au catalogue de données prend en charge la `CATALOG_CASING_FILTER` configuration qui vous permet d'importer dans Data Catalog des objets en minuscules ou en majuscules de votre catalogue distant.

   L'exemple suivant utilise la configuration OAuth2 d'authentification pour créer une AWS Glue connexion. Remplacez `highlighted sections` par vos informations.

   ```
   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>**Enregistrer AWS Glue la connexion en tant que ressource Lake Formation**

   À l'aide de l'objet de AWS Glue connexion (créé à l'étape 4) et du rôle IAM (créé à l'étape 3), vous pouvez désormais enregistrer l'objet de AWS Glue connexion en tant que ressource gérée par Lake Formation.

   Remplacez `your-glue-connector-arn` et `your-IAM-role-ARN-having-LF-access` par vos informations.

   ```
   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>**Création d'un catalogue fédéré dans Data Catalog**

   Après avoir créé un objet de AWS Glue connexion et l'avoir enregistré auprès de Lake Formation, vous pouvez créer un catalogue fédéré dans le catalogue de données :

   Fournissez au catalogue fédéré un nom unique à`your-federated-catalog-name`, référencez le catalogue dans Snowflake at `catalog-name-in-Snowflake` et un nom de connexion d'entrée créé précédemment à`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": []
   }'
   ```

## Considérations relatives à l'intégration avec Snowflake
<a name="snowflake-considerations"></a>
+ Lorsque vous déposez des ressources (telles que des bases de données et des tables)Snowflake, Lake Formation ne révoque pas automatiquement les autorisations accordées sur cette ressource fédérée. Pour supprimer les autorisations d'accès, vous devez révoquer explicitement les autorisations précédemment accordées sur la ressource fédérée à l'aide de Lake Formation.
+ Lorsque vous montez un catalogue distant avec `CATALOG_CASING_FILTER='UPPERCASE_ONLY'` configuration, les bases de données et les tables avec des identifiants en majuscules sont fédérées, mais pas les objets avec des identifiants en minuscules.
+ Vous pouvez réutiliser la même AWS Glue connexion pour créer plusieurs catalogues fédérés. La suppression d'un catalogue n'entraîne pas la suppression de la connexion associée. Pour supprimer une connexion, utilisez la `aws glue delete-connection` commande AWS CLI et assurez-vous que tous les catalogues associés sont d'abord supprimés.
+ Les espaces de noms imbriqués dans le Polaris catalogue ne sont pas pris en charge. En d'autres termes, la fédération de catalogues peut accéder aux Iceberg tables distantes qui suivent une notation `catalog.database.table` en 3 parties.

# Fédérer pour Databricks Unity Catalog
<a name="catalog-federation-databricks"></a>

AWS Glue Data Catalog se connecte à Databricks l'utilisation des OAuth2 informations d'identification d'un directeur de Databricks service. Ce mécanisme d'authentification permet d'accéder AWS Glue Data Catalog aux métadonnées de divers objets (tels que des catalogues, des bases de données et des tables) en Databricks Unity Catalog fonction des privilèges associés au principal de service. Pour garantir l'accès aux bons objets, il est essentiel d'accorder au principal du service les autorisations nécessaires Databricks pour lire les métadonnées de ces objets.

Ensuite, la fédération de catalogues permet de découvrir et d'interroger Iceberg les tables de votre catalogue Databricks Unity. Pour lire les tables delta, assurez-vous que Iceberg les métadonnées sont disponibles pour ces tables à l'aide deUniform. Suivez le Databricks didacticiel et la documentation pour créer le principal de service et les privilèges associés dans votre Databricks espace de travail.

## Conditions préalables
<a name="catalog-federation-databricks-prerequisites"></a>

Avant de créer un catalogue fédéré dans Data Catalog régi par Lake Formation, assurez-vous de disposer des autorisations suivantes :

Votre principal IAM (utilisateur ou rôle) doit disposer des autorisations suivantes :
+ **Permissions de Lake Formation** —`lakeformation:RegisterResource`, `lakeformation:DescribeResource`
+ **AWS Glue autorisations** — `glue:CreateConnection``glue:CreateCatalog`,`glue:GetConnection`, `glue:PassConnection`
+ **Autorisations du Gestionnaire de Secrets** —`secretsmanager:CreateSecret`, `secretsmanager:GetSecretValue`
+ **Autorisations IAM** —`iam:CreateRole`, `iam:AttachRolePolicy` `iam:PassRole`

Vous devez être un administrateur du lac de Lake Formation ou avoir l'`CREATE_CATALOG`autorisation d'accéder au catalogue de données

## Création d'un catalogue fédéré
<a name="catalog-federation-databricks-create"></a>

### Utilisation de la console
<a name="catalog-federation-databricks-console"></a>

1. Connectez-vous à la console et ouvrez la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Choisissez la AWS région préférée dans la section supérieure droite de la page.

1. Dans le volet de navigation de gauche, choisissez Catalogues.

1. Choisissez **Créer un catalogue** pour ouvrir le **flux de travail de création de catalogue**.

1. Dans l'étape **Choisir une source de données**, Databricks sélectionnez l'une des options disponibles.

1. À l'étape **Définir les détails du catalogue**, vous fournissez trois informations : les détails du catalogue, les détails de connexion et les détails d'enregistrement.

1. Dans le conteneur des **détails du catalogue**, attribuez un nom unique à votre catalogue AWS Glue fédéré et entrez le nom du Databricks catalogue existant.

1. Dans le conteneur **des détails des connexions**, vous pouvez soit choisir une connexion existante à laquelle vous avez accès, soit fournir une configuration pour créer un nouveau connecteur.

1. Les nouvelles configurations de connexion incluent :
   + Nom de connexion : nom unique de l'objet de AWS Glue connexion.
   + URL de l'espace de travail : URL du point de terminaison de votre Databricks espace de travail existant.
   + Authentification — Spécifiez la configuration d'authentification AWS Glue utilisée pour se connecter au serveur de catalogue distant. AWS Glue prend en charge les deux OAuth2 et l'authentification personnalisée.
   + URL du jeton : spécifiez l'URL du fournisseur d'identité du catalogue distant.
   + OAuth2 ID client — Spécifiez l'ID client des OAuth2 informations d'identification associées à votre catalogue distant.
   + Secret — Stockez et utilisez OAuth2 le secret du client en utilisant AWS Secrets Manager ou entrez la valeur du secret dans la zone de texte. Lorsque vous entrez le secret manuellement dans la console, AWS Glue crée le secret en votre nom.
   + Étendue de l'URL du jeton : spécifiez l' OAuth étendue de l'authentification.

1. Créez un rôle IAM que les responsables du service Lake Formation AWS Glue et les responsables du service Lake Formation peuvent utiliser pour accéder respectivement aux emplacements secrets et Amazon S3 des Iceberg tables distantes. Sélectionnez le rôle IAM dans le menu déroulant d'inscription. Reportez-vous aux étapes 2 et 3 de la section CLI suivante pour plus de détails sur la politique IAM.

1. Sélectionnez Tester la connexion pour vérifier si les propriétés de votre connexion et l'accès au rôle IAM sont correctement configurés. La fonctionnalité de test de connexion n'est pas disponible lors de la connexion à Databricks l'aide d'Amazon VPC.

1. Sélectionnez **Suivant** pour vérifier vos paramètres.

1. Sélectionnez **Créer un catalogue** sur la page de révision.

### Utilisation de l’interface de ligne de commande (CLI)
<a name="catalog-federation-databricks-cli"></a>

1. <a name="databricks-step-1"></a>**Créez un AWS Secrets Manager secret**

   Le AWS Glue connecteur prend en charge deux types d'authentification : **OAuth2**l'authentification **personnalisée**. Lorsque vous utilisez l' OAuth2 option, AWS Secrets Manager utilisez-la pour stocker le secret client du principal de Databricks service. Vous utiliserez ce secret ultérieurement lors de la création de la AWS Glue connexion. Pour l'authentification personnalisée, utilisez-le AWS Secrets Manager pour stocker et récupérer le jeton d'accès.

   Dans l'exemple suivant, remplacez `<databricks-secret>``<client_secret>`, `<region>` par vos propres informations.

   ```
   aws secretsmanager create-secret \
   --name <databricks-secret> \
   --description "Databricks secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<client_secret>"
   }' \
   --region <region>
   ```
**Note**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`est un mot clé réservé AWS Glue utilisé pour faire référence à une valeur secrète du client dans le secret. Utilisez également le même mot clé lorsque vous créez le secret dans la console Lake Formation. 

1. <a name="databricks-step-2"></a>**Créez un rôle IAM qui permet à l'objet de AWS Glue connexion d'accéder au secret créé à l'étape précédente**

   L'objet de AWS Glue connexion a besoin d'accéder au AWS Secrets Manager secret lorsque vous l'utilisez AWS Secrets Manager pour stocker, récupérer et actualiser votre jeton OAuth secret. L'objet de AWS Glue connexion nécessite également un accès pour créer, décrire et utiliser les interfaces réseau Amazon VPC lorsque vous utilisez un point de terminaison Amazon VPC pour restreindre la connectivité à votre espace de travail. Databricks

   Créez une politique IAM et associez-la à un rôle IAM. Ajoutez le principal de AWS Glue service à la politique de confiance.

   Dans l'exemple suivant, remplacez `<your-secrets-manager-ARN>``<your-vpc-id>`, et `<your-subnet-id1>` par vos propres informations.  
**Example Stratégie 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 Stratégie d’approbation**  

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

1. <a name="databricks-step-3"></a>**Créez une politique IAM qui donne à Lake Formation un accès en lecture à l'emplacement Amazon S3 du catalogue**

   En tant que propriétaire d'un catalogue fédéré dans Data Catalog, vous utilisez Lake Formation pour accorder un accès grossier aux tables, un accès fin (au niveau des colonnes, des lignes et au niveau des cellules) et un accès basé sur des balises à vos équipes chargées des données. Lake Formation utilise un rôle IAM qui lui permet d'accéder aux emplacements Amazon S3 sous-jacents de vos tables Iceberg distantes. Cet accès permet à Lake Formation de vendre des identifiants d'accès délimités aux moteurs d'analyse interrogeant des tables distantes.

   Créez une politique IAM et attachez-la à un rôle IAM. Ajoutez le principal de service Lake Formation à la politique de confiance des rôles IAM.

   Dans l'exemple suivant, remplacez `<your-s3-bucket-N>` et `<your-kms-key>` par vos propres informations.  
**Example Stratégie 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 Stratégie d’approbation**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**Note**  
Lorsque vous utilisez la console Lake Formation pour créer un catalogue fédéré, la console utilise un seul rôle IAM auquel les deux politiques sont associées pour terminer la configuration.

1. <a name="databricks-step-4"></a>**Création d'un objet AWS Glue de connexion**

   Data Catalog prend en charge ConnectionType `DATABRICKSICEBERGRESTCATALOG` : pour connecter Data Catalog à. Databricks Ce AWS Glue connecteur prend en charge OAuth2 les méthodes d'authentification personnalisées.

   L'exemple suivant utilise la configuration OAuth2 d'authentification pour créer une AWS Glue connexion. Remplacez `highlighed sections` par vos informations.

   ```
   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>**Enregistrer AWS Glue la connexion en tant que ressource Lake Formation**

   À l'aide de l'objet de AWS Glue connexion (créé à l'étape 4) et du rôle IAM (créé à l'étape 3), vous pouvez désormais enregistrer l'objet de AWS Glue connexion en tant que ressource gérée par Lake Formation.

   Remplacez `<your-glue-connector-arn>` et `<your-IAM-role-ARN-having-LF-access>` par vos informations.

   ```
   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>**Création d'un catalogue fédéré dans Data Catalog**

   Après avoir créé un objet de AWS Glue connexion et l'avoir enregistré auprès de Lake Formation, vous pouvez créer un catalogue fédéré dans le catalogue de données :

   Fournissez au catalogue fédéré un nom unique à`<your-federated-catalog-name>`, référencez le catalogue dans Databricks at `"<catalog-name-in-Databricks>` et un nom de connexion d'entrée créé précédemment à`"<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": []
   }'
   ```

## Considérations relatives à l'intégration avec Databricks
<a name="databricks-considerations"></a>
+ Lorsque vous déposez des ressources (telles que des bases de données et des tables) dans leDatabricks, Lake Formation ne révoque pas automatiquement les autorisations accordées sur cette ressource fédérée. Pour supprimer les autorisations d'accès, vous devez révoquer explicitement les autorisations précédemment accordées sur la ressource fédérée à l'aide de Lake Formation.
+ Vous pouvez interroger les tables Iceberg stockées dans Amazon S3 à l'aide de cette intégration. Lorsque vous utilisez un autre format de table ou un autre stockage d'objets, vous pouvez fédérer des métadonnées dans des catalogues distants AWS Glue et répertorier ses bases de données et ses tables, mais les opérations de requête de ce type `SELECT ColumnFoo from TableBar` échoueront lors de la requête avec l'erreur « Impossible de lire la table ». Apache Iceberg L'emplacement de stockage des objets n'est pas pris en charge. '
+ Vous pouvez réutiliser la même AWS Glue connexion pour créer plusieurs catalogues fédérés. La suppression d'un catalogue n'entraîne pas la suppression de l'objet de connexion associé. Pour supprimer un objet de connexion, utilisez la `aws glue delete-connection` commande AWS CLI et assurez-vous que tous les catalogues associés sont d'abord supprimés.