Ringkasan kontrol akses


Secara default, semua project Google Cloud dilengkapi dengan satu pengguna: pembuat project asli. Tidak ada pengguna lain yang memiliki akses ke project, sehingga akses ke resource Compute Engine sampai pengguna ditambahkan sebagai anggota project atau terikat dengan resource tertentu. Halaman ini menjelaskan cara menambahkan pengguna baru ke project dan cara menetapkan kontrol akses untuk resource Compute Engine menggunakan Identity and Access Management (IAM).

Untuk mengetahui informasi tentang cara memberikan akses ke aplikasi yang berjalan di instance Compute Engine, lihat Cara otorisasi ditentukan.

Opsi kontrol akses untuk pengguna

Agar pengguna dapat membuat dan mengelola resource Compute Engine, Anda dapat menambahkan pengguna sebagai anggota tim ke project Anda atau ke resource tertentu dan memberi mereka izin menggunakan peran IAM.

Anggota tim dapat berupa pengguna perorangan dengan Akun Google yang valid, Google Grup, akun layanan, atau domain Google Workspace. Saat menambahkan anggota tim ke project atau ke resource, Anda menentukan peran yang akan diberikan kepada mereka. IAM menyediakan tiga jenis peran: peran standar, peran dasar, dan peran khusus.

Resource mewarisi kebijakan resource induknya dalam hierarki resource Google Cloud. Kebijakan yang efektif untuk resource adalah gabungan kebijakan yang ditetapkan pada resource tersebut dan kebijakan yang diwarisi dari induknya.

Peran Compute Engine yang telah ditetapkan

Peran yang telah ditetapkan memberikan sekumpulan izin terkait. Compute Engine menawarkan peran yang telah ditetapkan berikut:

Jabatan Peran Kemampuan Pengguna target
Pengguna image Compute Engine

Izin untuk mencantumkan dan menggunakan image dari project lain. Beri anggota peran ini bersama dengan peran lain agar anggota tersebut dapat menggunakan image dari project lain untuk membuat resource baru. Misalnya, berikan peran ini dan peran Admin Instance agar anggota dapat menggunakan image dari project lain untuk membuat instance VM dan persistent disk.

Jika Anda membuat grup instance terkelola atau jika menggunakan Deployment Manager untuk membuat instance VM, Anda mungkin perlu memberikan izin Layanan API mempertimbangkan peran ini sebelum Anda dapat menggunakan image dari project lain.

  • Akun layanan
  • Administrator sistem
  • Developer
Admin instance Compute Engine (v1)

Kontrol penuh atas instance Compute Engine, grup instance, disk, cuplikan, dan image. Akses hanya baca ke semua resource jaringan Compute Engine.

Jika anggota mengelola instance VM yang dikonfigurasi untuk dijalankan sebagai akun layanan, Anda juga harus memberikan peran roles/iam.serviceAccountUser agar mereka dapat menetapkan akun layanan ke instance VM.

  • Administrator sistem
  • Developer
Peran admin Compute Engine

Kontrol penuh dari semua resource Compute Engine. Jika pengguna mengelola instance VM yang dikonfigurasi untuk dijalankan sebagai akun layanan, Anda juga harus memberikan peran roles/iam.serviceAccountUser.

  • Administrator sistem
  • Developer
Admin jaringan Compute Engine

Izin untuk membuat, memodifikasi, dan menghapus resource jaringan, kecuali untuk aturan firewall dan sertifikat SSL. Peran admin jaringan memungkinkan akses hanya baca ke aturan firewall, sertifikat SSL, dan instance (untuk melihat alamat IP sementaranya). Peran admin jaringan tidak mengizinkan anggota untuk membuat, memulai, menghentikan, atau menghapus instance.

Administrator jaringan
Admin keamanan Compute Engine

Izin untuk membuat, mengubah, dan menghapus aturan firewall dan sertifikat SSL.

