Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Cette page explique comment accéder aux ressources situées dans un projetGoogle Cloud différent de votre environnement Cloud Composer.
Si vous souhaitez utiliser un compte de service d'un projet pour exécuter des environnements dans un autre projet, consultez Utiliser un compte de service d'un autre projet.
Nous vous recommandons d'accéder aux ressources d'autres projets Google Cloud de la manière suivante :
Dans vos DAG, utilisez les connexions par défaut préconfigurées dans votre environnement.
Par exemple, la connexion
google_cloud_default
est utilisée par de nombreux opérateursGoogle Cloud et est configurée automatiquement lorsque vous créez un environnement.Accordez des autorisations et des rôles IAM supplémentaires au compte de service de votre environnement afin qu'il puisse accéder aux ressources d'un autre projet.
Déterminer le compte de service de votre environnement
Pour déterminer le compte de service de votre environnement :
Console
Dans la console Google Cloud , accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Accédez à l'onglet Configuration de l'environnement.
Le compte de service de votre environnement est indiqué dans le champ Compte de service.
Cette valeur est une adresse e-mail, par exemple
service-account-name@example-project.iam.gserviceaccount.com
.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="get(config.nodeConfig.serviceAccount)"
Cette valeur est une adresse e-mail, par exemple service-account-name@example-project.iam.gserviceaccount.com
.
Attribuer des rôles et des autorisations IAM pour accéder aux ressources d'un autre projet
Le compte de service de votre environnement nécessite des autorisations pour accéder aux ressources d'un autre projet. Ces rôles et autorisations peuvent varier en fonction de la ressource à laquelle vous souhaitez accéder.
Accéder à une ressource spécifique
Nous vous recommandons d'accorder des rôles et des autorisations pour des ressources spécifiques, comme un bucket Cloud Storage unique situé dans un autre projet. Dans cette approche, vous utilisez un accès basé sur les ressources avec des liaisons de rôle conditionnelles.
Pour accéder à une ressource spécifique :
- Suivez le guide Configurer un accès basé sur les ressources.
- Lorsque vous accordez des rôles et des autorisations, spécifiez le compte de service de votre environnement en tant que principal.
Accéder à un type de ressource
Vous pouvez également accorder des rôles et des autorisations en fonction du type de ressource, par exemple tous les buckets Cloud Storage situés dans un autre projet.
Pour accéder à un type de ressource :
- Suivez le guide Gérer l'accès aux autres ressources.
- Lorsque vous accordez des rôles et des autorisations, spécifiez le compte de service de votre environnement en tant que principal.
Une fois les autorisations et les rôles requis accordés, vous pouvez accéder aux ressources d'un autre projet avec les mêmes connexions Airflow par défaut que celles utilisées pour accéder aux ressources du projet dans lequel se trouve votre environnement.
Étapes suivantes
- Contrôle des accès avec IAM
- Gérer les connexions Airflow
- Configurer des restrictions d'emplacement des ressources