Control de acceso con IAM

Cloud Tasks usa Identity and Access Management (IAM) para el control de acceso. Para obtener una introducción a IAM y sus funciones, consulta Descripción general de IAM. Si deseas obtener información para otorgar y revocar el acceso, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Puedes configurar el control de acceso a nivel de proyecto y a nivel de la cola. Por ejemplo, puedes otorgar permiso a un usuario para crear y agregar tareas a una cola, pero no para borrarla. También puedes otorgar acceso a todos los recursos de Cloud Tasks en un proyecto a un grupo de usuarios. Para obtener más información, consulta Configuración segura de la cola.

Cada método de Cloud Tasks requiere que el emisor tenga los permisos necesarios. En esta página, se describen los permisos y los roles que admite Cloud Tasks. Los permisos también se verifican cuando se actualiza queue.yaml o queue.xml o cuando se usa la consola de Google Cloud .

Habilita la API de Cloud Tasks

Para ver y asignar roles de IAM para Cloud Tasks, debes habilitar la API de Cloud Tasks para tu proyecto. No podrás ver los roles de Cloud Tasks en la consola Google Cloud hasta que habilites la 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

Funciones predefinidas

En la siguiente tabla, se enumeran los roles de IAM predefinidos de Cloud Tasks y sus permisos correspondientes.

Las funciones predefinidas abordan los casos de uso más típicos. Si las funciones predefinidas no cubren tu caso de uso, puedes crear una función personalizada de IAM.

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

¿Qué sigue?