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 projet Google Cloud, elle déploie et exécute des pipelines à l'aide de clusters Dataproc dans le même projet. Cependant, 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:
- Connaître les concepts de base de Cloud Data Fusion
- Connaissance d'Identity and Access Management (IAM) pour Cloud Data Fusion
- Bonne connaissance de 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 l'utilisation de ce type d'instance.
- Une source et un récepteur BigQuery
- Le contrôle des accès avec IAM, et non le contrôle des accès basé sur les rôles (RBAC).
Solution
Cette solution compare l'architecture et la configuration spécifiques aux cas d'utilisation et aux architectures de référence.
Architecture
Les schémas suivants comparent l'architecture du 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 illustre l'architecture de base 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 utiliserez 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é aux comptes de service
Pour en savoir plus sur les projets locataires et clients, consultez la section Mise en réseau.
Architecture de cas d'utilisation
Ce schéma illustre l'architecture d'un 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 aux cas d'utilisation pour l'utilisation de clusters Dataproc dans un autre projet via le VPC de projet locataire par défaut.
Dans les descriptions de cas d'utilisation suivantes, le projet client est l'endroit où l'instance Cloud Data Fusion s'exécute, et le projet Dataproc est celui où le cluster Dataproc 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 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 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'emplacement d'exécution de l'instance Cloud Data Fusion. Le projet Dataproc fait référence au lieu de lancement des clusters Dataproc. |
VPC du client
Référence | Cas d'utilisation |
---|---|
Du point de vue du client (du point de vue du client), le VPC client est l'emplacement logique de Cloud Data Fusion. Point clé à retenir: Vous trouverez les informations sur le VPC du 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 |
---|---|
Du point de vue du client, Cloud Data Fusion se situe dans ce sous-réseau de manière logique. Point clé à retenir: La région de ce sous-réseau est identique à l'emplacement 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 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 clés à retenir:
|
Il s'agit d'un nouveau sous-réseau dans lequel les clusters Dataproc sont lancés lorsque vous exécutez un pipeline. Points clés à retenir:
|
Sources et récepteurs
Référence | Cas d'utilisation |
---|---|
Sources où les données sont extraites et récepteurs où les données sont chargées, tels que les sources et récepteurs BigQuery. Point clé à retenir:
|
Les configurations de contrôle des accès spécifiques aux cas d'utilisation présentées sur cette page concernent les sources et les récepteurs 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 clés à retenir:
|
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 |
---|---|
Buckets temporaires créés par les plug-ins pour vos sources et récepteurs, tels que les tâches de chargement lancées par le plug-in récepteur BigQuery. Points clés à 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 |
---|---|
Buckets clients, 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 à retenir:
|
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 Dataproc. Attribuez ensuite les rôles suivants dans ce projet:
|
IAM: compte de service Dataproc
Référence | Cas d'utilisation |
---|---|
Compte de service utilisé pour exécuter le pipeline en tant que job dans le cluster Dataproc. 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 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 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 le projet Dataproc. Ajoutez le compte de service Compute Engine par défaut du projet Dataproc au projet Cloud Data Fusion. Accordez é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 contenant 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 clés à retenir: Si vous utilisez des CMEK, votre configuration de base nécessite les éléments suivants:
En fonction des services utilisés dans votre pipeline, tels que BigQuery ou Cloud Storage, les comptes de service doivent également disposer du rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS:
|
Si vous n'utilisez pas de clé CMEK, aucune autre modification n'est requise pour ce cas d'utilisation. Si vous utilisez une clé CMEK, le rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS doit être attribué au compte de service suivant au niveau de la clé, dans le projet où il est créé:
En fonction des services utilisés dans votre pipeline, tels que BigQuery ou Cloud Storage, les autres comptes de service doivent également disposer du rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS au niveau de la clé. Exemple :
|
Une fois que vous avez effectué ces configurations spécifiques à ces cas d'utilisation, votre pipeline de données peut commencer à s'exécuter sur les clusters d'un autre projet.
Étapes suivantes
- En savoir plus sur la mise en réseau dans Cloud Data Fusion
- Consultez la documentation de référence sur les rôles de base et prédéfinis IAM.