Cette page explique comment gérer le contrôle des accès lorsque vous déployez et exécutez un pipeline qui utilise des clusters Managed Service pour Apache Spark dans un autre Google Cloud projet.
Scénario
Par défaut, lorsqu'une instance Cloud Data Fusion est lancée dans un Google Cloud projet, elle déploie et exécute des pipelines à l'aide de clusters Managed Service pour Apache Spark dans le même projet. Toutefois, votre organisation peut vous demander d'utiliser des clusters dans un autre projet. Dans ce cas d'utilisation, vous devez gérer l'accès entre les projets. La page suivante explique comment modifier les configurations de référence (par défaut) et appliquer les contrôles d'accès appropriés.
Avant de commencer
Pour comprendre les solutions de ce cas d'utilisation, vous devez disposer du contexte suivant :
- Connaissances de base sur les concepts Cloud Data Fusion
- Connaissances de base sur Identity and Access Management (IAM) pour Cloud Data Fusion
- Connaissances de base sur la mise en réseau Cloud Data Fusion
Hypothèses et champ d'application
Ce cas d'utilisation présente les exigences suivantes :
- Une instance Cloud Data Fusion privée. Pour des raisons de sécurité, une organisation peut vous demander d'utiliser ce type d'instance.
- Une source et un récepteur BigQuery.
- Contrôle des accès avec IAM, et non contrôle d'accès basé sur les rôles.
Solution
Cette solution compare l'architecture et la configuration de référence à celles spécifiques au cas d'utilisation.
Architecture
Les schémas suivants comparent l'architecture du projet pour la création d'une instance Cloud Data Fusion et l'exécution de pipelines lorsque vous utilisez des clusters dans le même projet (de référence) et dans un autre projet via le VPC du projet locataire.
Architecture de référence
Ce schéma présente l'architecture de référence des projets :

Pour la configuration de référence, vous créez une instance Cloud Data Fusion privée et exécutez un pipeline sans personnalisation supplémentaire :
- Vous utilisez l'un des profils de calcul intégrés.
- La source et le récepteur se trouvent dans le même projet que l'instance.
- Aucun rôle supplémentaire n'a été attribué à l'un des comptes de service.
Pour en savoir plus sur les projets locataires et clients, consultez la section Mise en réseau.
Architecture du cas d'utilisation
Ce schéma présente l'architecture du projet lorsque vous utilisez des clusters dans un autre projet :

