Halaman ini menjelaskan cara kerja sistem Identity and Access Management (IAM) Google Clouddan cara menggunakannya untuk mengelola akses di Google Cloud.
IAM adalah alat untuk mengelola otorisasi terperinci untuk Google Cloud. Dengan kata lain, kebijakan ini memungkinkan Anda mengontrol siapa yang dapat melakukan tindakan apa pada resource mana.
Akses di Google Cloud
Setiap tindakan di Google Cloud memerlukan izin tertentu. Saat seseorang mencoba melakukan tindakan di Google Cloud—misalnya, membuat instance VM atau melihat set data—IAM akan memeriksa terlebih dahulu untuk melihat apakah mereka memiliki izin yang diperlukan. Jika tidak, IAM akan mencegahnya melakukan tindakan tersebut.
Memberikan izin kepada seseorang di IAM melibatkan tiga komponen berikut:
- Prinsipal: Identitas orang atau sistem yang ingin Anda beri izin
- Peran: Kumpulan izin yang ingin Anda berikan kepada akun utama
- Resource: Google Cloud Resource yang ingin Anda izinkan untuk diakses akun utama
Untuk memberikan izin kepada akun utama agar dapat mengakses resource, Anda harus memberikan peran pada resource tersebut. Anda memberikan peran ini menggunakan kebijakan izinkan.
Bagian berikut menjelaskan konsep ini secara lebih mendetail.
Akun utama
Di Google Cloud , Anda mengontrol akses untuk akun utama. Akun utama mewakili satu atau beberapa identitas yang telah diautentikasi ke Google Cloud.
Sebelumnya, akun utama disebut sebagai anggota. Beberapa API masih menggunakan istilah tersebut.
Ada berbagai jenis akun utama di IAM, tetapi akun tersebut dapat dibagi menjadi dua kategori besar:
Pengguna manusia: Beberapa jenis akun utama IAM mewakili pengguna manusia. Anda menggunakan jenis akun utama ini untuk mengelola akses karyawan ke resourceGoogle Cloud .
Jenis akun utama yang mewakili pengguna manusia mencakup Akun Google, grup Google, dan identitas gabungan dalam kumpulan identitas tenaga kerja.
Workload: Beberapa jenis akun utama IAM mewakili workload. Anda menggunakan jenis akun utama ini saat mengelola resourceGoogle Cloud akses beban kerja.
Jenis akun utama yang mewakili beban kerja mencakup akun layanan dan identitas gabungan dalam workload identity pool.
Untuk informasi selengkapnya tentang akun utama, lihat Akun utama IAM.
Izin dan peran
Izin menentukan operasi apa saja yang diizinkan pada suatu resource. Di
IAM, izin biasanya direpresentasikan dalam bentuk
service.resource.verb
. Sering kali,
izin terkait satu per satu dengan metode REST API—misalnya, izin resourcemanager.projects.list
memungkinkan Anda mencantumkan
project Resource Manager.
Anda tidak dapat memberikan izin secara langsung kepada akun utama. Sebagai gantinya, Anda memberikan izin ke akun utama dengan memberikan peran kepada mereka.
Peran adalah kumpulan izin. Saat memberikan peran kepada akun utama, Anda memberikan semua izin dalam peran tersebut kepada akun utama tersebut.
Ada tiga jenis peran:
Peran bawaan: Peran yang dikelola oleh layanan Google Cloud . Peran ini berisi izin yang diperlukan untuk melakukan tugas umum untuk setiap layanan tertentu. Misalnya, peran Pub/Sub Publisher (
roles/pubsub.publisher
) memberikan akses untuk memublikasikan pesan ke topik Pub/Sub.Peran khusus: Peran yang Anda buat yang hanya berisi izin yang Anda tentukan. Anda memiliki kontrol penuh atas izin dalam peran ini. Namun, peran kustom memiliki beban pemeliharaan yang lebih tinggi daripada peran bawaan dan ada batasan jumlah peran kustom yang dapat Anda miliki di project dan di organisasi Anda.
Peran dasar: Peran yang sangat permisif yang memberikan akses luas ke layananGoogle Cloud . Peran ini dapat berguna untuk tujuan pengujian, tetapi tidak boleh digunakan di lingkungan produksi.
Untuk mengetahui informasi selengkapnya tentang peran dan izin, lihat Peran dan izin.
Resource
Sebagian besar Google Cloud layanan memiliki resource sendiri. Misalnya, Compute Engine memiliki resource seperti instance, disk, dan subnetwork.
Di IAM, Anda memberikan peran pada resource. Memberikan peran kepada akun utama pada resource berarti akun utama dapat menggunakan izin dalam peran tersebut untuk mengakses resource.
Anda dapat memberikan peran pada sebagian resource Google Cloud . Untuk mengetahui daftar lengkap resource yang dapat Anda berikan peran, lihat Jenis resource yang menerima kebijakan izin.
Google Cloud juga memiliki beberapa resource penampung, termasuk project, folder, dan organisasi. Memberikan peran kepada akun utama pada resource penampung akan memberi akun utama akses ke resource penampung dan resource dalam penampung tersebut. Fitur ini memungkinkan Anda menggunakan satu pemberian peran untuk memberi akun utama akses ke beberapa resource, termasuk resource yang tidak dapat Anda berikan peran secara langsung. Untuk informasi selengkapnya, lihat Pewarisan kebijakan di halaman ini.
Kebijakan izin
Anda memberikan peran kepada akun utama menggunakan kebijakan izinkan. Sebelumnya, kebijakan ini disebut sebagai kebijakan IAM.
Kebijakan izin adalah objek YAML atau JSON yang dilampirkan ke resource Google Cloud.
Diagram berikut menunjukkan struktur kebijakan izin:
Setiap kebijakan izin berisi daftar binding peran yang mengaitkan peran IAM dengan akun utama yang diberi peran tersebut.
Saat akun utama terautentikasi mencoba mengakses resource, IAM akan memeriksa kebijakan izin resource tersebut untuk menentukan apakah akun utama memiliki izin yang diperlukan. Jika akun utama berada dalam peran yang terikat yang menyertakan peran dengan izin yang diperlukan, akun tersebut diizinkan untuk mengakses resource.
Untuk melihat contoh kebijakan izinkan dan mempelajari strukturnya, lihat Memahami kebijakan izinkan.
Pewarisan kebijakan
Google Cloud memiliki resource penampung—seperti project, folder, dan organisasi—yang memungkinkan Anda mengatur resource dalam hierarki induk-turunan. Hierarki ini disebut hierarki resource.
Hierarki resource Google Cloud memiliki struktur berikut:
- Organisasi adalah node root dalam hierarki.
- Folder merupakan turunan dari organisasi, atau dari folder lain.
- Project merupakan turunan dari organisasi, atau dari suatu folder.
- Resource untuk setiap layanan merupakan turunan dari project.
Diagram berikut adalah contoh hierarki resource Google Cloud :
Jika Anda menetapkan kebijakan izin pada resource penampung, kebijakan izin juga berlaku untuk semua resource dalam penampung tersebut. Konsep ini disebut pewarisan kebijakan, karena resource turunan secara efektif mewarisi kebijakan izin resource ancestor-nya.
Pewarisan kebijakan memiliki implikasi berikut:
Anda dapat menggunakan satu binding peran untuk memberikan akses ke beberapa resource. Jika Anda ingin memberikan akses akun utama ke semua resource dalam penampung, berikan peran pada penampung, bukan pada resource dalam penampung.
Misalnya, jika Anda ingin mengizinkan administrator keamanan mengelola kebijakan izin untuk semua resource di organisasi, Anda dapat memberinya peran Security Admin (
roles/iam.securityAdmin
) di organisasi.Anda dapat memberikan akses ke resource yang tidak memiliki kebijakan izinnya sendiri. Tidak semua resource menerima kebijakan izin, tetapi semua resource mewarisi kebijakan izin dari ancestor-nya. Untuk memberi akun utama akses ke resource yang tidak dapat memiliki kebijakan izinnya sendiri, berikan peran ke akun utama tersebut di salah satu ancestor resource.
Misalnya, bayangkan Anda ingin memberi seseorang izin untuk menulis log ke bucket log. Bucket log tidak memiliki kebijakan izinnya sendiri, jadi untuk memberi seseorang izin ini, Anda dapat memberinya peran Penulis Bucket Log (
roles/logging.bucketWriter
) di project yang berisi bucket log.Untuk memahami siapa yang dapat mengakses resource, Anda juga perlu melihat semua kebijakan izin yang memengaruhi resource tersebut. Untuk mendapatkan daftar lengkap akun utama yang memiliki akses ke resource, Anda perlu melihat kebijakan izin resource dan kebijakan izin ancestor resource. Gabungan dari semua kebijakan ini disebut kebijakan izin yang efektif.
Untuk informasi selengkapnya tentang pewarisan kebijakan untuk kebijakan izin, lihat Menggunakan hierarki resource untuk kontrol akses.
Kontrol akses lanjutan
Selain kebijakan izin, IAM menyediakan mekanisme kontrol akses berikut untuk membantu Anda menentukan siapa yang memiliki akses ke resource apa:
Jenis kebijakan tambahan: IAM menawarkan jenis kebijakan berikut selain kebijakan izin:
Kebijakan tolak: Kebijakan tolak mencegah akun utama menggunakan izin tertentu, meskipun mereka diberi peran dengan izin tersebut.
Kebijakan batas akses akun utama (PAB): Kebijakan batas akses akun utama menentukan dan menerapkan resource yang memenuhi syarat untuk diakses oleh akun utama. Akun utama tidak dapat mengakses resource yang tidak memenuhi syarat untuk diakses, meskipun mereka telah diberi peran pada resource tersebut.
Untuk mempelajari kebijakan ini lebih lanjut, lihat Jenis kebijakan.
IAM Conditions: IAM Conditions memungkinkan Anda menentukan dan menerapkan kontrol akses berbasis atribut bersyarat. Anda dapat menggunakan kondisi dalam berbagai jenis kebijakan. Misalnya, Anda dapat menambahkan kondisi ke binding peran dalam kebijakan izin untuk memastikan bahwa peran hanya diberikan jika kondisi terpenuhi.
Anda dapat menulis kondisi berdasarkan atribut seperti resource dalam permintaan dan waktu permintaan.
Untuk mempelajari IAM Conditions lebih lanjut, lihat Ringkasan IAM Conditions.
Privileged Access Manager (PAM): Dengan Privileged Access Manager, Anda dapat memungkinkan akun utama meminta dan diberi akses sementara yang dapat diaudit ke resource. Misalnya, Anda dapat mewajibkan akun utama meminta akses setiap kali mereka ingin melihat resource sensitif, bukan memberikan peran IAM secara permanen.
Anda juga dapat mengonfigurasi apakah akun utama diwajibkan untuk memberikan justifikasi atau mendapatkan persetujuan saat mereka meminta akses.
Untuk mempelajari Privileged Access Manager lebih lanjut, lihat ringkasan Privileged Access Manager.
Model konsistensi untuk IAM API
IAM API memiliki konsistensi tertunda. Dengan kata lain, jika Anda menulis data dengan IAM API dan segera membaca data tersebut, maka operasi baca mungkin akan menampilkan versi data yang lebih lama. Selain itu, perubahan yang Anda buat mungkin memerlukan waktu untuk memengaruhi pemeriksaan akses.
Model konsistensi ini memengaruhi cara kerja IAM API. Misalnya, jika Anda membuat akun layanan dan segera merujuk ke akun layanan tersebut dalam permintaan lain, maka IAM API mungkin mengatakan akun layanan tidak dapat ditemukan. Perilaku ini terjadi karena operasi memiliki konsistensi tertunda; perlu waktu agar akun layanan baru dapat terlihat oleh permintaan baca.
Langkah berikutnya
- Untuk mempelajari cara mengonfigurasi identitas untuk Google Cloud, lihat Pengelolaan identitas untuk Google Cloud.
- Untuk mengetahui petunjuk tentang cara memberikan, mengubah, dan mencabut peran IAM ke akun utama, lihat Mengelola akses ke project, folder, dan organisasi.
- Untuk mengetahui daftar peran IAM yang tersedia, lihat Peran bawaan.
- Untuk mendapatkan bantuan dalam memilih peran bawaan yang paling sesuai, baca Memilih peran bawaan.
- Untuk mengetahui informasi selengkapnya tentang jenis kebijakan yang tersedia di IAM, lihat Jenis kebijakan.
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Mulai secara gratis