使用 IAM 控制访问权限

Cloud Tasks 使用 Identity and Access Management (IAM) 进行访问权限控制。

您可以在项目级层和队列级层配置访问权限控制条件。您可以授予权能有限的访问权限,如授予可以创建任务并将其添加到队列但不能删除队列的权限。或者,您可以向一组开发者授予对某项目中的所有 Cloud Tasks 资源的访问权限。

如需详细了解 IAM 及其功能,请参阅 IAM 文档。请特别留意管理对项目、文件夹和组织的访问权限部分。

每种 Cloud Tasks 方法都要求调用者拥有必要的权限。 请参阅以下部分了解支持的权限和角色。更新 queue.yaml/xml 或使用 Google Cloud 控制台时,系统也会检查 Cloud Tasks IAM 权限。

角色

下表列出了 Cloud Tasks IAM 角色及其包含的所有权限的列表。请注意,每个权限都适用于特定的资源类型。

Cloud Tasks 角色
角色 权限

(roles/cloudtasks.admin)

拥有对队列和任务的完整访问权限。

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)

有权创建任务。

cloudtasks.tasks.create

cloudtasks.tasks.fullView

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.queueAdmin)

拥有队列的管理员访问权限。

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)

有权删除任务。

cloudtasks.tasks.delete

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.taskRunner)

拥有运行任务的权限。

cloudtasks.tasks.fullView

cloudtasks.tasks.run

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtasks.viewer)

拥有获取和列出任务、队列和位置的权限。

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