Administrator keamanan
Admin load balancer Compute Enginebeta

Izin untuk membuat, mengubah, dan menghapus load balancer dan resource terkait.

Administrator load balancer
Pengguna akun layanan Compute Engine

Izin untuk membuat instance yang menggunakan akun layanan, dan izin untuk memasang disk dan menetapkan metadata pada instance yang sudah dikonfigurasi untuk dijalankan sebagai akun layanan.

Anda tidak boleh memberikan peran ini sendiri karena peran tersebut tidak memberikan izin ke Compute Engine API. Anda harus memberi anggota peran ini dan peran lain, seperti peran admin instance.

  • Administrator sistem
  • Developer
Peran pelihat Compute Engine

Akses hanya baca untuk mendapatkan dan membuat daftar resource Compute Engine, tanpa dapat membaca data yang tersimpan di dalamnya. Misalnya, akun dengan peran ini dapat menginventarisasi semua disk dalam suatu project, tetapi akun tidak dapat membaca data apa pun di disk tersebut.

Administrator sistem
Pengguna jaringan Compute Engine

Izin untuk menggunakan jaringan VPC bersama. Secara khusus, berikan peran ini kepada pemilik layanan yang perlu menggunakan resource dalam project host. Setelah diberikan, pemilik layanan dapat menggunakan subnetwork dan jaringan yang termasuk dalam project host. Misalnya, pengguna jaringan dapat membuat instance VM yang termasuk dalam jaringan host VPC bersama, tetapi mereka tidak dapat menghapus atau membuat jaringan baru dalam project host.

  • Administrator sistem
  • Developer
Pelihat jaringan Compute Engine

Akses baca saja ke semua resource jaringan. Misalnya, jika Anda memiliki software yang memeriksa konfigurasi jaringan, Anda dapat memberikan peran network pelihat kepada akun layanan software tersebut.

  • Administrator jaringan
  • Administrator sistem
  • Developer
  • Akun layanan
Admin penyimpanan Compute Enginebeta

Izin untuk membuat, memodifikasi, dan menghapus disk, image, dan snapshot.

Misalnya, jika perusahaan Anda memiliki seseorang yang mengelola image dan Anda tidak ingin orang tersebut memiliki peran editor di project, maka beri akun mereka peran ini.

  • Administrator sistem
  • Developer
Admin VPC bersama Compute Engine

Izin untuk mengelola project host VPC bersama, khususnya mengaktifkan project host dan mengaitkan project layanan ke jaringan project host. Peran ini hanya dapat diberikan di tingkat organisasi.

Pembuat project

Untuk melihat daftar metode API yang diberi izin oleh peran tertentu, tinjau dokumentasi Peran IAM Compute Engine.

Matriks peran yang telah ditetapkan

Tabel berikut memberikan perbandingan lengkap kemampuan setiap peran Compute Engine.

Kemampuan Admin instance (v1) Pengguna image Pengguna jaringan Pelihat jaringan Network Admin Security Admin Storage Admin Admin VPC Bersama Compute Admin Compute Viewer Admin load balancer
Membuat atau menghapus instance VM *
SSH ke instance VM * *
Mencantumkan atau mendapatkan instance VM
Membuat atau menghapus image, disk, dan snapshot
Menampilkan daftar atau mendapatkan image
Membuat atau menghapus grup instance *
Mencantumkan atau mendapatkan grup instance
Membuat dan mengelola load balancer
Membuat dan mengelola VPN
Melihat resource jaringan/subnetwork
Melihat aturan firewall
Membuat dan mengelola firewall serta sertifikat SSL untuk firewall,
untuk sertifikat SSL
Membuat dan mengelola project host VPC bersama
Menggunakan jaringan dan subnetwork dalam project host VPC bersama
Membuat dan mengelola jaringan dan subnetwork

*Jika instance VM dapat dijalankan sebagai akun layanan, berikan juga peran pengguna akun layanan.

