Cloud Tasks は、Identity and Access Management(IAM)を使用してアクセス制御を行います。
アクセス制御は、プロジェクト レベルとキューレベルで構成できます。たとえば、タスクを作成してキューに追加できるようにするが、キューの削除は禁止するなど、機能を制限してアクセス権限を付与することができます。また、プロジェクト内のすべての Cloud Tasks リソースに対するアクセス権限をデベロッパーのグループに付与できます。
IAM とその機能の詳細については、IAM のドキュメントをご覧ください。特に、プロジェクト、フォルダ、組織へのアクセスを管理するセクションをご覧ください。
どの Cloud Tasks メソッドでも、呼び出し側に一定の権限が必要になります。
サポートされている権限と役割のリストについては、以下をご覧ください。 queue.yaml/xml
の更新時、Cloud Console の使用時にも、Cloud Tasks IAM の権限がチェックされます。
権限
呼び出し元が各メソッドを呼び出す際に必要となる権限のリストを次の表に示します。
メソッド | 必要な権限 |
---|---|
ListQueues | 指定されたプロジェクトに対する cloudtasks.queues.list |
GetQueue | 指定されたキューに対する cloudtasks.queues.get |
CreateQueue | 指定されたキューに対する cloudtasks.queues.create |
UpdateQueue | 指定されたキューに対する cloudtasks.queues.update |
PurgeQueue | 指定されたキューに対する cloudtasks.queues.purge |
DeleteQueue | 指定されたキューに対する cloudtasks.queues.delete |
PauseQueue | 指定されたキューに対する cloudtasks.queues.pause |
ResumeQueue | 指定されたキューに対する cloudtasks.queues.resume |
GetIamPolicy | 指定されたキューに対する cloudtasks.queues.getIamPolicy |
SetIamPolicy | 指定されたキューに対する cloudtasks.queues.setIamPolicy |
ListTasks | 指定されたキューに対する cloudtasks.tasks.list |
GetTask | 指定されたキューに対する cloudtasks.tasks.get |
CreateTask | 指定されたキューに対する cloudtasks.tasks.create |
DeleteTask | 指定されたキューに対する cloudtasks.tasks.delete |
RunTask | 指定されたタスクに対する cloudtasks.tasks.run |
ListLocations | 指定されたプロジェクトに対する cloudtasks.locations.list |
GetLocation | 指定されたプロジェクトに対する cloudtasks.locations.get |
役割
次の表に、Cloud Tasks IAM の役割と、各役割に含まれているすべての権限に対応するリストを示します。各権限は、それぞれ特定のリソースタイプを対象としています。
役割 | 含まれている権限 |
---|---|
roles/cloudtasks.admin | cloudtasks.locations.list cloudtasks.locations.get cloudtasks.queues.list cloudtasks.queues.get cloudtasks.queues.create cloudtasks.queues.update cloudtasks.queues.purge cloudtasks.queues.delete cloudtasks.queues.pause cloudtasks.queues.resume cloudtasks.queues.getIamPolicy cloudtasks.queues.setIamPolicy cloudtasks.tasks.list cloudtasks.tasks.get cloudtasks.tasks.create cloudtasks.tasks.delete cloudtasks.tasks.run cloudtasks.tasks.fullView resourcemanager.projects.get resourcemanager.projects.list |
roles/cloudtasks.queueAdmin | cloudtasks.locations.list cloudtasks.locations.get cloudtasks.queues.list cloudtasks.queues.get cloudtasks.queues.create cloudtasks.queues.update cloudtasks.queues.purge cloudtasks.queues.delete cloudtasks.queues.pause cloudtasks.queues.resume cloudtasks.queues.getIamPolicy cloudtasks.queues.setIamPolicy resourcemanager.projects.get resourcemanager.projects.list |
roles/cloudtasks.viewer | cloudtasks.locations.list cloudtasks.locations.get cloudtasks.queues.list cloudtasks.queues.get cloudtasks.tasks.list cloudtasks.tasks.get cloudtasks.tasks.fullView resourcemanager.projects.get resourcemanager.projects.list |
roles/cloudtasks.enqueuer | cloudtasks.tasks.create cloudtasks.tasks.fullView resourcemanager.projects.get resourcemanager.projects.list |
roles/cloudtasks.taskRunner | cloudtasks.tasks.run cloudtasks.tasks.fullView resourcemanager.projects.get resourcemanager.projects.list |
roles/cloudtasks.taskDeleter | cloudtasks.tasks.delete resourcemanager.projects.get resourcemanager.projects.list |