Cloud Tasks 使用 Identity and Access Management (IAM) 进行访问权限控制。
您可以在项目级层和队列级层配置访问权限控制条件。您可以授予权能有限的访问权限,如授予可以创建任务并将其添加到队列但不能删除队列的权限。或者,您可以向一组开发者授予对某项目中的所有 Cloud Tasks 资源的访问权限。
如需详细了解 IAM 及其功能,请参阅 IAM 文档 。请特别留意管理对项目、文件夹和组织的访问权限 部分。
每种 Cloud Tasks 方法都要求调用者拥有必要的权限。
请参阅以下部分了解支持的权限和角色。更新 queue.yaml/xml
或使用 Google Cloud 控制台时,系统也会检查 Cloud Tasks IAM 权限。
注意 :如需通过 Google Cloud 控制台访问和管理任务,帐号还必须具有 appengine.applications.get
权限。所有 App Engine 预定义角色 都会授予此权限。 角色
下表列出了 Cloud Tasks IAM 角色及其包含的所有权限的列表。请注意,每个权限都适用于特定的资源类型。
Cloud Tasks 角色
角色
权限
Cloud Tasks Admin
Beta 版
(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
Cloud Tasks Enqueuer
Beta 版
(roles/ cloudtasks.enqueuer
)
有权创建任务。
cloudtasks.tasks.create
cloudtasks.tasks.fullView
resourcemanager.projects.get
resourcemanager.projects.list
Cloud Tasks Queue Admin
Beta 版
(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
Cloud Tasks Task Deleter
Beta 版
(roles/ cloudtasks.taskDeleter
)
有权删除任务。
cloudtasks.tasks.delete
resourcemanager.projects.get
resourcemanager.projects.list
Cloud Tasks Task Runner
Beta 版
(roles/ cloudtasks.taskRunner
)
拥有运行任务的权限。
cloudtasks.tasks.fullView
cloudtasks.tasks.run
resourcemanager.projects.get
resourcemanager.projects.list
Cloud Tasks Viewer
Beta 版
(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