Untuk melihat daftar metode API yang izinnya diberikan oleh peran tertentu, tinjau dokumentasi Peran IAM Compute Engine.

Peran IAM dasar

Peran IAM dasar dipetakan langsung ke peran pemilik, editor, dan pelihat project lama. Umumnya, Anda harus menggunakan peran yang telah ditetapkan jika memungkinkan. Namun, dalam beberapa kasus, saat IAM belum didukung, Anda mungkin perlu menggunakan peran dasar untuk memberikan izin yang tepat.

Jabatan Peran Izin
Owner Semua hak istimewa pelihat dan editor, ditambah kemampuan untuk mengubah setelan penagihan, mengelola kontrol akses, dan menghapus project.
Editor Semua hak istimewa pelihat, ditambah kemampuan untuk membuat, memodifikasi, dan menghapus resource.
Viewer Izin hanya baca ke semua resource; tidak memiliki izin untuk mengubah sumber daya.

Untuk mempelajari peran dasar lebih lanjut, baca dokumentasi untuk peran dasar.

Jika peran dasar atau yang telah ditetapkan tidak memenuhi kebutuhan, Anda dapat membuat peran khusus.

Kebijakan IAM untuk resource Compute Engine

Anda dapat memberikan akses ke resource Compute Engine seperti instance VM, image, dan disk, dengan melampirkan kebijakan IAM langsung ke resource tersebut. Dengan kebijakan IAM, Anda dapat mengelola peran IAM pada resource tersebut, bukan mengelola peran di level project. Hal ini memberi Anda fleksibilitas untuk menerapkan prinsip hak istimewa terendah, yaitu memberikan akses hanya ke resource tertentu yang diperlukan kolaborator untuk melakukan pekerjaan mereka.

Dengan kebijakan IAM untuk resource Compute Engine, organisasi dapat:

  • Beri pengguna akses ke subset resource tertentu. Misalkan Alice harus mengelola subset instance dalam sebuah project. Dengan kebijakan IAM level instance, Anda memberinya peran compute.instanceAdmin.v1 hanya pada instance tersebut. Jika Anda memberi Alice peran yang sama pada project, maka dia akan memiliki izin untuk mengubah semua instance dalam project tersebut.
  • Izinkan administrator memberikan akses. Administrator dapat memberi orang lain akses ke instance, disk, dan image tanpa harus menjadi pemilik project yang andal. Misalkan Bobi adalah developer yang telah diberi peran compute.storageAdmin pada image tertentu. Dia dapat membagikan image tersebut kepada rekan satu timnya dengan memberi mereka peran compute.imageUser pada image tersebut. Tanpa kebijakan IAM untuk resource Compute Engine, Bob tidak dapat membagikan image tersebut kepada rekan satu timnya, kecuali jika dia menjadi pemilik project karena dia perlu mengubah kebijakan IAM project.

Resource juga mewarisi kebijakan resource induknya. Jika Anda menetapkan kebijakan di level project, kebijakan tersebut akan diwarisi oleh semua resource turunannya. Kebijakan yang efektif untuk suatu resource adalah gabungan kebijakan yang ditetapkan pada resource tersebut dan kebijakan yang diwariskan dari posisi yang lebih tinggi dalam hierarki. Untuk mengetahui informasi selengkapnya, baca informasi tentang hierarki kebijakan IAM.

Kebijakan organisasi

Jika Anda adalah anggota Google Workspace, project Anda mungkin menjadi bagian dari Resource organisasi. Resource organisasi adalah supernode dalam hierarki resource Google Cloud yang terkait erat dengan akun Google Workspace. Setelah Resource organisasi dibuat untuk domain Google Workspace, semua project Google Cloud yang dibuat oleh anggota domain akan menjadi bagian dari Resource organisasi tersebut.

Organisasi dapat menerapkan kebijakan organisasi, yaitu kebijakan yang membatasi konfigurasi yang diizinkan di seluruh hierarki resource Google Cloud Anda. Untuk Compute Engine, Anda dapat menerapkan kebijakan berikut:

