IAM によるアクセス制御

Cloud Tasks は、Identity and Access Management(IAM)を使用してアクセス制御を行います。IAM とその機能の概要については、IAM の概要をご覧ください。アクセス権の付与と取り消しの方法については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

アクセス制御は、プロジェクト レベルとキューレベルで構成できます。たとえば、ユーザーにタスクを作成してキューに追加する権限を付与し、キューを削除する権限は付与しないことができます。また、プロジェクト内のすべての Cloud Tasks リソースに対するアクセス権をユーザーのグループに付与することもできます。詳細については、キュー構成の保護をご覧ください。

どの Cloud Tasks メソッドでも、呼び出し側に一定の権限が必要になります。このページでは、Cloud Tasks でサポートされている権限とロールについて説明します。権限は、queue.yaml(または以前の queue.xml ファイル)が更新されたとき、または Google Cloud コンソールを使用するときにもチェックされます。

Cloud Tasks API を有効にする

Cloud Tasks の IAM ロールを表示して割り当てるには、プロジェクトで Cloud Tasks API を有効にする必要があります。API を有効にするまで、 Google Cloud コンソールで Cloud Tasks のロールを表示できません。

コンソール

Cloud Tasks API を有効にします。

API を有効にするために必要なロール

API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する

API の有効化

gcloud

Cloud Tasks API を有効にします。

API を有効にするために必要なロール

API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する

gcloud services enable cloudtasks.googleapis.com

事前定義ロール

次の表に、Cloud Tasks の IAM 事前定義ロールと、それに対応する権限を示します。

事前定義ロールは、一般的なユースケースのほとんどに対応しています。事前定義ロールがユースケースに対応していない場合は、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

次のステップ