Kontrol akses di Cloud Build dikontrol menggunakan Identity and Access Management (IAM). Dengan IAM, Anda dapat membuat dan mengelola izin untuk Google Cloud resource. Cloud Build menyediakan serangkaian peran IAM bawaan tertentu di mana setiap peran berisi serangkaian izin. Anda dapat menggunakan peran ini untuk memberikan akses yang lebih terperinci ke resource Google Cloud tertentu dan mencegah akses yang tidak diinginkan ke resource lain. IAM memungkinkan Anda menerapkan prinsip hak istimewa terendah untuk keamanan, jadi Anda hanya memberikan akses yang diperlukan ke resource Anda.
Halaman ini menjelaskan peran dan izin Cloud Build.
Peran Cloud Build yang telah ditetapkan
Dengan IAM, setiap metode API di Cloud Build API mengharuskan identitas yang membuat permintaan API memiliki izin yang sesuai untuk menggunakan resource. Izin diberikan dengan menetapkan kebijakan yang memberikan peran kepada akun utama (pengguna, grup, atau akun layanan). Anda dapat memberikan beberapa peran kepada akun utama pada resource yang sama.
Tabel berikut mencantumkan peran IAM Cloud Build dan izin yang disertakan:
| Peran | Deskripsi | Izin |
|---|---|---|
Nama: roles/cloudbuild.builds.viewer Jabatan: Cloud Build Viewer |
Dapat melihat Cloud Build
resource |
cloudbuild.builds.get
|
Nama: roles/cloudbuild.builds.editor Jabatan: Cloud Build Editor |
Kontrol penuh Cloud Build
resource |
cloudbuild.builds.create
|
Nama: roles/cloudbuild.builds.approver Jabatan: Cloud Build Approver |
Memberikan akses untuk menyetujui atau
menolak build yang tertunda |
cloudbuild.builds.approve
|
Nama: roles/cloudbuild.builds.builder Judul: Akun Layanan Cloud Build Lama |
Saat Anda mengaktifkan Cloud Build API untuk project, akun layanan lama Cloud Build akan otomatis dibuat di project dan diberi peran ini untuk resource dalam project. Akun layanan lama Cloud Build menggunakan peran ini hanya jika diperlukan untuk melakukan tindakan saat menjalankan build Anda. |
Untuk mengetahui daftar izin yang dimiliki peran ini, lihat Akun layanan Cloud Build default. |
Nama: roles/cloudbuild.integrationsViewer Judul: Cloud Build Integrations Viewer |
Dapat melihat Cloud Build
koneksi host |
cloudbuild.integrations.get
|
Nama:roles/cloudbuild.integrationsEditor Jabatan: Editor Integrasi Cloud Build |
Mengedit kontrol Cloud Build
koneksi host |
cloudbuild.integrations.get
|
Nama:roles/cloudbuild.integrationsOwner Jabatan: Pemilik Integrasi Cloud Build |
Kontrol penuh Cloud Build
koneksi host |
cloudbuild.integrations.create
|
Nama:roles/cloudbuild.connectionViewer Jabatan: Cloud Build Connection Viewer |
Dapat melihat dan mencantumkan koneksi
dan repositori |
resourcemanager.projects.get
|
Nama:roles/cloudbuild.connectionAdmin Jabatan: Admin Koneksi Cloud Build |
Dapat mengelola koneksi
dan repositori |
resourcemanager.projects.get
|
Name:roles/cloudbuild.readTokenAccessor Title: Cloud Build Read Only Token Accessor |
Dapat melihat koneksi, repositorinya,
dan mengakses token hanya baca mereka |
cloudbuild.connections.get
|
Nama:roles/cloudbuild.tokenAccessor Judul: Cloud Build Token Accessor |
Dapat melihat koneksi, repositorinya,
dan mengakses token hanya baca dan baca/tulis mereka |
cloudbuild.connections.get
|
Nama: roles/cloudbuild.workerPoolOwner Jabatan: Pemilik WorkerPool Cloud Build |
Kontrol penuh atas kumpulan pribadi | cloudbuild.workerpools.create
|
Nama:roles/cloudbuild.workerPoolEditor Jabatan: Cloud Build WorkerPool Editor |
Dapat memperbarui kumpulan pribadi | cloudbuild.workerpools.get
|
Nama: roles/cloudbuild.workerPoolViewer Jabatan: Cloud Build WorkerPool Viewer |
Dapat melihat kumpulan pribadi | cloudbuild.workerpools.get
|
Nama: roles/cloudbuild.workerPoolUser Jabatan: Pengguna WorkerPool Cloud Build |
Dapat menjalankan build di kumpulan pribadi | cloudbuild.workerpools.use |
Selain peran bawaan Cloud Build sebelumnya, peran Viewer, Editor, dan Pemilik dasar juga mencakup izin yang terkait dengan Cloud Build. Namun, sebaiknya Anda memberikan peran bawaan jika memungkinkan untuk mematuhi prinsip keamanan hak istimewa terendah.
Tabel berikut mencantumkan peran dasar dan peran IAM Cloud Build yang disertakan di dalamnya.
| Peran | mencakup peran |
|---|---|
roles/viewer |
roles/cloudbuild.builds.viewer, roles/cloudbuild.integrations.viewer |
roles/editor |
roles/cloudbuild.builds.editor, roles/cloudbuild.integrations.editor |
roles/owner |
roles/cloudbuild.integrations.owner |
Izin
Tabel berikut mencantumkan izin yang harus dimiliki pemanggil untuk memanggil setiap metode:
| Metode API | Izin yang diperlukan | Nama Peran |
|---|---|---|
builds.create() triggers.create() triggers.patch() triggers.delete() triggers.run() |
cloudbuild.builds.create |
Cloud Build Editor |
builds.cancel() |
cloudbuild.builds.update |
Cloud Build Editor |
builds.get() triggers.get() |
cloudbuild.builds.get |
Cloud Build Editor, Cloud Build Viewer |
builds.list() triggers.list() |
cloudbuild.builds.list |
Cloud Build Editor, Cloud Build Viewer |
Izin untuk melihat log build
Untuk melihat log build, Anda memerlukan izin tambahan, bergantung pada apakah Anda menyimpan log build di bucket Cloud Storage default atau di bucket Cloud Storage yang ditentukan pengguna. Untuk mengetahui informasi selengkapnya tentang izin yang diperlukan untuk melihat log build, lihat Menyimpan dan melihat log build.
Langkah berikutnya
- Pelajari akun layanan Cloud Build default.
- Pelajari cara mengonfigurasi akses ke resource Cloud Build.
- Pelajari cara mengonfigurasi akses untuk akun layanan Cloud Build.
- Pelajari IAM.