Contrôle des accès

Cette page décrit les options de contrôle des accès à votre disposition pour l'API Cloud Composer.

Aperçu

L'API Cloud Composer utilise Identity and Access Management (IAM) pour effectuer le contrôle des accès.

Dans l'API Cloud Composer, le contrôle des accès peut être configuré au niveau du projet. Par exemple, vous pouvez accorder à un groupe de développeurs l'accès à toutes les ressources de l'API Cloud Composer d'un projet.

Pour une description détaillée d'IAM et de ses fonctionnalités, consultez la documentation IAM, et en particulier la page Gérer les stratégies IAM.

Pour chaque méthode de l'API Cloud Composer, l'appelant doit disposer des autorisations nécessaires. Pour en savoir plus, consultez la section Autorisations et rôles.

Autorisations requises

Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler chaque méthode d'API dans l'API Cloud Composer ou pour effectuer des tâches à l'aide des outils Google Cloud qui utilisent l'API (par exemple, Google Cloud Console ou le SDK Cloud).

Méthode Permission
environments.create composer.environments.create
iam.serviceAccounts.actAs (sur le compte de service sous lequel l'environnement s'exécutera)
environments.delete composer.environments.delete
environments.get composer.environments.get
environments.list composer.environments.list
environments.update composer.environments.update
operations.delete composer.operations.delete
operations.get composer.operations.get
operations.list composer.operations.list

Rôles

Rôle Titre Description Autorisations Ressource la plus basse
roles/composer.admin Administrateur Composer Permet un contrôle total des ressources Cloud Composer.
  • composer.*
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Projet
roles/composer.environmentAndStorageObjectAdmin Administrateur de l'environnement et des objets Storage Permet un contrôle total des ressources Cloud Composer ainsi que des objets de tous les buckets du projet.
  • composer.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.*
Projet
roles/composer.environmentAndStorageObjectViewer Utilisateur de l'environnement et lecteur des objets Storage Fournit les autorisations nécessaires pour répertorier et obtenir les environnements et les opérations Cloud Composer. Offre un accès en lecture seule aux objets de tous les buckets du projet.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.get
  • storage.objects.list
Projet
roles/composer.user Utilisateur de Composer Fournit les autorisations nécessaires pour répertorier et obtenir les environnements et les opérations Cloud Composer.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Projet
roles/composer.worker Nœud de calcul Composer Fournit les autorisations nécessaires pour exécuter une VM avec environnement Cloud Composer. Destiné aux comptes de service.
  • artifactregistry.*
  • cloudbuild.*
  • container.*
  • containeranalysis.occurrences.create
  • containeranalysis.occurrences.delete
  • containeranalysis.occurrences.get
  • containeranalysis.occurrences.list
  • containeranalysis.occurrences.update
  • logging.logEntries.create
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.*
  • monitoring.timeSeries.*
  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.get
  • pubsub.snapshots.list
  • pubsub.snapshots.seek
  • pubsub.snapshots.update
  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.list
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.detachSubscription
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.topics.publish
  • pubsub.topics.update
  • pubsub.topics.updateTag
  • remotebuildexecution.blobs.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • source.repos.get
  • source.repos.list
  • storage.buckets.create
  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.*
Projet

Rôles de base

Rôle Titre Description Autorisations Ressource la plus basse
roles/owner Propriétaire Rôle de base offrant un contrôle complet des ressources Cloud Composer. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actAs
Projet
roles/editor Éditeur Rôle de base offrant un contrôle complet des ressources Cloud Composer. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actAs
Projet
roles/reader Lecteur Rôle de base permettant à un utilisateur de répertorier et d'obtenir des ressources Cloud Composer. composer.operations.list
composer.operations.get
composer.environments.list
composer.environments.get
Projet

Autorisations pour les tâches courantes

Les rôles constituent un ensemble d'autorisations. Cette section répertorie les rôles ou les autorisations nécessaires pour effectuer des tâches courantes.

Tâche Autorisations et/ou rôles
Accéder à l'interface Web Airflow protégée par IAP composer.environments.get
Exécuter la CLI Airflow à l'aide de l'outil de ligne de commande "gcloud" composer.environments.get
container.clusters.getCredentials
roles/container.developer
Afficher la page "Environnements" dans Cloud Console composer.environments.list
servicemanagement.projectSettings.get
Afficher les journaux et les métriques de la suite d'opérations de Google Cloud roles/logging.viewer
roles/monitoring.viewer
Créez un environnement composer.environments.create
iam.serviceAccounts.actAs (sur le compte de service sous lequel l'environnement s'exécutera)
Mettre à jour et supprimer un environnement, y compris définir des variables d'environnement et installer/mettre à jour des packages Python environments.delete
environments.update
Importer des fichiers dans les dossiers DAG et Plug-ins et accéder aux journaux Airflow dans le dossier Journaux. storage.objectAdmin attribué au niveau du bucket ou du projet

composer.environments.get pour rechercher le bucket de destination des DAG

Contrôle des accès via gcloud

Pour attribuer des rôles prédéfinis, exécutez la commande gcloud projects get-iam-policy pour obtenir la stratégie actuelle, mettez à jour la liaison de stratégie avec le rôle Administrateur Composer (roles/composer.admin) ou Utilisateur Composer (roles/composer.user), puis exécutez la commande gcloud projects set-iam-policy. Consultez la page Accorder, modifier et révoquer les accès à des ressources de la documentation Cloud IAM pour en savoir plus sur l'attribution de rôles à l'aide de gcloudgcloud.

Pour configurer un rôle personnalisé avec les autorisations Cloud Composer, exécutez la commande gcloud iam roles create , y compris la liste d'autorisations souhaitées dans le tableau des rôles. Ensuite, mettez à jour la stratégie Cloud IAM avec le rôle personnalisé récemment configuré. Pour en savoir plus, consultez la page Créer un rôle personnalisé dans la documentation Cloud IAM.

Contrôle des accès via Cloud Console

Vous pouvez utiliser Cloud Console pour gérer le contrôle des accès de vos environnements et de vos projets.

Pour définir les autorisations d'accès au niveau du projet :

  1. Accédez à la page IAM dans Google Cloud Console.
  2. Sélectionnez votre projet, puis cliquez sur Continuer.
  3. Cliquez sur Ajouter un membre.
  4. Saisissez l'adresse e-mail d'un nouveau membre à qui vous n'avez pas encore attribué de rôle IAM.
  5. Sélectionnez le rôle souhaité dans le menu déroulant.
  6. Cliquez sur Ajouter.
  7. Vérifiez que le membre est bien répertorié avec le rôle que vous lui avez accordé.