

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 en sources de données externes dans le AWS Glue Data Catalog
<a name="federated-catalog-data-connection"></a>

 Vous pouvez connecter le AWS Glue Data Catalog (catalogue de données) à des entrepôts de données tels qu'Amazon Redshift, Snowflake, à des bases de données cloud telles qu'Amazon RDS, Oracle, Amazon DynamoDBà des services de streaming tels qu'Amazon MSK, et à des systèmes sur site tels que Teradata à l'aide de connexions. AWS Glue Ces connexions sont enregistrées dans le AWS Glue Data Catalog et enregistrées auprès de celui-ci AWS Lake Formation, ce qui vous permet de créer un catalogue fédéré pour chaque source de données disponible. 

 Un *catalogue fédéré* est un conteneur de niveau supérieur qui pointe vers une base de données dans un système de données externe. Il vous permet d'interroger les données directement depuis le système de données externe sans processus d'extraction, de transformation et de chargement (ETL). 

Pour plus d'informations sur AWS Glue les connexions, consultez la section [Connexion aux données](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) dans le Guide du AWS Glue développeur.

Les administrateurs de data lake peuvent créer des catalogues fédérés à l'aide d'[Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse.html) ou. [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/connect-to-a-data-source.html)

Les administrateurs de data lake peuvent ensuite accorder des autorisations détaillées sur les objets du catalogue à l'aide de Lake Formation, en contrôlant l'accès à différents niveaux tels que le catalogue, la base de données, la table, la colonne, la ligne ou la cellule. Les analystes de données peuvent découvrir et interroger les sources de données cataloguées à l'aide d'Athena, Lake Formation appliquant les politiques d'accès définies. Les analystes peuvent joindre des données provenant de plusieurs sources en une seule requête sans avoir à se connecter à chaque source individuellement. 

