Cas d'utilisation: Contrôle des accès avec des comptes de service d'espace de noms

Cette page décrit le cas d'utilisation où vous contrôlez l'accès aux ressources Google Cloudau niveau du nom d'espace lorsque vous migrez des données de Cloud Storage vers BigQuery.

Pour contrôler l'accès aux ressources Google Cloud , les espaces de noms dans Cloud Data Fusion utilisent par défaut l'agent de service de l'API Cloud Data Fusion.

Pour une meilleure isolation des données, vous pouvez associer un compte de service IAM personnalisé (appelé compte de service par espace de noms) à chaque espace de noms. Le compte de service IAM personnalisé, qui peut être différent pour différents espaces de noms, vous permet de contrôler l'accès aux ressourcesGoogle Cloud entre les espaces de noms pour les opérations de conception du pipeline dans Cloud Data Fusion, telles que l'aperçu du pipeline, Wrangler et la validation du pipeline.

Pour en savoir plus, consultez la section Contrôle des accès avec des comptes de service d'espace de noms.

Scénario

Dans ce cas d'utilisation, votre service marketing migre des données de Cloud Storage vers BigQuery à l'aide de Cloud Data Fusion.

Pipeline de données montrant la source Cloud Storage, la transformation Wrangler et le récepteur BigQuery.

Le service marketing compte trois équipes: A, B et C. Votre objectif est d'établir une approche structurée pour contrôler l'accès aux données dans Cloud Storage via des espaces de noms Cloud Data Fusion correspondant à chaque équipe : A, B et C, respectivement.

Solution

Les étapes suivantes vous expliquent comment contrôler l'accès aux ressources Google Cloud avec des comptes de service d'espace de noms, ce qui empêche tout accès non autorisé entre les datastores de différentes équipes.

Associer un compte de service Identity and Access Management à chaque espace de noms

Configurez un compte de service IAM dans l'espace de noms pour chaque équipe (voir Configurer un compte de service d'espace de noms):

  1. Configurez le contrôle des accès en ajoutant un compte de service personnalisé pour l'équipe A (par exemple, team-a@pipeline-design-time-project.iam.gserviceaccount.com).

    Configurez un compte de service pour l'équipe A.
    Figure 1: Ajout d'un compte de service personnalisé pour l'équipe A.
  2. Répétez les étapes de configuration pour les équipes B et C afin de configurer le contrôle des accès avec des comptes de service personnalisés similaires.

Limiter l'accès aux buckets Cloud Storage

Limitez l'accès aux buckets Cloud Storage en accordant les autorisations appropriées:

  1. Accordez au compte de service IAM l'autorisation storage.buckets.list, requise pour lister les buckets Cloud Storage dans le projet. Pour en savoir plus, consultez la section Répertorier des buckets.
  2. Accordez au compte de service IAM l'autorisation d'accéder aux objets de buckets spécifiques.

    Par exemple, attribuez le rôle Lecteur des objets Storage au compte de service IAM associé au nom d'espace team_A sur le bucket team_a1. Cette autorisation permet à l'équipe A d'afficher et de lister les objets et les dossiers gérés, ainsi que leurs métadonnées, dans ce bucket dans un environnement de conception isolé.

    Accordez le rôle sur la page d'informations sur le bucket.
    Figure 2: Sur la page Buckets (Buckets) de Cloud Storage, ajoutez l'équipe en tant qu'entité principale et attribuez-lui le rôle "Utilisateur d'objets Storage".

Créer la connexion Cloud Storage dans les espaces de noms respectifs

Créez une connexion Cloud Storage dans l'espace de noms de chaque équipe:

  1. Dans la console Google Cloud, accédez à la page Instances de Cloud Data Fusion, puis ouvrez une instance dans l'interface Web de Cloud Data Fusion.

    Accéder à la page "Instances"

  2. Cliquez sur Administrateur système > Configuration > Espaces de noms.

  3. Cliquez sur l'espace de noms que vous souhaitez utiliser, par exemple l'espace de noms de l'équipe A.

  4. Cliquez sur l'onglet Connexions, puis sur Ajouter une connexion.

  5. Sélectionnez GCS, puis configurez la connexion.

    Créer la connexion Cloud Storage dans Cloud Data Fusion
    Figure 3: Configurez la connexion Cloud Storage pour l'espace de noms.
  6. Créez une connexion Cloud Storage pour chaque espace de noms en répétant les étapes précédentes. Chaque équipe peut ensuite interagir avec une copie isolée de cette ressource pour ses opérations au moment de la conception.

Valider l'isolation au moment de la conception pour chaque espace de noms

L'équipe A peut valider l'isolation lors de la conception en accédant aux buckets Cloud Storage dans leurs espaces de noms respectifs:

  1. Dans la console Google Cloud, accédez à la page Instances de Cloud Data Fusion, puis ouvrez une instance dans l'interface Web de Cloud Data Fusion.

    Accéder à la page "Instances"

  2. Cliquez sur Administrateur système > Configuration > Espaces de noms.

  3. Sélectionnez un espace de noms, par exemple l'espace de noms de l'équipe A, team_A.

  4. Cliquez sur Menu > Wrangler.

  5. Cliquez sur GCS.

  6. Dans la liste des buckets, cliquez sur le bucket team_a1.

    • Vous pouvez afficher la liste des buckets, car l'espace de noms de l'équipe A dispose de l'autorisation storage.buckets.list.

    • Lorsque vous cliquez sur le bucket, vous pouvez afficher son contenu, car l'espace de noms de l'équipe A dispose du rôle Lecteur des objets de l'espace de stockage.

    Validez la connexion Cloud Storage pour l'équipe A. Vérifiez que l'équipe A peut accéder aux buckets.
    Figures 4 et 5: Vérifiez que l'équipe A peut accéder au bucket de stockage approprié.
  7. Revenez à la liste des buckets, puis cliquez sur le bucket team_b1 ou team_c1. L'accès est limité, car vous avez isolé cette ressource de temps de conception pour l'équipe A à l'aide de son compte de service d'espace de noms.

    Vérifiez que l'équipe A ne peut pas accéder aux ressources limitées.
    Figure 6: Vérifiez que l'équipe A ne peut pas accéder aux buckets de stockage des équipes B et C.

Étape suivante

  • En savoir plus sur les fonctionnalités de sécurité dans Cloud Data Fusion