Untuk menetapkan Kebijakan organisasi, Anda harus sudah diberi peran orgpolicy.policyAdmin di organisasi tersebut. Anda juga dapat menetapkan penggantian khusus project jika ada pengecualian pada kebijakan.

Untuk mempelajari Organisasi lebih lanjut, baca dokumentasi Organisasi.

Untuk mempelajari Kebijakan organisasi lebih lanjut, baca dokumentasi Kebijakan organisasi.

Memberi pengguna akses SSH ke instance VM

Agar pengguna dapat terhubung ke instance VM menggunakan SSH tanpa memberi pengguna kemampuan untuk mengelola resource Compute Engine, tambahkan kunci publik pengguna ke project. atau menambahkan kunci publik pengguna ke instance tertentu. Dengan metode ini, Anda dapat menghindari penambahan pengguna sebagai anggota project, sambil tetap memberinya akses ke instance tertentu.

Untuk mempelajari SSH dan mengelola kunci SSH lebih lanjut, baca ringkasan kunci SSH.

Perhatikan bahwa jika Anda memberikan peran roles/compute.instanceAdmin.v1 kepada anggota project, mereka dapat otomatis terhubung ke instance menggunakan SSH, selama instance tidak disiapkan untuk dijalankan sebagai akun layanan. Jika instance disiapkan untuk dijalankan sebagai akun layanan, Anda juga harus memberikan peran roles/iam.serviceAccountUser kepada anggota sebelum dapat terhubung ke instance.

Jika Anda menambahkan anggota sebagai pemilik atau editor project, mereka juga akan otomatis memiliki akses SSH ke instance VM dalam project.

Kontrol akses untuk aplikasi yang berjalan pada instance VM

Jika Anda menjalankan kode aplikasi pada instance dan aplikasi perlu melakukan autentikasi ke Google Cloud API lainnya, Anda dapat membuat akun layanan dan memberikan peran IAM khusus pada akun layanan ini untuk melakukan autentikasi ke Google Cloud API lain di nama klien. Akun layanan adalah akun khusus yang tidak memiliki kredensial pengguna dan cocok untuk interaksi server ke server.

Untuk mempelajari akun layanan lebih lanjut, baca dokumentasi Akun layanan.

Identitas workload terkelola untuk workload Compute Engine

Anda dapat menyiapkan penyediaan otomatis dan pengelolaan siklus proses sertifikat X.509 dari Layanan Certificate Authority (Layanan CA) menggunakan identitas beban kerja terkelola. Sertifikat identitas workload terkelola dikeluarkan dari Layanan CA, yang merupakan layanan Google Cloud yang skalabel dan sangat tersedia yang membantu Anda menyederhanakan dan mengotomatiskan deployment, pengelolaan, dan keamanan layanan CA sekaligus tetap mengontrol kunci pribadi Anda.

Dengan identitas workload terkelola, Anda dapat memanfaatkan mTLS per VM, yang dikelola oleh Compute Engine. mTLS per VM menggunakan sertifikat X.509 yang diterbitkan saat Anda membuat VM. Sertifikat mTLS ini dirotasi secara otomatis, sehingga Anda tidak perlu lagi khawatir untuk mengelola sertifikat.

Identitas workload terkelola menyediakan fondasi untuk mengaktifkan komunikasi yang saling diautentikasi dan dienkripsi antara dua VM Compute Engine. Misalnya, saat Anda menggunakan identitas beban kerja terkelola, layanan A yang berjalan di satu VM berkomunikasi dengan layanan B yang berjalan di VM lain melalui saluran terenkripsi yang dibuat menggunakan mTLS.

Untuk informasi tentang cara mengonfigurasi identitas workload terkelola, lihat Mengautentikasi workload ke workload lain melalui mTLS.

Apa langkah selanjutnya?