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 Cloud au 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 (appelé compte de service par espace de noms) avec chaque espace de noms. Le compte de service IAM personnalisé, qui peut être différent pour les différents espaces de noms, vous permet de contrôler l'accès Ressources Google Cloud entre les espaces de noms pour la conception du pipeline opérations 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 expliquent comment contrôler l'accès aux ressources Google Cloud avec les 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).

    Configurer un compte de service pour l'équipe A
    Figure 1: Ajouter 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. Attribuez le rôle storage.buckets.list au compte de service IAM. requise pour lister les buckets Cloud Storage du 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 de l'espace de stockage 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 lister les objets et les dossiers gérés, ainsi que leurs métadonnées, dans un environnement isolé au moment de la conception.

    Accordez le rôle sur la page "Informations sur le bucket".
    Figure 2: Buckets Cloud Storage ajoutez l'équipe en tant que compte principal et attribuez-lui le rôle "Utilisateur des 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 à Cloud Data Fusion Instances et ouvrez une instance dans le Web Cloud Data Fusion. de commande.

    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 celui de l'équipe A.

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

  5. Sélectionnez GCS et configurez la connexion.

    Créer la connexion Cloud Storage dans Cloud Data Fusion
    Figure 3: Configuration de 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 alors interagir avec un une copie de cette ressource pour leurs 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 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érifier que l'équipe A peut accéder aux le bucket de stockage approprié.
  7. Revenez à la liste des buckets et 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