Configurations
Les sections suivantes comparent les configurations de référence aux configurations spécifiques au cas d'utilisation pour l'utilisation de clusters Managed Service pour Apache Spark dans un autre projet via le VPC par défaut du projet locataire.
Dans les descriptions de cas d'utilisation suivantes, le projet client est celui dans lequel l'instance Cloud Data Fusion s'exécute, et le projet Managed Service pour Apache Spark est celui dans lequel le cluster Managed Service pour Apache Spark est lancé.
VPC et instance du projet locataire
| Référence | Cas d'utilisation |
|---|---|
Dans le schéma d'architecture de référence précédent, le projet locataire
contient les composants suivants :
|
Aucune configuration supplémentaire n'est nécessaire pour ce cas d'utilisation. |
Projet client
| Référence | Cas d'utilisation |
|---|---|
| Votre Google Cloud projet est celui dans lequel vous déployez et exécutez des pipelines. Par défaut, les clusters Managed Service pour Apache Spark sont lancés dans ce projet lorsque vous exécutez vos pipelines. | Dans ce cas d'utilisation, vous gérez deux projets. Sur cette page, le
projet client fait référence à l'endroit où l'instance Cloud Data Fusion
s'exécute. Le projet Managed Service pour Apache Spark fait référence à l'endroit où les clusters Managed Service pour Apache Spark sont lancés. |
VPC client
| Référence | Cas d'utilisation |
|---|---|
De votre point de vue (celui du client), le VPC client est l'endroit où Cloud Data Fusion est situé logiquement. Point clé Vous trouverez les détails du VPC client sur la page "Réseaux VPC" de votre projet. |
Aucune configuration supplémentaire n'est nécessaire pour ce cas d'utilisation. |
Sous-réseau Cloud Data Fusion
| Référence | Cas d'utilisation |
|---|---|
De votre point de vue (celui du client), ce sous-réseau est l'endroit où Cloud Data Fusion est situé logiquement. Point clé La région de ce sous-réseau est la même que celle de l'instance Cloud Data Fusion dans le projet locataire. |
Aucune configuration supplémentaire n'est nécessaire pour ce cas d'utilisation. |
Sous-réseau Managed Service pour Apache Spark
| Référence | Cas d'utilisation |
|---|---|
Le sous-réseau dans lequel les clusters Managed Service pour Apache Spark sont lancés lorsque vous exécutez un pipeline. Points clés :
|
Il s'agit d'un nouveau sous-réseau dans lequel les clusters Managed Service pour Apache Spark sont lancés lorsque vous exécutez un pipeline. Points clés :
|
Sources et récepteurs
| Référence | Cas d'utilisation |
|---|---|
Les sources à partir desquelles les données sont extraites et les récepteurs dans lesquels les données sont chargées, tels que les sources et les récepteurs BigQuery. Point clé:
|
Les configurations de contrôle des accès spécifiques au cas d'utilisation sur cette page concernent les sources et les récepteurs BigQuery. |
Cloud Storage
| Référence | Cas d'utilisation |
|---|---|
Le bucket de stockage dans le projet client qui permet de transférer des fichiers entre Cloud Data Fusion et Managed Service for Apache Spark. Points clés :
|
Aucune configuration supplémentaire n'est nécessaire pour ce cas d'utilisation. |
Buckets temporaires utilisés par la source et le récepteur
| Référence | Cas d'utilisation |
|---|---|
Les buckets temporaires créés par les plug-ins pour vos sources et récepteurs, tels que les tâches de chargement initiées par le plug-in récepteur BigQuery. Points clés :
|
Pour ce cas d'utilisation, le bucket peut être créé dans n'importe quel projet. |
Buckets qui sont des sources ou des récepteurs de données pour les plug-ins
| Référence | Cas d'utilisation |
|---|---|
| Buckets client, que vous spécifiez dans les configurations des plug-ins, tels que le plug-in Cloud Storage et le plug-in FTP vers Cloud Storage. | Aucune configuration supplémentaire n'est nécessaire pour ce cas d'utilisation. |
IAM : agent de service de l'API Cloud Data Fusion
| Référence | Cas d'utilisation |
|---|---|
Lorsque l'API Cloud Data Fusion est activée, le
rôle Agent de service de l'API Cloud
Data Fusion
( Points clés :
|
Pour ce cas d'utilisation, attribuez le rôle Agent de service de l'API Cloud Data Fusion au compte de service dans le projet Managed Service pour Apache Spark. Attribuez ensuite les rôles suivants dans ce projet :
|
IAM : compte de service Managed Service pour Apache Spark
| Référence | Cas d'utilisation |
|---|---|
Le compte de service utilisé pour exécuter le pipeline en tant que tâche dans le cluster Managed Service pour Apache Spark. Par défaut, il s'agit du compte de service Compute Engine. Facultatif : dans la configuration de référence, vous pouvez remplacer le compte de service par défaut compte de service par un autre compte de service du même projet. Attribuez les rôles IAM suivants au nouveau compte de service :
|
Cet exemple de cas d'utilisation suppose que vous utilisez le compte de service Compute Engine par défaut ( Attribuez les rôles suivants au compte de service Compute Engine par défaut dans le projet Managed Service pour Apache Spark.
Attribuez le rôle Utilisateur du compte de service au compte de service Cloud Data Fusion sur le compte de service Compute Engine par défaut du projet Managed Service pour Apache Spark. Cette action doit être effectuée dans le projet Managed Service pour Apache Spark. Ajoutez le compte de service Compute Engine par défaut du projet Managed Service pour Apache Spark au projet Cloud Data Fusion. Attribuez également les rôles suivants :
|
API
| Référence | Cas d'utilisation |
|---|---|
Lorsque vous activez l'API Cloud Data Fusion, les API suivantes sont
également activées. Pour en savoir plus sur ces API, accédez à la
page "API et services" de votre projet.
Lorsque vous activez l'API Cloud Data Fusion, les comptes de service suivants sont automatiquement ajoutés à votre projet :
|
Pour ce cas d'utilisation, activez les API suivantes dans le projet qui
contient le projet Managed Service pour Apache Spark :
|
Clés de chiffrement
| Référence | Cas d'utilisation |
|---|---|
Dans la configuration de référence, les clés de chiffrement peuvent être gérées par Google ou CMEK Points clés : Si vous utilisez CMEK, votre configuration de référence nécessite les éléments suivants :
En fonction des services utilisés dans votre pipeline, tels que BigQuery ou Cloud Storage, le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS doit également être attribué aux comptes de service :
|
Si vous n'utilisez pas CMEK, aucune modification supplémentaire n'est nécessaire pour ce cas d'utilisation. Si vous utilisez CMEK, le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS doit être attribué au compte de service suivant au niveau de la clé dans le projet où elle est créée :
En fonction des services utilisés dans votre pipeline, tels que BigQuery ou Cloud Storage, le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS doit également être attribué à d'autres comptes de service au niveau de la clé. Exemple :
|
Une fois ces configurations spécifiques au cas d'utilisation effectuées, votre pipeline de données peut commencer à s'exécuter sur des clusters dans un autre projet.
Étape suivante
- En savoir plus sur la mise en réseau dans Cloud Data Fusion.
- Consultez la documentation de référence sur les rôles IAM de base et prédéfinis.