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 Dataproc dans un autre projet Google Cloud.
Scénario
Par défaut, lorsqu'une instance Cloud Data Fusion est lancée dans un Google Cloud, il déploie et exécute des pipelines clusters Dataproc au sein du même projet. Toutefois, votre organisation peut vous demander d'utiliser des clusters dans un autre projet. Pour 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 avez besoin du contexte suivant:
- Connaissances des concepts de base de Cloud Data Fusion
- une bonne connaissance de la gestion de l'authentification et des accès (IAM) pour Cloud Data Fusion ;
- Connaissances de base sur la mise en réseau Cloud Data Fusion
Hypothèses et portée
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 exiger que vous utilisiez ce type Compute Engine.
- Une source et un récepteur BigQuery
- Contrôle des accès avec IAM, et non basé sur les rôles (RBAC).
Solution
Cette solution compare des architectures et des cas d'utilisation spécifiques configuration.
Architecture
Les diagrammes suivants comparent l'architecture de projet pour créer une instance Cloud Data Fusion et exécuter des pipelines lorsque vous utilisez des clusters dans le même projet (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écuter un pipeline sans personnalisation supplémentaire:
- 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é accordé aux comptes de service
Pour en savoir plus sur les projets locataires et clients, consultez la page Mise en réseau.
Architecture de cas d'utilisation
Ce diagramme montre 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 utiliser des clusters Dataproc dans un autre projet via le VPC par défaut du projet de locataire.
Dans les descriptions de cas d'utilisation suivantes, le projet client correspond à l'emplacement Exécution de l'instance Cloud Data Fusion et du projet Dataproc est l'endroit où le cluster Dataproc est lancé.
VPC et instance du projet locataire
Référence | Cas d'utilisation |
---|---|
Dans le schéma précédent de l'architecture de référence, le projet locataire
contient les composants suivants:
|
Aucune configuration supplémentaire n'est requise pour ce cas d'utilisation. |
Projet client
Référence | Cas d'utilisation |
---|---|
Votre projet Google Cloud est l'endroit où vous déployez et exécutez des pipelines. Par défaut, les clusters Dataproc sont lancés dans ce lorsque vous exécutez vos pipelines. | Dans ce cas d'utilisation, vous gérez deux projets. Sur cette page,
projet client désigne l'endroit où Cloud Data Fusion
s'exécute sur l'instance. Le projet Dataproc fait référence où sont lancés les clusters Dataproc. |
VPC du client
Référence | Cas d'utilisation |
---|---|
Du point de vue du client, c'est le VPC du client où Cloud Data Fusion se trouve logiquement. En résumé : Vous trouverez les détails du VPC client sur la page "Réseaux VPC" de votre projet. |
Aucune configuration supplémentaire n'est requise pour ce cas d'utilisation. |
Sous-réseau Cloud Data Fusion
Référence | Cas d'utilisation |
---|---|
Du point de vue du client, c'est dans ce sous-réseau que Cloud Data Fusion se trouve. Point clé à retenir La région de ce sous-réseau est identique comme emplacement de l'instance Cloud Data Fusion dans le locataire projet. |
Aucune configuration supplémentaire n'est requise pour ce cas d'utilisation. |
Sous-réseau Dataproc
Référence | Cas d'utilisation |
---|---|
Sous-réseau dans lequel les clusters Dataproc sont lancés lorsque vous exécutez un pipeline. Points à retenir:
|
Il s'agit d'un nouveau sous-réseau dans lequel lancé lorsque vous exécutez un pipeline. Points à retenir:
|
Sources et récepteurs
Référence | Cas d'utilisation |
---|---|
Sources à partir desquelles les données sont extraites et récepteurs dans lesquels les données sont chargées, tels que les sources et les récepteurs BigQuery. Point clé à retenir:
|
Les configurations de contrôle des accès spécifiques au cas d'utilisation de cette page sont destinées aux sources et aux destinations BigQuery. |
Cloud Storage
Référence | Cas d'utilisation |
---|---|
Bucket de stockage du projet client qui permet de transférer des fichiers entre Cloud Data Fusion et Dataproc. Points à retenir :
|
Aucune configuration supplémentaire n'est requise 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 des plug-ins pour vos sources et récepteurs tels que les jobs de chargement initiés par le plug-in récepteur BigQuery. Points à retenir :
|
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 |
---|---|
Les buckets client, que vous spécifiez dans les configurations des plug-ins, comme le plug-in Cloud Storage et le FTP pour Plug-in Cloud Storage. | Aucune configuration supplémentaire n'est requise 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 à retenir:
|
Pour ce cas d'utilisation, attribuez le rôle d'agent de service de l'API Cloud Data Fusion au compte de service du projet Dataproc. Attribuez ensuite les rôles suivants dans ce projet :
|
IAM: compte de service Dataproc
Référence | Cas d'utilisation |
---|---|
Le compte de service utilisé pour exécuter le pipeline en tant que job dans le cluster Dataproc. Par défaut, il s'agit compte de service Compute Engine. Facultatif: dans la configuration de référence, vous pouvez modifier la valeur par défaut compte de service vers un autre compte de service du même projet. Accorder les rôles IAM suivants au nouveau compte de service:
|
Dans cet exemple de cas d'utilisation, nous partons du principe que vous utilisez
Compte de service Compute Engine ( Attribuez les rôles suivants au compte de service Compute Engine par défaut du projet Dataproc.
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 Dataproc. Cette action doit être effectuée dans Projet Dataproc. Ajoutez le compte de service Compute Engine par défaut du projet Dataproc 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, consultez
API et de votre projet.
Lorsque vous activez l'API Cloud Data Fusion, le service suivant sont automatiquement ajoutés à votre projet:
|
Pour ce cas d'utilisation, activez les API suivantes dans le projet que
contient le projet Dataproc:
|
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 à retenir : Si vous utilisez CMEK, votre configuration de référence nécessite les éléments suivants :
Selon les services utilisés dans votre pipeline, tels que BigQuery ou Cloud Storage, les comptes de service doivent également se voir attribuer le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS :
|
Si vous n'utilisez pas de CMEK, aucune modification supplémentaire n'est nécessaire pour cette utilisation . Si vous utilisez une CMEK, le rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS doit au compte de service suivant au niveau de la clé dans le projet dans lequel elle est créée:
En fonction des services utilisés dans votre pipeline, BigQuery ou Cloud Storage, autres comptes de service doit également disposer du rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS 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
- Reportez-vous à la documentation de référence sur les rôles de base et prédéfinis IAM.