**Topics**
+ [Flux de travail](#connect-data-source-workflow)
+ [Conditions requises pour connecter le catalogue de données à des sources de données externes](connect-data-source-prerequisites.md)
+ [Création d'un catalogue fédéré à l'aide d'une connexion AWS Glue](create-fed-catalog-data-source.md)
+ [Affichage des objets du catalogue](view-fed-glue-connection-catalog.md)
+ [Supprimer un catalogue fédéré](delete-glue-fed-catalog.md)
+ [Interrogation de catalogues fédérés](query-glue-fed-catalog.md)
+ [Ressources supplémentaires](additional-resources-fed-connection.md)

## Flux de travail
<a name="connect-data-source-workflow"></a>

Un administrateur de lac de données ou un utilisateur disposant des autorisations requises effectue les étapes suivantes pour le connecter AWS Glue Data Catalog à une source de données externe.

1.  Crée une AWS Glue connexion à la source de données. Lorsque vous enregistrez la connexion, le rôle IAM utilisé pour enregistrer la connexion doit avoir accès à la fonction Lambda et à l'emplacement du compartiment de déversement Amazon S3. 

1.  Enregistre le lien avec Lake Formation. 

1.  Crée un catalogue fédéré dans le catalogue de données à l'aide d'une AWS Glue connexion pour se connecter aux sources de données disponibles. Les bases de données, les tables et les vues sont automatiquement cataloguées dans le catalogue de données et enregistrées auprès de Lake Formation. 

1.  Accorde l'accès à des catalogues, bases de données et tables spécifiques aux analystes de données à l'aide des autorisations de Lake Formation. Des politiques de contrôle d'accès précises peuvent être définies pour les lacs de données, les entrepôts et les sources OLTP à l'aide de Lake Formation, ce qui permet d'activer des filtres de sécurité au niveau des lignes et des colonnes. 

    Les analystes de données peuvent ensuite accéder à toutes les données via le catalogue de données à l'aide de requêtes SQL dans Athena, sans avoir besoin de connexions distinctes ni d'informations d'identification de source de données. Les analystes peuvent exécuter des requêtes SQL fédérées qui analysent les données provenant de sources multiples, en joignant les données sur place sans pipelines de données complexes. 

# Conditions requises pour connecter le catalogue de données à des sources de données externes
<a name="connect-data-source-prerequisites"></a>

Pour vous connecter AWS Glue Data Catalog à des sources de données externes, enregistrer la connexion auprès de Lake Formation et configurer des catalogues fédérés, vous devez remplir les conditions suivantes :
**Note**  
Nous recommandons à un administrateur du lac de données de Lake Formation de créer les AWS Glue connexions pour se connecter aux sources de données externes et de créer les catalogues fédérés. 

1. 

**Création des rôles IAM.**
   +  Créez un rôle doté des autorisations nécessaires pour déployer les ressources (fonction Lambda, compartiment de déversement Amazon S3, rôle IAM et AWS Glue connexion) requises pour créer une connexion à la source de données externe. 
   + Créez un rôle doté des autorisations minimales nécessaires pour accéder aux propriétés de AWS Glue connexion (fonction Lambda et compartiment de déversement Amazon S3). C'est le rôle que vous allez inclure lorsque vous enregistrez la connexion avec Lake Formation.

     Pour utiliser Lake Formation pour gérer et sécuriser les données de votre lac de données, vous devez enregistrer la AWS Glue connexion auprès de Lake Formation. Lake Formation peut ainsi vendre des informations d'identification à Amazon Athena pour interroger les sources de données fédérées. 

     Le rôle doit disposer `Select` d'`Describe`autorisations sur le compartiment Amazon S3 et sur la fonction 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": "*"
         }
       ]
     }
     ```

------
   + Ajoutez la politique de confiance suivante au rôle IAM utilisé lors de l'enregistrement de la connexion :

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

****  

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

------
   + L'administrateur du lac de données qui enregistre la connexion doit disposer de l'`iam:PassRole`autorisation associée au rôle.

     Voici une politique intégrée qui accorde cette autorisation. Remplacez *<account-id>* par un numéro de AWS compte valide et remplacez *<role-name>* par le nom du rôle.

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

****  

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

------
   +  Pour créer des catalogues fédérés dans Data Catalog, assurez-vous que le rôle IAM que vous utilisez est un administrateur de lac de données de Lake Formation en vérifiant les paramètres du lac de données (). `aws lakeformation get-data-lake-settings`

      Si vous n'êtes pas administrateur de data lake, vous devez disposer de l'`CREATE_CATALOG`autorisation Lake Formation pour créer un catalogue. L'exemple suivant montre comment accorder les autorisations requises pour créer des catalogues. 

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

1. Ajoutez la politique de clé suivante à la AWS KMS clé si vous utilisez une clé gérée par le client pour chiffrer les données de la source de données. Remplacez le numéro de compte par un numéro de AWS compte valide et spécifiez le nom du rôle. Par défaut, les données sont chiffrées à l'aide d'une clé KMS. Lake Formation propose une option permettant de créer votre clé KMS personnalisée pour le chiffrement. Si vous utilisez une clé gérée par le client, vous devez ajouter des politiques clés spécifiques à la clé. 

   Pour plus d’informations sur la gestion des autorisations d’une clé gérée par le client, consultez [Clés gérées par le client](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"
           }
       ]
   }
   ```

------

# Création d'un catalogue fédéré à l'aide d'une connexion AWS Glue
<a name="create-fed-catalog-data-source"></a>

 Pour connecter les sources AWS Glue Data Catalog de données externes, vous devez utiliser des AWS Glue connexions qui permettent la communication avec les sources de données externes. Vous pouvez créer des AWS Glue connexions à l'aide de la AWS Glue console, de l'API [Create connection](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateConnection.html) et de la console Amazon SageMaker Lakehouse. 

Pour obtenir des instructions détaillées sur la création d'une AWS Glue connexion, consultez [Connexion aux données](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) dans le guide du AWS Glue développeur ou [Création de connexions dans Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html). 

Lorsqu'un utilisateur exécute une requête sur des tables fédérées, Lake Formation envoie des informations d'identification qui invoquent une AWS Lambda fonction spécifiée dans la AWS Glue connexion pour récupérer des objets de métadonnées depuis la source de données. 

------
#### [ AWS Management Console ]

**Pour créer un catalogue fédéré à partir d'une source de données externe et configurer des autorisations (console)**

1. Ouvrez la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Dans le volet de navigation, sélectionnez **Catalogues** sous **Catalogue de données**.

1. Sélectionnez l'option **Créer un catalogue**. 

