使用 IAM 控管存取權

Cloud Tasks 使用身分與存取權管理 (IAM) 控管存取權。

存取權控管可以在專案層級與佇列層級加以設定。舉例來說,您可以授予功能受到限制的存取權,例如能夠建立工作並將工作新增到佇列,但不能刪除佇列。或者,您也可以為一組開發人員授予專案中所有 Cloud Tasks 資源的存取權。

如需 IAM 和其功能的詳細說明,請參閱 IAM 說明文件,尤其是「管理專案、資料夾和機構的存取權」一節。

每個 Cloud Tasks 方法都要求呼叫者具備必要的權限。 如要瞭解支援的權限與角色,請參閱以下清單。在更新 queue.yaml/xml 或使用 Google Cloud 控制台時,也會檢查 Cloud Tasks IAM 權限。

角色

下表列出 Cloud Tasks 身分與存取權管理角色,以及各角色具備的所有權限的對應清單。請注意每個權限只適用於特定資源類型。

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

可將資源的管理權限授予給 Cloud Tasks 服務帳戶。

iam.serviceAccounts.getAccessToken

iam.serviceAccounts.getOpenIdToken

logging.logEntries.create

(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