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
).
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 VM 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
pada 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 Anda.
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 Anda.
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 Anda.
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 kondisional.
Simpan perubahan Anda.
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 kondisional.
Simpan perubahan Anda.
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 kondisional.
Simpan perubahan Anda.
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 kondisional.
Simpan perubahan Anda.
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 kondisional.
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 Create an instance.
- Tentukan Name untuk VM Anda. Untuk informasi selengkapnya, lihat Konvensi penamaan resource.
- Opsional: Ubah Zone untuk VM ini. Jika Anda memilih Any, Google akan otomatis memilih zona untuk Anda berdasarkan jenis dan ketersediaan mesin.
- Pilih Machine configuration untuk VM Anda.
- Di bagian Boot disk, klik Change untuk mengonfigurasi boot disk Anda, lalu lakukan hal berikut ini:
- Pilih tab Custom Images.
- Untuk memilih project image, klik Select a project, lalu lakukan tindakan berikut ini:
- Pilih project yang berisi image tersebut.
- Klik Open.
- Di dalam daftar Image, klik image yang ingin Anda impor.
- Pilih jenis dan ukuran boot disk Anda.
- Untuk mengonfirmasi opsi boot disk, klik Select.
Untuk mengizinkan traffic HTTP atau HTTPS ke VM, di bagian Firewall, pilih Allow HTTP traffic atau Allow HTTPS traffic.
Konsol Google Cloud menambahkan tag jaringan ke VM Anda dan membuat aturan firewall masuk yang sesuai, yang mengizinkan semua traffic masuk di
tcp:80
(HTTP) atautcp:443
(HTTPS). Tag jaringan mengaitkan aturan firewall dengan VM. Untuk informasi selengkapnya, lihat Ringkasan aturan firewall dalam dokumentasi Cloud Next Generation Firewall.- Untuk memulai dan membuat VM, klik Create.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Buat VM menggunakan
gcloud compute instances create command
, dan gunakan tanda--image
dan--image-project
untuk menentukan nama image serta project tempat image tersebut berada:gcloud compute instances create VM_NAME \ --image=IMAGE \ --image-project=IMAGE_PROJECT
Ganti kode berikut:
VM_NAME
: name untuk VM yang baruIMAGE
: nama imageIMAGE_PROJECT
: project tempat image berada
Jika perintah ini berhasil,
gcloud
akan merespons dengan properti VM yang baru:Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS example-instance us-central1-b e2-standard-2 10.240.0.4 104.198.53.60 RUNNING
- Di Konsol Google Cloud, buka halaman VM instance.
- Klik Create instance.
- Tentukan parameter yang Anda inginkan.
- Di bagian atas atau bawah halaman, klik Kode yang setara, lalu klik tab Terraform untuk melihat kode Terraform.
PROJECT_ID
: ID project tempat VM akan dibuatZONE
: zone tempat VM akan dibuatMACHINE_TYPE_ZONE
: zona yang berisi jenis mesin yang akan digunakan untuk VM baruMACHINE_TYPE
: jenis mesin, telah ditetapkan atau kustom, untuk VM baruVM_NAME
: nama VM yang baruIMAGE_PROJECT
: nama project yang berisi image yang dibagikanIMAGE
atauIMAGE_FAMILY
: tentukan salah satu dari hal berikut ini:IMAGE
: nama image yang dibagikan. Misalnya,"sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2"
.IMAGE_FAMILY
: jika image yang dibagikan dibuat sebagai bagian dari kelompok image kustom, tentukan kelompok image kustom tersebut.Ini akan membuat VM dari OS image dan versi OS terbaru yang masih digunakan dalam kelompok image kustom Anda. Misalnya, jika Anda menentukan
"sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family"
, Compute Engine akan membuat VM dari versi terbaru OS image di dalam kelompok imagefinance-debian-family
kustom.
NETWORK_NAME
: jaringan VPC yang ingin Anda gunakan untuk VM. Anda dapat menentukandefault
untuk menggunakan jaringan default Anda.ENABLE_SECURE_BOOT
: Jika Anda memilih image yang mendukung fitur Shielded VM, Compute Engine, secara default, akan mengaktifkan virtual trusted platform module (vTPM) dan integrity monitoring. Compute Engine tidak mengaktifkan Booting Aman secara default.Jika Anda menentukan
true
untukenableSecureBoot
, Compute Engine akan membuat VM dengan ketiga fitur Shielded VM diaktifkan. Setelah Compute Engine memulai VM Anda, untuk mengubah opsi Shielded VM, Anda harus menghentikan VM tersebut.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 VM 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 Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan 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 perintah gcloud 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
perintah gcloud 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 langkah-langkah 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 perintah gcloud 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 metode projects.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 perintah gcloud
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, berikan peran IAM Viewer (roles/viewer
) kepada pengguna untuk project gambar menggunakan perintah gcloud 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 ke image ke grup instance terkelola
Compute Engine memungkinkan Anda membuat grup VM, 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 VM yang tidak sehat dan mengupdate VM.
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 VM menggunakan image bersama dari project lain, ikuti langkah-langkah berikut:
Konsol
gcloud
Terraform
Proses pembuatan VM dengan image yang dibagikan di Terraform sama seperti proses pembuatan VM dengan image yang tersedia untuk publik.
REST
Proses untuk membuat VM dengan image bersama di dalam API tersebut sama seperti jika Anda
membuat VM dengan image yang tersedia untuk publik.
Untuk membuat VM dari image bersama, gunakan
metode instances.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }
Ganti kode berikut:
Anda juga dapat membuat persistent disk booting dari image di project lain. Untuk 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 selanjutnya
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 2024-12-22 UTC.