Contrôle des accès avec IAM

Cloud Tasks utilise Identity and Access Management (IAM) pour effectuer le contrôle des accès. Pour obtenir une présentation d'IAM et de ses fonctionnalités, consultez la présentation d'IAM. Pour savoir comment accorder et révoquer l'accès, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez configurer le contrôle des accès au niveau du projet et au niveau de la file d'attente. Par exemple, vous pouvez accorder à un utilisateur l'autorisation de créer et d'ajouter des tâches à une file d'attente, mais pas de la supprimer. Vous pouvez également accorder à un groupe d'utilisateurs l'accès à toutes les ressources Cloud Tasks au sein d'un projet. Pour en savoir plus, consultez la section Sécuriser la configuration de la file d'attente.

Quelle que soit la méthode Cloud Tasks employée, l'appelant doit disposer des autorisations requises. Cette page décrit les autorisations et les rôles compatibles avec Cloud Tasks. Les autorisations sont également vérifiées lorsque queue.yaml (ou l'ancien fichier queue.xml) est mis à jour ou lorsque vous utilisez la Google Cloud console.

Activer l'API Cloud Tasks

Pour afficher et attribuer des rôles IAM pour Cloud Tasks, vous devez activer l'API Cloud Tasks pour le projet concerné. Vous ne pourrez pas voir les rôles Cloud Tasks dans la Google Cloud console tant que vous n'aurez pas activé l'API.

Console

Activez l'API Cloud Tasks.

Rôles requis pour activer les API

Pour activer les API, vous avez besoin de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.

Activer l'API

gcloud

Activez l'API Cloud Tasks :

Rôles requis pour activer les API

Pour activer les API, vous avez besoin de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.

gcloud services enable cloudtasks.googleapis.com

Rôles prédéfinis

Le tableau suivant répertorie les rôles IAM prédéfinis de Cloud Tasks et les autorisations correspondantes.

Les rôles prédéfinis répondent aux cas d'utilisation les plus typiques. Si votre cas d'utilisation n'est pas couvert par les rôles prédéfinis, vous pouvez créer un rôle IAM personnalisé.

Role Permissions

(roles/cloudtasks.admin)

Full access to queues and tasks.

cloudtasks.*

  • cloudtasks.cmekConfig.get
  • cloudtasks.cmekConfig.update
  • cloudtasks.locations.get
  • cloudtasks.locations.list
  • cloudtasks.operations.get
  • cloudtasks.queues.create
  • cloudtasks.queues.delete
  • cloudtasks.queues.get
  • cloudtasks.queues.getIamPolicy
  • cloudtasks.queues.list
  • cloudtasks.queues.pause
  • cloudtasks.queues.purge
  • cloudtasks.queues.resume
  • cloudtasks.queues.setIamPolicy
  • cloudtasks.queues.update
  • cloudtasks.tasks.create
  • cloudtasks.tasks.delete
  • cloudtasks.tasks.fullView
  • cloudtasks.tasks.get
  • cloudtasks.tasks.list
  • cloudtasks.tasks.run

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.editor)

Editor role for cloudtasks

cloudtasks.cmekConfig.get

cloudtasks.locations.*

  • cloudtasks.locations.get
  • cloudtasks.locations.list

cloudtasks.operations.get

cloudtasks.queues.create

cloudtasks.queues.delete

cloudtasks.queues.get

cloudtasks.queues.list

cloudtasks.queues.pause

cloudtasks.queues.purge

cloudtasks.queues.resume

cloudtasks.queues.update

cloudtasks.tasks.*

  • cloudtasks.tasks.create
  • cloudtasks.tasks.delete
  • cloudtasks.tasks.fullView
  • cloudtasks.tasks.get
  • cloudtasks.tasks.list
  • cloudtasks.tasks.run

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.viewer)

Get and list access to tasks, queues, and locations.

cloudtasks.cmekConfig.get

cloudtasks.locations.*

  • cloudtasks.locations.get
  • cloudtasks.locations.list

cloudtasks.operations.get

cloudtasks.queues.get

cloudtasks.queues.list

cloudtasks.tasks.fullView

cloudtasks.tasks.get

cloudtasks.tasks.list

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.enqueuer)

Access to create tasks.

cloudtasks.operations.get

cloudtasks.tasks.create

cloudtasks.tasks.fullView

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.queueAdmin)

Admin access to queues.

cloudtasks.locations.*

  • cloudtasks.locations.get
  • cloudtasks.locations.list

cloudtasks.queues.*

  • cloudtasks.queues.create
  • cloudtasks.queues.delete
  • cloudtasks.queues.get
  • cloudtasks.queues.getIamPolicy
  • cloudtasks.queues.list
  • cloudtasks.queues.pause
  • cloudtasks.queues.purge
  • cloudtasks.queues.resume
  • cloudtasks.queues.setIamPolicy
  • cloudtasks.queues.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.taskDeleter)

Access to delete tasks.

cloudtasks.tasks.delete

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.taskRunner)

Access to run tasks.

cloudtasks.tasks.fullView

cloudtasks.tasks.run

resourcemanager.projects.get

resourcemanager.projects.list

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/cloudtasks.serviceAgent)

Grants Cloud Tasks Service Account access to manage resources.

iam.serviceAccounts.getAccessToken

iam.serviceAccounts.getOpenIdToken

logging.logEntries.create

Étape suivante