Interrogation de données via AWS Lake Formation - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

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.

Interrogation de données via AWS Lake Formation

L'utilisation AWS Lake Formation facilite la gouvernance et la sécurisation centralisées de votre lac de données, ainsi que la fourniture d'un accès aux données. La configuration de la propagation des identités vers Lake Formation via AWS IAM Identity Center et Redshift permet à un administrateur d'autoriser un accès précis à un lac de données Amazon S3, en fonction des groupes de fournisseurs d'identité (IdP) de l'organisation. Ces groupes sont gérés par le biais d' AWS IAM Identity Center. Cette section explique comment configurer deux cas d'utilisation, l'interrogation depuis un lac de données et l'interrogation depuis un partage de données, qui montrent comment tirer parti d' AWS IAM Identity Center avec Redshift pour se connecter aux ressources gouvernées par Lake Formation.

Utilisation d'une connexion AWS IAM Identity Center et Redshift pour interroger un lac de données

Ces étapes concernent un cas d'utilisation dans lequel vous utilisez AWS IAM Identity Center connecté à Redshift pour interroger un lac de données régi par Lake Formation.

Prérequis

Cette procédure exige plusieurs étapes préalables :

  1. AWS IAM Identity Center doit être configuré pour prendre en charge l'authentification et la gestion des identités avec Redshift. Vous pouvez activer AWS IAM Identity Center depuis la console et sélectionner une source de fournisseur d'identité (IdP). Synchronisez ensuite un ensemble de vos utilisateurs IdP avec AWS IAM Identity Center. Vous devez également configurer une connexion entre AWS IAM Identity Center et Redshift, en suivant les étapes décrites précédemment dans ce document.

  2. Créez un nouveau cluster Amazon Redshift et activez la gestion des identités via AWS IAM Identity Center lors des étapes de configuration.

  3. Créez une application AWS IAM Identity Center gérée pour Lake Formation et configurez-la. Cela fait suite à la configuration de la connexion entre AWS IAM Identity Center et Redshift. La procédure est la suivante :

    1. Dans le AWS CLI, utilisez la modify-redshift-idc-application commande pour activer l'intégration du service Lake Formation à l'application gérée par AWS IAM Identity Center pour Redshift. Cet appel inclut le paramètre service-integrations, qui est défini sur une valeur de chaîne de configuration qui active l’autorisation pour accéder à Lake Formation.

    2. Configurez Lake Formation à l’aide de la commande create-lake-formation-identity-center-configuration. Cela crée une application AWS IAM Identity Center pour Lake Formation, qui est visible sur le portail AWS IAM Identity Center. L'administrateur doit définir l'––cli-input-jsonargument, dont la valeur est le chemin d'accès à un fichier JSON qui utilise le format standard pour tous les appels d'API AWS CLI. Vous devez inclure des valeurs pour :

      • CatalogId : l’identifiant du catalogue Lake Formation.

      • InstanceArn— La valeur ARN de l'instance AWS IAM Identity Center.

Une fois que l’administrateur a terminé la configuration prérequise, l’administrateur de base de données peut créer un schéma externe dans le but d’interroger le lac de données.

  1. L’administrateur crée le schéma externe : l’administrateur de base de données Redshift se connecte à la base de données et crée un schéma externe à l’aide de l’instruction SQL suivante :

    CREATE EXTERNAL SCHEMA if not exists my_external_schema from DATA CATALOG database 'my_lf_integrated_db' catalog_id '12345678901234';

    Notez que la spécification d'un rôle IAM n'est pas requise dans ce cas, car l'accès est géré via AWS IAM Identity Center.

  2. L'administrateur accorde des autorisations : l'administrateur accorde l'utilisation à un groupe AWS IAM Identity Center, qui accorde des autorisations sur les ressources Redshift. Cela s’effectue en exécutant une instruction SQL telle que la suivante :

    GRANT USAGE ON SCHEMA "my_external_schema" to "MYCO:sales";

    Par la suite, l'administrateur accorde à Lake Formation des autorisations sur les objets, en fonction des exigences de l'organisation, à l'aide de la AWS CLI :

    aws lakeformation grant-permissions ...
  3. Les utilisateurs exécutent des requêtes : à ce stade, un utilisateur d' AWS IAM Identity Center qui fait partie du groupe de vente peut, à des fins d'illustration, se connecter via l'éditeur de requêtes v2 à la base de données Redshift. Il peut ensuite exécuter une requête qui accède à une table dans le schéma externe, comme dans l’exemple suivant :

    SELECT * from my_external_schema.table1;

Utilisation d'une connexion AWS IAM Identity Center et Redshift pour se connecter à un partage de données

Vous pouvez accéder à un partage de données depuis un autre entrepôt de données Redshift lorsque l'accès est géré via AWS IAM Identity Center. Pour ce faire, vous devez exécuter une requête pour configurer une base de données externe. Avant de terminer ces étapes, il est supposé que vous avez établi une connexion entre Redshift et AWS IAM Identity Center, et que vous avez créé l' AWS Lake Formation application, comme indiqué dans la procédure précédente.

  1. Création de la base de données externe : l’administrateur crée une base de données externe pour le partage des données, en la référençant via son ARN. Voici un exemple qui montre comment procéder :

    CREATE DATABASE "redshift_external_db" FROM ARN 'arn:aws:glue:us-east-1:123456789012:database/redshift_external_db-iad' WITH NO DATA CATALOG SCHEMA;

    Dans ce cas d'utilisation, où vous utilisez AWS IAM Identity Center avec Redshift pour la gestion des identités, le rôle IAM n'est pas inclus.

  2. L'administrateur définit les autorisations : après avoir créé une base de données, l'administrateur accorde l'utilisation à un groupe AWS IAM Identity Center. Cela accorde des autorisations sur les ressources Redshift :

    GRANT USAGE ON DATABASE "my_external_db" to "MYCO:sales";

    L’administrateur accorde également à Lake Formation des autorisations sur les objets, à l’aide de l’interface de ligne de commande AWS  :

    aws lakeformation grant-permissions ...
  3. Les utilisateurs exécutent des requêtes : un utilisateur du groupe de vente peut interroger une table figurant dans la base de données, en fonction des autorisations attribuées :

    select * from redshift_external_db.public.employees;

Pour plus d’informations sur l’octroi d’autorisations sur un lac de données et sur l’octroi d’autorisations sur les partages de données, consultez Octroi d’autorisations aux utilisateurs et aux groupes. Pour plus d’informations sur l’octroi de l’autorisation d’utilisation à un schéma ou à une base de données, consultez GRANT.