1. Sur la **page de détails du catalogue**, entrez les informations suivantes :   
![\[La page de création de catalogue avec options.\]](http://docs.aws.amazon.com/fr_fr/lake-formation/latest/dg/images/create-glue-connection-catalog.png)
   + **Nom : nom** unique pour votre catalogue fédéré. Le nom ne peut pas être modifié et doit être en minuscules. Le nom peut comporter un maximum de 255 caractères. compte. 
   + **Type** — Choisissez le catalogue fédéré comme type de catalogue.
   + **Source** : choisissez une source de données dans la liste déroulante. Les sources de données pour lesquelles vous avez créé des connexions s’affichent. Pour plus d'informations sur la création d'une AWS Glue connexion à une source de données externe, consultez [Création de connexions pour les connecteurs](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) dans le Guide du AWS Glue développeur ou [Création de connexions dans Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html).
   + **Connexion** : choisissez une AWS Glue connexion existante à la source de données.
   + **Description** — Entrez une description pour le catalogue créé à partir de la source de données.

1. Choisissez un **rôle IAM** que Lake Formation assumera pour vendre les informations d'identification permettant au moteur de requête d'accéder aux données depuis la source de données. Ce rôle doit disposer des autorisations requises pour accéder à la AWS Glue connexion et appeler la fonction Lambda pour accéder aux données de la source de données externe.

   Vous pouvez également **créer un nouveau rôle** dans la console IAM.

   Consultez la [Conditions requises pour connecter le catalogue de données à des sources de données externes](connect-data-source-prerequisites.md) section pour connaître les autorisations requises.

1.  Sélectionnez l'option **Activer le connecteur pour vous connecter à la source de données** afin de permettre à Athena d'exécuter des requêtes fédérées.

   Pour obtenir la liste des connecteurs pris en charge, consultez la section [Enregistrer votre connexion](https://docs.aws.amazon.com/athena/latest/ug/register-connection-as-gdc.html) dans le guide de l'utilisateur Amazon Athena. 

1. **Options de chiffrement** — Choisissez l'option **Personnaliser les paramètres de chiffrement** si vous souhaitez utiliser une clé personnalisée pour chiffrer le catalogue. Pour utiliser une clé personnalisée, vous devez ajouter une stratégie de clé gérée personnalisée supplémentaire à votre clé KMS. 

1. Choisissez **Next** pour accorder des autorisations aux autres principaux. 

1. Sur la page **Accorder des autorisations**, choisissez **Ajouter des autorisations**.

1.  Sur l'écran **Ajouter des autorisations**, choisissez les principes et les types d'autorisations à accorder.   
![\[La page des autorisations du catalogue avec le type principal et les options de subvention.\]](http://docs.aws.amazon.com/fr_fr/lake-formation/latest/dg/images/catalog-permissions.png)
   +  Dans la section **Principaux**, choisissez un type de principal, puis spécifiez les principaux auxquels octroyer des autorisations. 
     + **Utilisateurs et rôles IAM** : choisissez un ou plusieurs utilisateurs ou rôles dans la liste des utilisateurs et des rôles IAM.
     + **Utilisateurs et groupes SAML** : pour le SAML et Amazon Quick les utilisateurs et groupes, entrez un ou plusieurs Amazon Resource Names (ARNs) pour les utilisateurs ou les groupes fédérés via SAML, ou pour les utilisateurs ou groupes ARNs Amazon Quick. Appuyez sur **Entrée** après chaque ARN. 
   +  Dans la section **Autorisations**, sélectionnez les autorisations et les autorisations octroyables.

     Sous **Autorisations du catalogue**, sélectionnez une ou plusieurs autorisations à octroyer.

     Choisissez **Super utilisateur** pour octroyer des autorisations administratives illimitées sur toutes les ressources du catalogue.

      Sous **Autorisations pouvant être accordées**, sélectionnez les autorisations que le bénéficiaire de la subvention peut accorder aux autres principaux de son compte. AWS Cette option n’est pas prise en charge lorsque vous octroyez des autorisations à un principal IAM à partir d’un compte externe. 

1. Choisissez **Next** pour consulter les informations et créer le catalogue. La liste **des catalogues** présente le nouveau catalogue fédéré.

   La liste **des emplacements des données** indique la connexion fédérée récemment enregistrée.  
![\[La liste des emplacements de données avec les connexions fédérées.\]](http://docs.aws.amazon.com/fr_fr/lake-formation/latest/dg/images/federated_data_lake_location.png)

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

**Pour créer un catalogue fédéré à partir d'une source de données externe et configurer des autorisations**

1.  L'exemple suivant montre comment créer une AWS Glue connexion. 

   ```
   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.  L'exemple suivant montre comment enregistrer une AWS Glue connexion avec 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.  L'exemple suivant montre comment créer un catalogue fédéré. 

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

------

# Affichage des objets du catalogue
<a name="view-fed-glue-connection-catalog"></a>

Pour chaque source de données disponible, AWS Glue crée un catalogue correspondant dans le AWS Glue Data Catalog. Après avoir créé un catalogue, vous pouvez afficher les bases de données et les tables du catalogue à l'aide de la console Lake Formation ou AWS CLI. Dans 

1. Ouvrez la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Choisissez **Catalogues** sous Catalogue de données. La page des catalogues affiche les catalogues pour lesquels vous avez des autorisations.  
![\[Consultez les catalogues.\]](http://docs.aws.amazon.com/fr_fr/lake-formation/latest/dg/images/view-catalogs.png)

1. Choisissez un catalogue dans la liste pour afficher les bases de données et les tables qu'il contient. La liste contient les bases de données de votre compte et les liens vers les ressources, qui sont des liens vers des bases de données partagées et des tables dans des comptes externes, et sont utilisés pour l'accès entre comptes aux données du lac de données.  
![\[Afficher les catalogues/bases de données.\]](http://docs.aws.amazon.com/fr_fr/lake-formation/latest/dg/images/catalog-database-view.png)

1. Choisissez l'option **Tables** sous **Afficher** pour afficher et gérer les tables de la base de données. 

****AWS CLI exemples de visualisation de catalogues et de bases de données****  
L'exemple suivant montre comment afficher un catalogue à l'aide de AWS CLI 

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

L'exemple suivant montre comment demander tous les catalogues du compte.

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

L'exemple de demande suivant montre comment obtenir les bases de données dans le catalogue.

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

# Supprimer un catalogue fédéré
<a name="delete-glue-fed-catalog"></a>

 Vous pouvez supprimer les catalogues fédérés que vous avez créés à l' AWS Glue Data Catalog aide de l'`glue:DeleteCatalog`opération ou de la console. AWS Lake Formation 

**Pour supprimer un catalogue fédéré (console)**

1. Ouvrez la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Dans le volet de navigation, sélectionnez **Catalogues** sous **Catalogue de données**.

1. Choisissez le catalogue que vous souhaitez supprimer dans la liste des catalogues.

1. Choisissez **Supprimer** des **actions**. 

1. Choisissez **Supprimer** pour confirmer et le catalogue fédéré sera supprimé du catalogue de données.  
![\[Confirmation de suppression du catalogue.\]](http://docs.aws.amazon.com/fr_fr/lake-formation/latest/dg/images/delete-fed-catalog.png)

**Pour supprimer un catalogue fédéré (CLI)**
+ 

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

# Interrogation de catalogues fédérés
<a name="query-glue-fed-catalog"></a>

Une fois que vous avez accordé des autorisations aux autres principaux, ils peuvent se connecter et commencer à interroger les tables des catalogues fédérés à l'aide d'Athena.

Pour créer et supprimer des tables dans la base de données fédérée, le principal doit disposer des `Drop` autorisations Lake Formation`Create table`.

 Pour plus d'informations sur l'octroi d'autorisations au catalogue de données, consultez[Octroi d'autorisations sur les ressources du catalogue de données](granting-catalog-permissions.md). 

Pour plus d'informations sur l'interrogation du catalogue de données Amazon Athena, consultez la section [Interrogation depuis le guide AWS Glue Data Catalog de](https://docs.aws.amazon.com/athena/latest/ug/gdc-register.html) l' Amazon Athena utilisateur d'Amazon Athena. 

# Ressources supplémentaires
<a name="additional-resources-fed-connection"></a>

 Dans ce billet de blog, nous expliquons comment les analystes de données peuvent désormais accéder et interroger en toute sécurité les données stockées en dehors des lacs de données S3, y compris les entrepôts de données et les Amazon DynamoDB bases de données Amazon Redshift, le tout via une expérience unique et unifiée. Les administrateurs peuvent désormais appliquer des contrôles d'accès à différents niveaux de granularité pour garantir la protection des données sensibles tout en élargissant l'accès aux données. Cela permet aux entreprises d'accélérer les initiatives relatives aux données tout en préservant la sécurité et la conformité, ce qui permet de prendre des décisions plus rapides et axées sur les données. 
+ [Cataloguez et gérez les requêtes fédérées Amazon Athena avec Amazon Lakehouse SageMaker ](https://aws.amazon.com/blogs/big-data/catalog-and-govern-amazon-athena-federated-queries-with-amazon-sagemaker-lakehouse/)