Kontrol akses dengan IAM

Cloud Tasks menggunakan Identity and Access Management (IAM) untuk kontrol akses. Untuk mengetahui pengantar IAM dan fitur-fiturnya, lihat Ringkasan IAM. Untuk mempelajari cara memberikan dan mencabut akses, lihat Mengelola akses ke project, folder, dan organisasi.

Anda dapat mengonfigurasi kontrol akses di tingkat project dan di tingkat antrean. Misalnya, Anda dapat memberikan izin kepada pengguna untuk membuat dan menambahkan tugas ke antrean, tetapi tidak menghapus antrean. Atau, Anda dapat memberikan akses ke semua resource Cloud Tasks dalam project kepada sekelompok pengguna. Untuk mengetahui informasi selengkapnya, lihat Mengamankan konfigurasi antrean.

Setiap metode Cloud Tasks mengharuskan pemanggil memiliki izin yang diperlukan. Halaman ini menjelaskan izin dan peran yang didukung Cloud Tasks. Izin juga diperiksa saat queue.yaml (atau file queue.xml lama) diperbarui; atau saat Anda menggunakan Google Cloud konsol.

Mengaktifkan Cloud Tasks API

Untuk melihat dan menetapkan peran IAM untuk Cloud Tasks, Anda harus mengaktifkan Cloud Tasks API untuk project. Anda tidak akan dapat melihat peran Cloud Tasks di Google Cloud konsol hingga Anda mengaktifkan API.

Konsol

Aktifkan Cloud Tasks API.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

Mengaktifkan API

gcloud

Aktifkan Cloud Tasks API:

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

gcloud services enable cloudtasks.googleapis.com

Peran yang telah ditetapkan

Tabel berikut mencantumkan peran IAM bawaan Cloud Tasks dan izin yang sesuai.

Peran yang telah ditetapkan menangani sebagian besar kasus penggunaan umum. Jika kasus penggunaan Anda tidak tercakup oleh peran yang telah ditetapkan, Anda dapat membuat peran khusus 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.editor)

Editor role for cloudtasks

cloudtasks.cmekConfig.get

cloudtasks.locations.*

  • cloudtasks.locations.get
  • cloudtasks.locations.list

cloudtasks.queues.create

cloudtasks.queues.delete

cloudtasks.queues.get

cloudtasks.queues.list

cloudtasks.queues.pause

cloudtasks.queues.purge

cloudtasks.queues.resume

cloudtasks.queues.update

cloudtasks.tasks.*

  • 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.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

(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.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

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/cloudtasks.serviceAgent)

Grants Cloud Tasks Service Account access to manage resources.

iam.serviceAccounts.getAccessToken

iam.serviceAccounts.getOpenIdToken

logging.logEntries.create

Langkah berikutnya