Contrôle des accès avec IAM

Cloud Tasks utilise Identity and Access Management (IAM) pour 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 de la file d'attente. Par exemple, vous pouvez autoriser un utilisateur à créer et à ajouter des tâches à une file d'attente, mais pas à supprimer cette file d'attente. 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 Configuration sécurisée des files 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 en cas de mise à jour de queue.yaml ou queue.xml ou d'utilisation de la console Google Cloud .

Activer l'API Cloud Tasks

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

Console

Enable the Cloud Tasks API.

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

gcloud

Enable the Cloud Tasks API:

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

gcloud services enable cloudtasks.googleapis.com

Rôles prédéfinis

Le tableau suivant répertorie les rôles IAM prédéfinis dans Cloud Tasks, ainsi que 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.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.enqueuer)

Access to create tasks.

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.serviceAgent)

Grants Cloud Tasks Service Account access to manage resources.

iam.serviceAccounts.getAccessToken

iam.serviceAccounts.getOpenIdToken

logging.logEntries.create

(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

(roles/cloudtasks.viewer)

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

cloudtasks.cmekConfig.get

cloudtasks.locations.*

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

cloudtasks.queues.get

cloudtasks.queues.list

cloudtasks.tasks.fullView

cloudtasks.tasks.get

cloudtasks.tasks.list

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

Étapes suivantes