Halaman ini menjelaskan cara kerja sistem Identity and Access Management (IAM) Google Clouddan cara Anda dapat menggunakannya untuk mengelola akses di Google Cloud.
IAM adalah alat untuk mengelola otorisasi terperinci untuk Google Cloud. Dengan kata lain, IAM memungkinkan Anda mengontrol siapa yang dapat melakukan 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 apakah orang tersebut memiliki izin yang diperlukan. Jika tidak, IAM akan mencegahnya melakukan tindakan tersebut.
Memberikan izin kepada seseorang di IAM melibatkan tiga komponen berikut:
- Akun utama: Identitas orang atau sistem yang ingin Anda beri izin.
- Peran: Kumpulan izin yang ingin Anda berikan kepada akun utama.
- Resource: The Google Cloud resource yang ingin Anda izinkan untuk diakses oleh akun utama.
Untuk memberikan izin kepada akun utama untuk mengakses resource, Anda memberikan peran kepada akun utama di resource tersebut. Anda memberikan peran ini menggunakan kebijakan izin.
Kebijakan izin dilampirkan langsung ke some Google Cloud resource, yang diatur secara hierarkis—misalnya, project berisi resource khusus layanan. Artinya, Anda dapat memberikan akses ke satu resource atau penampung resource.
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 dapat dibagi menjadi dua kategori luas:
Pengguna manusia: Beberapa jenis akun utama IAM mewakili pengguna manusia. Anda menggunakan jenis akun utama ini untuk mengelola akses karyawan ke Google Cloud resource.
Jenis akun utama yang mewakili pengguna manusia mencakup Akun Google, grup Google, dan identitas gabungan di kumpulan identitas tenaga kerja.
Beban kerja: Beberapa jenis akun utama IAM mewakili beban kerja. Anda menggunakan jenis akun utama ini saat mengelola akses beban kerja ke Google Cloud resource.
Jenis akun utama yang mewakili beban kerja mencakup akun layanan dan identitas gabungan di workload identity pool.
Untuk mengetahui 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 one-to-one dengan metode REST API—misalnya, izin resourcemanager.projects.list memungkinkan Anda mencantumkan project Resource Manager.
Anda tidak dapat memberikan izin kepada akun utama secara langsung. Sebagai gantinya, Anda memberikan izin kepada akun utama dengan memberikan peran kepada mereka.
Peran adalah kumpulan izin. Saat Anda 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 Google Cloud layanan. Peran ini berisi izin yang diperlukan untuk melakukan tugas umum untuk setiap layanan yang diberikan. 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 ini memiliki beban pemeliharaan yang lebih tinggi daripada peran bawaan dan ada batasan jumlah peran khusus yang dapat Anda miliki di project dan di organisasi Anda.
Peran dasar: Peran yang sangat permisif yang memberikan akses luas ke Google Cloud layanan. 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 subset Google Cloud resource. Untuk mengetahui daftar lengkap resource yang dapat Anda berikan peran, lihat Jenis resource yang menerima kebijakan izin.
Google Cloud juga memiliki resource penampung, termasuk project, folder, dan organisasi. Resource penampung ini diatur secara hierarkis, yang memungkinkan resource turunan mewarisi kebijakan resource induknya. Artinya, memberikan peran kepada akun utama pada resource penampung akan memberikan akses akun utama ke resource penampung dan resource di penampung tersebut. Fitur ini memungkinkan Anda menggunakan satu pemberian peran untuk mengelola akses ke beberapa resource, termasuk resource yang tidak dapat Anda berikan peran secara langsung. Untuk mengetahui informasi selengkapnya, lihat Pewarisan kebijakan di halaman ini.
Kebijakan izin
Anda memberikan peran kepada akun utama menggunakan kebijakan izin. Sebelumnya, kebijakan ini disebut sebagai kebijakan IAM.
Kebijakan izin adalah objek YAML atau JSON yang dilampirkan ke a Google Cloud resource.
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 binding peran yang menyertakan peran dengan izin yang diperlukan, akun utama tersebut diizinkan untuk mengakses resource.
Untuk melihat contoh kebijakan izin dan mempelajari strukturnya, lihat Memahami kebijakan izin.
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 Google Cloud resource 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 Google Cloud hierarki resource:
Jika Anda menetapkan kebijakan izin pada resource penampung, kebijakan izin tersebut juga berlaku untuk semua resource dalam penampung tersebut. Konsep ini disebut pewarisan kebijakan, karena resource turunan secara efektif mewarisi kebijakan izin resource induknya.
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 kepada akun utama di penampung, bukan di resource dalam penampung.
Misalnya, jika Anda ingin mengizinkan administrator keamanan mengelola kebijakan izin untuk semua resource di organisasi Anda, Anda dapat memberikan peran Security Admin (
roles/iam.securityAdmin) kepada administrator tersebut di organisasi.Anda dapat memberikan akses ke resource yang tidak memiliki kebijakan izin sendiri. Tidak semua resource menerima kebijakan izin, tetapi semua resource mewarisi kebijakan izin dari induknya. Untuk memberikan akses akun utama ke resource yang tidak dapat memiliki kebijakan izin sendiri, berikan peran kepada akun utama di salah satu induk resource.
Misalnya, bayangkan Anda ingin memberikan izin kepada seseorang untuk menulis log ke bucket log. Bucket log tidak memiliki kebijakan izin sendiri, jadi untuk memberikan izin ini kepada seseorang, Anda dapat memberikan peran Penulis Bucket Log (
roles/logging.bucketWriter) kepada orang tersebut di project yang berisi bucket log.Untuk memahami siapa yang dapat mengakses resource, Anda juga harus melihat semua kebijakan izin yang memengaruhi resource. Untuk mendapatkan daftar lengkap akun utama yang memiliki akses ke resource, Anda harus melihat kebijakan izin resource dan kebijakan izin induk resource. Gabungan dari semua kebijakan ini disebut kebijakan izin efektif.
Untuk mengetahui 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 mana:
Jenis kebijakan tambahan: IAM menawarkan jenis kebijakan berikut selain kebijakan izin:
Kebijakan penolakan: Kebijakan penolakan mencegah akun utama menggunakan izin tertentu, meskipun akun utama tersebut diberi peran dengan izin tersebut.
Kebijakan Principal Access Boundary (PAB): Kebijakan Principal Access Boundary 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 akun utama tersebut telah diberi peran di 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 mengizinkan akun utama meminta dan diberikan akses sementara yang dapat diaudit ke resource. Misalnya, Anda dapat mewajibkan akun utama meminta akses setiap kali ingin melihat resource sensitif, bukan memberikan peran IAM secara permanen kepada akun utama tersebut.
Anda juga dapat mengonfigurasi apakah akun utama diwajibkan untuk memberikan justifikasi atau mendapatkan persetujuan saat meminta akses.
Untuk mempelajari Privileged Access Manager lebih lanjut, lihat Privileged Access Manager ringkasan.
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. Perubahan yang Anda buat mungkin juga 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 mempelajari cara memberikan, mengubah, dan mencabut peran IAM ke akun utama, lihat Mengelola akses ke project, folder, dan organisasi.
- Untuk melihat peran IAM yang tersedia, lihat Peran bawaan.
- Untuk mendapatkan bantuan dalam memilih peran bawaan yang paling sesuai, baca Menemukan peran bawaan yang tepat.
- Untuk melihat 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 juga akan mendapatkan kredit gratis senilai $300 di untuk menjalankan, menguji, dan men-deploy workload.
Mulai secara gratis