Agar pengguna dapat membuat, menghapus, menggunakan, atau membagikan gambar kustom, Anda harus memberi mereka peran Identity and Access Management (IAM) yang sesuai. Dokumen ini menjelaskan izin IAM yang diperlukan untuk membuat dan mengelola gambar kustom serta cara memberikannya kepada pengguna.
Untuk informasi umum tentang cara memberikan akses ke resource Compute Engine, lihat Mengelola akses ke resource Compute Engine. Untuk informasi tentang IAM, baca dokumentasi IAM.
Sebelum memulai
- Baca dokumentasi IAM.
- Baca tentang peran IAM Compute Engine, khususnya, peran Pengguna Image Compute (
roles/compute.imageUser
). -
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) pada project tersebut -
Compute Admin (
roles/compute.admin
) di project -
Untuk memberi pengguna atau akun layanan izin yang diperlukan untuk membuat, bagikan gambar kustom:
-
resourcemanager.projects.getIamPolicy
pada project -
resourcemanager.projects.setIamPolicy
pada project
-
-
Untuk memberi pengguna atau akun layanan izin yang diperlukan untuk menghapus image kustom:
-
resourcemanager.projects.getIamPolicy
pada project -
resourcemanager.projects.setIamPolicy
pada project -
compute.images.getIamPolicy
pada gambar -
compute.images.setIamPolicy
pada gambar
-
-
Untuk mencabut akses akun pengguna atau akun layanan ke image kustom:
-
resourcemanager.projects.getIamPolicy
pada project -
resourcemanager.projects.setIamPolicy
pada project
-
-
Untuk membuat instance menggunakan image bersama:
compute.instances.create
pada project- Untuk menggunakan image kustom guna membuat VM:
compute.images.useReadOnly
pada image - Untuk menggunakan snapshot guna membuat VM:
compute.snapshots.useReadOnly
pada snapshot - Untuk menggunakan template instance guna membuat VM:
compute.instanceTemplates.useReadOnly
di template instance - Untuk menetapkan jaringan lama ke VM:
compute.networks.use
di project - Untuk menentukan alamat IP statis untuk VM:
compute.addresses.use
pada project - Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama:
compute.networks.useExternalIp
di project - Untuk menentukan subnet bagi VM:
compute.subnetworks.use
di project atau di subnet yang dipilih - Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC:
compute.subnetworks.useExternalIp
di project atau di subnet yang dipilih - Untuk menetapkan metadata instance VM untuk VM:
compute.instances.setMetadata
di project - Untuk menetapkan tag untuk VM:
compute.instances.setTags
di VM - Untuk menetapkan label untuk VM:
compute.instances.setLabels
di VM - Untuk menetapkan akun layanan yang akan digunakan VM:
compute.instances.setServiceAccount
di VM - Untuk membuat disk baru bagi VM:
compute.disks.create
pada project - Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis:
compute.disks.use
pada disk - Untuk memasang disk yang ada dalam mode hanya baca:
compute.disks.useReadOnly
pada disk
compute.images.create
untuk membuat gambar barucompute.images.list
untuk mencantumkan image dalam projectcompute.disks.use
jika image dibuat dari diskcompute.disks.list
jika pengguna perlu mencantumkan semua disk dalam projectDi konsol Google Cloud, buka halaman IAM untuk project atau organisasi.
Untuk menambahkan anggota baru, klik
Berikan akses.Di kolom New principals, masukkan alamat email identitas yang ingin Anda beri akses.
Contoh:
- Email Google Account:
test-user@gmail.com
- Grup Google:
admins@googlegroups.com
- Akun layanan:
server@example.gserviceaccount.com
- Domain Google Workspace:
example.com
- Email Google Account:
Dalam daftar Select a role, pilih Compute Engine > Compute Storage Admin, atau pilih peran kustom jika Anda membuatnya.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud , tambahkan binding peran kondisional.
Simpan perubahan.
ORGANIZATION_ID
atauPROJECT_ID
: ID organisasi atau project ID—misalnya,my-organization-1
ataumy-project-1
MEMBER
: identitas valid yang ingin Anda berikan peranContoh:
- Email Google Account:
user:user@gmail.com
- Grup Google:
group:admins@googlegroups.com
- Akun layanan:
serviceAccount:server@example.gserviceaccount.com
- Domain Google Workspace:
domain:example.com
- Email Google Account:
Baca kebijakan yang ada dengan metode
getIamPolicy
resource. Untuk project, gunakan metodeprojects.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ganti
PROJECT_ID
dengan project ID, misalnya,my-project-1
.Untuk organisasi, gunakan metode
organizations.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Ganti
ORGANIZATION_ID
dengan ID organisasi, misalnya,123456578920
.Compute Engine menampilkan kebijakan saat ini dalam respons.
Untuk menambahkan atau menghapus anggota dan peran terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Misalnya, untuk memberikan peran
roles/compute.storageAdmin
kegroup:admins@example.com
, tambahkan binding berikut ke kebijakan:{ "members": [ "group:admins@example.com" ], "role":"roles/compute.storageAdmin" }
Tulis kebijakan yang telah diperbarui menggunakan metode
setIamPolicy
.Misalnya, untuk menetapkan kebijakan di level project, gunakan metode
project.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Ganti
PROJECT_ID
dengan project ID.- Menghapus gambar tertentu
- Menghapus gambar yang dimiliki oleh project tertentu
- Menghapus gambar untuk project apa pun di organisasi
compute.images.delete
untuk menghapus gambarcompute.images.list
jika pengguna perlu mencantumkan gambar dalam project atau organisasicompute.images.get
untuk mendapatkan gambarDi Konsol Google Cloud, buka halaman Images.
Pilih gambar yang ingin Anda beri izin.
Untuk meluaskan kolom izin, klik Tampilkan panel info.
Untuk menambahkan satu atau beberapa anggota, klik Tambahkan akun utama.
Di kolom New principals, masukkan alamat email identitas yang ingin Andaajak berbagi gambar.
Contoh:
- Email Google Account:
test-user@gmail.com
- Grup Google:
admins@googlegroups.com
- Akun layanan:
server@example.gserviceaccount.com
- Domain Google Workspace:
example.com
- Email Google Account:
Dalam daftar Role, tahan kursor ke Compute Engine dan pilih Storage Admin, atau pilih peran kustom dari daftar Custom.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud , tambahkan binding peran kondisional.
Simpan perubahan.
Buka halaman IAM untuk project atau organisasi.
Klik
Berikan akses.Di kolom New principals, masukkan alamat email identitas yang ingin Anda beri akses. Contoh:
- Email Google Account:
test-user@gmail.com
- Grup Google:
admins@googlegroups.com
- Akun layanan:
server@example.gserviceaccount.com
- Domain Google Workspace:
example.com
- Email Google Account:
Dalam daftar Role, tahan kursor ke Compute Engine dan pilih Storage Admin, atau pilih peran kustom dari daftar Custom.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud , tambahkan binding peran kondisional.
Simpan perubahan.
ORGANIZATION_ID
atauPROJECT_ID
atauIMAGE_NAME
: ID organisasi numerik 12 digit, project ID, atau nama image—misalnya,123456578920
,my-project-1
, ataumy-custom-image
MEMBER
: identitas valid yang ingin Anda berikan peranContoh:
- Email Google Account:
user:user@gmail.com
- Grup Google:
group:admins@googlegroups.com
- Akun layanan:
serviceAccount:server@example.gserviceaccount.com
- Domain Google Workspace:
domain:example.com
- Email Google Account:
ROLE
: peran yang akan ditetapkan ke identitas ini—misalnya, peranroles/compute.storageAdmin
, atau peran kustom sepertiroles/customImageDeletionRole
Baca kebijakan yang ada dengan metode
getIamPolicy
masing-masing resource. Untuk project, gunakan metodeprojects.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ganti
PROJECT_ID
dengan project ID.Untuk organisasi, gunakan metode
organizations.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Ganti
ORGANIZATION_ID
dengan ID organisasi numerik 12 digit.Untuk gambar tertentu, gunakan metode
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Ganti kode berikut:
PROJECT_ID
: the project IDIMAGE_NAME
: nama image
Compute Engine menampilkan kebijakan saat ini dalam respons.
Untuk menambahkan atau menghapus anggota dan peran terkait, Anda dapat mengedit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Misalnya, untuk memberikan peran
roles/compute.storageAdmin
keuser:test-email@example.com
, tambahkan binding berikut ke kebijakan:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.storageAdmin" }
Tulis kebijakan yang telah diperbarui menggunakan metode
setIamPolicy
.Misalnya, untuk menetapkan kebijakan di level project, gunakan metode
project.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Ganti
PROJECT_ID
dengan project ID.- Compute Image User (
roles/compute.imageUser
): izin untuk mencantumkan, membaca, dan menggunakan gambar dalam permintaan Anda, tanpa memiliki izin lain pada gambar - Compute Storage Admin (
roles/compute.storageAdmin
): izin untuk membuat, memodifikasi, dan menghapus disk, image, dan snapshot Di Konsol Google Cloud, buka halaman Images.
Pilih gambar yang ingin Anda bagikan kepada pengguna lain.
Untuk meluaskan kolom izin, klik Tampilkan panel info.
Untuk menambahkan satu atau beberapa anggota, klik Tambahkan akun utama.
Di kolom New principals, masukkan alamat email identitas yang ingin Andaajak berbagi gambar.
Contoh:
- Email Google Account:
test-user@gmail.com
- Grup Google:
admins@googlegroups.com
- Akun layanan:
server@example.gserviceaccount.com
- Domain Google Workspace:
example.com
- Email Google Account:
Di daftar Role, tahan kursor ke Compute Engine dan pilih Image User atau Storage Admin, atau pilih peran kustom.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud, tambahkan binding peran bersyarat.
Simpan perubahan.
Di konsol Google Cloud, buka halaman IAM.
Klik
Berikan akses.Di kolom New principals, masukkan alamat email identitas yang ingin Andaajak berbagi gambar. Contoh:
- Email Google Account:
test-user@gmail.com
- Grup Google:
admins@googlegroups.com
- Akun layanan:
server@example.gserviceaccount.com
- Domain Google Workspace:
example.com
- Email Google Account:
Di daftar Peran, tahan kursor ke Project dan pilih Pelihat.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud, tambahkan binding peran bersyarat.
Simpan perubahan.
IMAGE_NAME
: nama gambar—misalnya,custom-centos-8
MEMBER
: identitas valid yang ingin Anda berikan peranContoh:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: peran yang akan ditetapkan ke identitas ini, sepertiroles/compute.imageUser
,roles/compute.storageAdmin
, atau peran kustomBaca kebijakan yang ada dengan metode
getIamPolicy
resource. Misalnya, untuk mendapatkan kebijakan pada image tertentu, gunakan metodeimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project tempat image ini beradaIMAGE_NAME
: nama image
Compute Engine menampilkan kebijakan saat ini dalam respons.
Untuk menambahkan atau menghapus anggota dan peran terkait, edit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Misalnya, untuk memberikan
roles/compute.imageUser
ketest-email@example.com
, tambahkan binding berikut ke kebijakan:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.imageUser" }
Tulis kebijakan yang telah diperbarui menggunakan metode
setIamPolicy
. Misalnya, untuk menetapkan kebijakan pada image tertentu, gunakan metodeproject.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project tempat image ini beradaIMAGE_NAME
: nama image
Di Konsol Google Cloud, buka halaman Images.
Pilih gambar yang ingin Anda bagikan kepada pengguna lain.
Untuk meluaskan kolom izin, klik Tampilkan panel info.
Untuk menambahkan satu atau beberapa anggota, klik Tambahkan akun utama.
Di kolom New principals, masukkan alamat email grup yang ingin Andaajak berbagi gambar. Contoh,
admins@example.com
.Dalam daftar Role, tahan kursor ke Compute Engine dan pilih Compute Image User.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud, tambahkan binding peran bersyarat.
Simpan perubahan.
Di konsol Google Cloud, buka halaman IAM.
Klik
Berikan akses.Di kolom New principals, masukkan alamat email identitas yang ingin Andaajak berbagi gambar. Contoh,
admins@example.com
.Di daftar Peran, tahan kursor ke Project dan pilih Pelihat.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud, tambahkan binding peran bersyarat.
Simpan perubahan.
IMAGE_NAME
: nama image—misalnya,custom-centos-8
MEMBER
: identitas valid yang ingin Anda berikan peran—misalnya,group:admins@example.com
Baca kebijakan yang ada dengan metode
getIamPolicy
resource. Misalnya, untuk mendapatkan kebijakan pada image tertentu, gunakan metodeimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project tempat image ini beradaIMAGE_NAME
: nama image
Compute Engine menampilkan kebijakan saat ini dalam respons.
Untuk menambahkan atau menghapus anggota dan peran terkait, Anda dapat mengedit kebijakan dengan editor teks. Gunakan format berikut untuk menambahkan anggota:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Misalnya, untuk memberikan
roles/compute.imageUser
ketest-user@example.com
, tambahkan binding berikut ke kebijakan:{ "members": [ "user:test-user@example.com" ], "role":"roles/compute.imageUser" }
Tulis kebijakan yang telah diperbarui menggunakan metode
setIamPolicy
. Misalnya, untuk menetapkan kebijakan pada image tertentu, gunakan metodeimages.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project tempat image ini beradaIMAGE_NAME
: nama image
Atau, agar pengguna dapat melihat gambar bersama ini dalam permintaan
images.list
mereka, beri pengguna peran IAM Pelihat (roles/viewer
) untuk project gambar menggunakan metodeprojects.setIamPolicy
. Jika tidak ingin pengguna melihat daftar gambar yang dibagikan, Anda dapat melewati langkah ini.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Baca kebijakan yang ada dengan metode
getIamPolicy
. Misalnya, untuk mendapatkan kebijakan pada image tertentu, gunakan metodeimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project tempat image ini beradaIMAGE_NAME
: nama image
Compute Engine menampilkan kebijakan saat ini dalam respons.
Untuk menambahkan atau menghapus anggota dan peran terkait, edit kebijakan dengan editor teks:
{ "members": [ "allAuthenticatedUsers" ], "role":"roles/compute.imageUser" }
Tulis kebijakan yang telah diperbarui menggunakan metode
setIamPolicy
. Misalnya, untuk menetapkan kebijakan pada image tertentu, gunakan metodeimages.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project tempat image ini beradaIMAGE_NAME
: nama image
- Project A ingin membuat MIG menggunakan image milik Project B.
- Project B memberikan peran Compute Image User kepada akun layanan Project A.
- Project A kini dapat menggunakan image dari Project B untuk membuat MIG.
Di konsol Google Cloud, buka halaman IAM project yang akun layanannya ingin Anda beri akses.
Jika diminta, pilih project Anda dari daftar.
Cari Agen Layanan API Google, yang memiliki alamat email dalam format berikut:
PROJECT_NUMBER@cloudservices.gserviceaccount.com
- Memberikan akses MIG ke semua image dalam project
- Memberikan akses MIG ke image tertentu dalam project
Di konsol Google Cloud, buka halaman IAM project gambar.
Untuk menambahkan anggota baru, klik
Berikan akses.Di kolom New principals, tambahkan alamat email akun layanan.
Dalam daftar Role, tahan kursor ke Compute dan pilih Compute Image User.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud, tambahkan binding peran bersyarat.
Klik Simpan.
Beralih kembali ke project akun layanan.
PROJECT_ID
: ID project yang berisi gambar yang ingin Anda bagikanSERVICE_ACCOUNT_EMAIL
: email akun layananDapatkan kebijakan IAM project image, dengan menggunakan metode
projects.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ganti
PROJECT_ID
dengan project ID project gambar.Untuk memberikan peran
roles/compute.imageUser
ke akun layanan, edit kebijakan dengan editor teks:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Ganti
SERVICE_ACCOUNT_EMAIL
dengan email akun layanan.Tulis kebijakan yang telah diperbarui menggunakan
projects.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Ganti
PROJECT_ID
dengan ID produk project gambar.Sekarang Anda dapat membuat template instance berdasarkan image dari project image dan membuat MIG berdasarkan template instance.
Di konsol Google Cloud, buka halaman Images dari project image.
Centang kotak di samping gambar yang ingin Anda bagikan.
Untuk meluaskan kolom izin, klik Tampilkan panel info.
Di panel Permissions, klik Add principal.
Di kolom New principals, masukkan email akun layanan yang ingin Anda ajak berbagi gambar. Contoh,
test123@example.domain.com
.Dalam daftar Role, pilih Compute, lalu pilih Compute Image User.
Opsional: Untuk mengontrol lebih lanjut akses pengguna ke resource Google Cloud , tambahkan binding peran kondisional.
Klik Simpan.
Beralih kembali ke project akun layanan.
IMAGE_NAME
: nama gambar yang ingin Anda bagikanSERVICE_ACCOUNT_EMAIL
: email akun layananDapatkan kebijakan IAM image menggunakan metode
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project gambarIMAGE_NAME
: nama gambar yang ingin Anda bagikan
Untuk memberikan peran
roles/compute.imageUser
ke akun layanan, edit kebijakan dengan editor teks:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Ganti
SERVICE_ACCOUNT_EMAIL
dengan email akun layanan.Tulis kebijakan yang telah diperbarui menggunakan metode
images.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID project gambarIMAGE_NAME
: nama gambar yang ingin Anda bagikan
Sekarang Anda dapat membuat template instance berdasarkan image dari project image dan membuat MIG berdasarkan template instance.
Temukan ID organisasi untuk organisasi Anda menggunakan perintah
gcloud organization list
:gcloud organizations list
Dapatkan setelan kebijakan yang ada untuk organisasi Anda menggunakan perintah
gcloud resource-manager org-policies describe
:gcloud resource-manager org-policies describe \ compute.storageResourceUseRestrictions \ --organization ORGANIZATION_ID > org-policy.yaml
Ganti ORGANIZATION_ID dengan ID organisasi numerik 12 digit Anda.
Buka file
org-policy.yaml
di editor teks dan ubah batasancompute.storageResourceUseRestrictions
. Tambahkan batasan yang Anda butuhkan, atau hapus batasan yang tidak lagi Anda perlukan. Setelah selesai mengedit file, simpan perubahan. Misalnya, Anda dapat menetapkan entri batasan berikut dalam file kebijakan:constraint: compute.storageResourceUseRestrictions listPolicy: allowedValues: - under:organization/organization-id
Terapkan file
org-policy.yaml
ke organisasi Anda menggunakan perintahgcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy \ --organization=ORGANIZATION_ID org-policy.yaml
Ganti ORGANIZATION_ID dengan ID organisasi numerik 12 digit Anda.
Di konsol Google Cloud, buka halaman Images dari project image.
Centang kotak di samping gambar yang ingin Anda perbarui.
Untuk meluaskan kolom izin, klik Tampilkan panel info.
Luaskan peran yang penggunanya ingin Anda hapus.
Untuk menghapus pengguna dari peran tersebut, klik
Hapus.IMAGE_NAME
: nama image—misalnya,my_image
MEMBER
: identitas yang ingin Anda hapusHarus dalam format
user|group|serviceAccount:email
ataudomain:domain
. Contoh:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: peran yang identitasnya ingin Anda hapusBaca kebijakan yang ada dengan metode
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID yang dimiliki gambar iniIMAGE_NAME
: nama image
Compute Engine menampilkan kebijakan saat ini dalam respons.
Untuk menghapus anggota dan peran terkait, edit kebijakan dengan editor teks.
Tulis kebijakan yang telah diperbarui menggunakan metode
images.setIamPolicy
. Dalam isi permintaan, berikan kebijakan IAM yang telah diperbarui dari langkah sebelumnya.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/global/images/IMAGE_NAME:setIamPolicy
Ganti kode berikut:
PROJECT_ID
: project ID yang dimiliki gambar iniIMAGE_NAME
: nama image
- Baca tentang IAM.
- Lihat daftar peran IAM Compute Engine.
- Pelajari gambar.
- Pelajari cara membuat instance menggunakan image bersama.
- Pelajari cara membuat persistent disk booting mandiri.
- Pelajari cara menggunakan peran ini dengan penerapan Deployment Manager.
- Terapkan prinsip hak istimewa terendah dengan memberikan akses ke resource Compute Engine tertentu, bukan ke seluruh project.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola akses ke image kustom, minta administrator untuk memberi Anda peran IAM berikut:
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola akses ke image kustom. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola akses ke gambar kustom:
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Batasan
Pada gambar, Anda tidak dapat memberikan peran ke jenis anggota khusus
allUsers
.Memberikan izin untuk membuat gambar kustom
Anda dapat memberi pengguna kemampuan untuk membuat image kustom di organisasi atau project Anda.
Compute Engine menawarkan peran Compute Storage Admin (
roles/compute.storageAdmin
) yang telah ditetapkan dan dapat Anda tetapkan kepada pengguna sehingga mereka dapat membuat, menghapus, dan mengelola resource terkait penyimpanan, termasuk image, disk, dan snapshot. Jika memerlukan peran yang hanya mengizinkan pembuatan gambar, Anda harus membuat peran kustom. Dalam peran kustom Anda, sertakan izin berikut:Jika Anda memberi pengguna kemampuan untuk membuat image kustom di tingkat organisasi, pengguna tersebut dapat membuat image kustom untuk project apa pun dalam organisasi.
Konsol
gcloud
Untuk memberikan peran
roles/compute.storageAdmin
di tingkat organisasi, gunakan perintahgcloud organizations add-iam-policy-binding
:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Untuk memberikan peran
roles/compute.storageAdmin
di level project, gunakan perintahgcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Ganti kode berikut:
REST
Memberikan izin untuk menghapus gambar kustom
Bergantung pada kebutuhan Anda, Anda dapat memberi pengguna izin untuk melakukan hal berikut:
Memberikan izin di tingkat project memungkinkan pengguna menghapus semua gambar yang dimiliki oleh project tersebut. Memberikan izin di tingkat organisasi memungkinkan pengguna menghapus gambar apa pun yang dimiliki oleh organisasi tersebut, terlepas dari project-nya.
Compute Engine menawarkan peran Compute Storage Admin (
roles/compute.storageAdmin
) yang telah ditetapkan sebelumnya yang dapat Anda tetapkan kepada pengguna sehingga mereka dapat membuat, menghapus, dan mengelola resource terkait penyimpanan, termasuk image, disk, dan snapshot. Jika memerlukan peran yang hanya mengizinkan penghapusan gambar, Anda harus membuat peran kustom. Dalam peran khusus Anda, sertakan izin berikut:Konsol
Untuk memberikan izin menghapus gambar tertentu, lakukan hal berikut:
Untuk memberikan izin menghapus gambar untuk project atau organisasi, lakukan hal berikut:
gcloud
Untuk memberikan izin menghapus image di tingkat organisasi, gunakan perintah
gcloud organizations add-iam-policy-binding
:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='ROLE'
Untuk memberikan izin menghapus image di tingkat project, gunakan perintah
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='ROLE'
Untuk memberikan izin guna menghapus image tertentu, gunakan perintah
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Ganti kode berikut:
REST
Memberikan izin untuk membagikan gambar kustom dalam organisasi
Jika project Anda termasuk dalam organisasi, organisasi tersebut dapat memiliki beberapa project lain dengan tingkat akses yang bervariasi ke project lain. Saat membuat image kustom, Anda dapat membagikan image ini kepada pengguna lain dari project lain dalam organisasi.
Compute Engine menawarkan peran IAM bawaan berikut yang dapat Anda gunakan untuk pengelolaan image:
Atau, Anda juga dapat membuat peran IAM kustom sendiri.
Sebagai praktik terbaik, sebaiknya simpan semua gambar kustom Anda dalam satu project yang dikhususkan untuk menghosting gambar ini. Praktik ini meningkatkan pengelolaan gambar tersebut, dan memungkinkan Anda memberikan akses kepada tim tertentu hanya untuk gambar yang mereka butuhkan. Anda juga dapat memberikan akses tim ke seluruh project image, tetapi karena akses tim ke seluruh project image melanggar prinsip hak istimewa terendah, sebaiknya jangan melakukannya.
Contoh di bawah menunjukkan cara menambahkan grup agar pengguna grup tersebut memiliki akses ke gambar.
Konsol
Agar pengguna dapat meluncurkan image kustom bersama dari konsol Google Cloud, berikan peran IAM Pelihat (
roles/viewer
) kepada pengguna untuk project image. Memberikan peran ini membantu memastikan bahwa gambar yang dibagikan muncul dalam daftar pilihan gambar.gcloud
Untuk memperbarui kebijakan IAM untuk image tertentu, gunakan perintah
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Ganti kode berikut:
Atau, agar pengguna dapat melihat gambar bersama ini dalam permintaan
images.list
mereka, beri pengguna peran IAM Pelihat (roles/viewer
) untuk project gambar menggunakan perintahgcloud projects add-iam-policy-binding
. Jika tidak memerlukan pengguna untuk dapat melihat daftar gambar yang dibagikan, Anda dapat melewati langkah ini.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
REST
Atau, agar pengguna dapat melihat gambar bersama ini dalam permintaan
images.list
mereka, beri pengguna peran IAM Pelihat (roles/viewer
) untuk project gambar menggunakan metodeprojects.setIamPolicy
. Jika tidak ingin pengguna dapat melihat daftar gambar yang dibagikan, Anda dapat melewati langkah ini.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Memberikan izin untuk membagikan gambar kustom antar-organisasi
Membuat katalog gambar kustom dapat berguna untuk membagikan gambar kepada partner, pengguna, atau kontraktor yang berada di luar organisasi Anda. Untuk membagikan gambar kepada pengguna di luar organisasi, tambahkan mereka sebagai Pengguna Gambar ke project Anda:
Konsol
Agar pengguna dapat meluncurkan image kustom bersama dari konsol Google Cloud, berikan peran IAM Pelihat (
roles/viewer
) kepada pengguna untuk project image. Memberikan peran ini membantu memastikan bahwa gambar yang dibagikan muncul dalam daftar pemilihan gambar.gcloud
Untuk memberikan peran
roles/compute.imageUser
kepada pengguna, gunakan perintahgcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='roles/compute.imageUser'
Ganti kode berikut:
Atau, agar pengguna dapat melihat gambar bersama ini dalam permintaan
images.list
mereka, beri pengguna peran IAM Pelihat (roles/viewer
) untuk project gambar menggunakan perintahgcloud projects add-iam-policy-binding
. Jika tidak ingin pengguna melihat daftar gambar yang dibagikan, Anda dapat melewati langkah ini.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
REST
Memberikan izin untuk membagikan gambar kustom secara publik
Anda dapat membagikan image kustom kepada semua pengguna Compute Engine yang diautentikasi, terlepas dari apakah mereka merupakan bagian dari organisasi atau project Anda.
Anda hanya dapat membagikan resource, seperti gambar, kepada semua pengguna yang diautentikasi; Anda tidak dapat membagikan project atau organisasi kepada semua pengguna yang diautentikasi. Pembatasan ini, dan hierarki resource, membantu mencegah organisasi secara tidak sengaja membagikan seluruh project mereka kepada semua pengguna Compute Engine yang diautentikasi.
Contoh berikut menunjukkan cara memberikan peran Compute Image User (
roles/compute.imageUser
) (Pengguna Image Compute) kepada semua pengguna Compute Engine yang diautentikasi ke image kustom.gcloud
Untuk membuat image bersifat publik, gunakan perintah
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='allAuthenticatedUsers' \ --role='roles/compute.imageUser'
Ganti
IMAGE_NAME
dengan nama resource—misalnya,my_image
.REST
Memberikan akses grup instance terkelola ke image
Compute Engine memungkinkan Anda membuat grup instance, baik sebagai grup instance terkelola maupun tidak terkelola. Jika Anda membuat grup instance terkelola (MIG), Compute Engine akan menggunakan Agen Layanan Google API untuk memanggil Compute Engine API dan melakukan tindakan yang terkait dengan grup, seperti membuat ulang instance yang tidak sehat dan mengupdate instance.
Jika Anda ingin membuat MIG menggunakan image dari project lain, berikan peran Compute Image User (
roles/compute.imageUser
) ke akun layanan API milik project yang membuat MIG. Contoh:Setelah memberikan peran Pengguna Gambar Compute, Anda dapat mengakses gambar dari project lain menggunakan konsol atau URL gambar saat membuat template instance untuk grup terkelola.
Mendapatkan alamat email akun layanan
Setelah mengambil alamat email akun layanan, Anda dapat membuka salah satu bagian berikut:
Memberi MIG akses ke semua image dalam project
Setelah memiliki alamat email akun layanan, Anda dapat menambahkan alamat tersebut ke project lain dan memberinya peran Compute Image User (
roles/compute.imageUser
).Konsol
Sekarang Anda dapat membuat template instance berdasarkan image dari project image dan membuat MIG berdasarkan template instance.
gcloud
Tambahkan akun layanan dari project image menggunakan perintah
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' --role='roles/compute.imageUser'
Ganti kode berikut:
Sekarang Anda dapat membuat template instance berdasarkan image dari project image dan membuat MIG berdasarkan template instance.
REST
Memberi MIG akses ke image tertentu dalam project
Setelah memiliki alamat email akun layanan, Anda dapat menambahkan alamat tersebut ke project lain dan memberikan peran Compute Image User (
roles/compute.imageUser
) untuk image tertentu.Konsol
Sekarang Anda dapat membuat template instance berdasarkan image dari project image dan membuat MIG berdasarkan template instance.
gcloud
Untuk memberikan akses akun layanan ke image tertentu, gunakan perintah
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \ --role='roles/compute.imageUser'
Ganti kode berikut:
Sekarang Anda dapat membuat template instance berdasarkan image dari project image dan membuat MIG berdasarkan template instance.
REST
Mengontrol penggunaan gambar dan snapshot yang dibagikan
Setelah membagikan gambar kepada pengguna lain, Anda dapat mengontrol tempat pengguna tersebut menggunakan resource tersebut dalam organisasi Anda. Tetapkan batasan
constraints/compute.storageResourceUseRestrictions
untuk menentukan project tempat pengguna diizinkan menggunakan resource penyimpanan Anda.Anda harus memiliki izin untuk mengubah kebijakan organisasi guna menetapkan batasan ini. Misalnya, peran
resourcemanager.organizationAdmin
memiliki izin untuk menetapkan batasan ini.Setelah selesai mengonfigurasi batasan dalam kebijakan organisasi, uji batasan tersebut untuk memastikan batasan tersebut membuat pembatasan yang Anda inginkan.
Menggunakan gambar dari project lain
Jika seseorang memberi Anda akses ke satu atau beberapa gambar dalam project lain, Anda dapat mengakses gambar ini dalam project dengan menentukan project gambar dalam permintaan Anda.
Misalnya, untuk membuat instance menggunakan image bersama dari project lain, ikuti langkah-langkah yang tercantum di Membuat instance dari image bersama.
Anda juga dapat membuat volume disk booting dari image di project lain. Untuk mengetahui informasi tentang cara membuat disk booting dari image, lihat Membuat persistent disk booting mandiri.
Mencabut akses ke gambar bersama
Setelah pengguna tidak lagi memerlukan akses ke resource Compute Engine Anda, cabut aksesnya menggunakan konsol Google Cloud, Google Cloud CLI, atau REST.
Konsol
gcloud
Untuk menghapus pengguna dari peran pada image, gunakan perintah
gcloud compute images remove-iam-policy-binding
dengan flag--member
dan--role
:gcloud compute images remove-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Ganti kode berikut:
Jika Anda mencabut akses ke resource yang dalam versi beta, gunakan perintah
gcloud beta compute
.REST
Langkah berikutnya
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-02-06 UTC.
-