Halaman ini menjelaskan cara kerja sistem Identity and Access Management (IAM) Trusted Cloud by S3NS dan cara menggunakannya untuk mengelola akses di Trusted Cloud.
IAM adalah alat untuk mengelola otorisasi terperinci untuk Trusted Cloud. Dengan kata lain, IAM memungkinkan Anda mengontrol siapa yang dapat melakukan apa pada resource mana.
Akses di Trusted Cloud
Setiap tindakan di Trusted Cloud memerlukan izin tertentu. Saat seseorang mencoba melakukan tindakan di Trusted Cloud—misalnya, membuat instance VM atau melihat set data—IAM akan memeriksa terlebih dahulu untuk melihat apakah orang tersebut memiliki izin yang diperlukan. Jika tidak, IAM akan mencegah mereka melakukan tindakan tersebut.
Memberi seseorang izin di IAM melibatkan tiga komponen berikut:
- Principal: Identitas orang atau sistem yang ingin Anda beri izin
- Peran: Kumpulan izin yang ingin Anda berikan kepada akun utama
- Resource: Resource Trusted Cloud yang ingin Anda izinkan aksesnya oleh principal
Untuk memberikan izin kepada akun utama agar dapat mengakses resource, Anda memberikan peran kepada akun utama tersebut pada resource. Anda memberikan peran ini menggunakan kebijakan izinkan.
Bagian berikut menjelaskan konsep ini secara lebih mendetail.
Kepala sekolah
Di Trusted Cloud , Anda mengontrol akses untuk akun utama. Akun utama mewakili satu atau beberapa identitas yang telah diautentikasi ke Trusted Cloud.
Sebelumnya, akun utama disebut sebagai anggota. Beberapa API masih menggunakan istilah tersebut.
Ada berbagai jenis akun utama di IAM, tetapi akun utama tersebut dapat dibagi menjadi dua kategori luas:
Pengguna manusia: Beberapa jenis akun utama IAM mewakili pengguna manusia. Anda menggunakan jenis prinsipal ini untuk mengelola akses karyawan Anda ke resourceTrusted Cloud .
Misalnya, identitas gabungan di workforce identity pool merepresentasikan pengguna manusia.
Workload: Beberapa jenis principal IAM merepresentasikan workload. Anda menggunakan jenis akun utama ini saat mengelola akses beban kerja ke resourceTrusted Cloud .
Jenis akun utama yang merepresentasikan beban kerja mencakup akun layanan dan identitas gabungan dalam 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 secara langsung kepada akun utama. 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 layanan Trusted 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, beban pemeliharaannya 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 layananTrusted 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 Trusted Cloud layanan memiliki sumber dayanya sendiri. Misalnya, Compute Engine memiliki resource seperti instance, disk, dan subnetwork.
Di IAM, Anda memberikan peran pada resource. Memberi akun utama peran pada resource berarti akun utama dapat menggunakan izin dalam peran tersebut untuk mengakses resource.
Anda dapat memberikan peran pada subset Trusted Cloud resource. Untuk mengetahui daftar lengkap resource yang dapat Anda berikan peran, lihat Jenis resource yang menerima kebijakan izinkan.
Trusted Cloud juga memiliki beberapa resource penampung, termasuk project, folder, dan organisasi. Memberikan peran kepada akun utama pada resource penampung memberikan akses akun utama ke resource penampung dan resource di penampung tersebut. Dengan fitur ini, Anda dapat menggunakan pemberian peran tunggal untuk memberikan akses akun utama 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 izinkan adalah objek YAML atau JSON yang dilampirkan ke resource Trusted Cloud.
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, maka akun utama tersebut diizinkan untuk mengakses resource.
Untuk melihat contoh kebijakan izinkan dan mempelajari strukturnya, lihat Memahami kebijakan izinkan.
Pewarisan kebijakan
Trusted 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 Trusted 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 Trusted Cloud :
Jika Anda menetapkan kebijakan izinkan pada resource penampung, kebijakan izinkan 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 tersebut di penampung, bukan di resource dalam penampung.
Misalnya, jika Anda ingin administrator keamanan mengelola kebijakan izin untuk semua resource di organisasi Anda, Anda dapat memberinya peran Admin Keamanan (
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 izinkan sendiri, berikan peran kepada akun utama tersebut di salah satu turunan resource.
Misalnya, 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 izinkan yang memengaruhi resource tersebut. Untuk mendapatkan daftar lengkap akun utama yang memiliki akses ke resource, Anda perlu melihat kebijakan izinkan resource dan kebijakan izinkan induk resource. Gabungan dari semua kebijakan ini disebut kebijakan izin yang efektif.
Untuk mengetahui informasi selengkapnya tentang pewarisan kebijakan untuk kebijakan izin, lihat Menggunakan hierarki resource untuk kontrol akses.
Kontrol akses lanjutan
Selain kebijakan izinkan, IAM menyediakan mekanisme kontrol akses berikut untuk membantu Anda menentukan siapa yang memiliki akses ke resource tertentu:
- Kebijakan penolakan: Kebijakan penolakan mencegah akun utama menggunakan izin tertentu, meskipun jika mereka diberi peran dengan izin tersebut. Untuk mempelajari lebih lanjut kebijakan penolakan, lihat Kebijakan penolakan.
IAM Conditions: Dengan IAM Conditions, Anda dapat 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 lebih lanjut IAM Conditions, lihat Ringkasan IAM Conditions.
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, lalu segera merujuk ke akun layanan tersebut dalam permintaan lain, IAM API mungkin mengatakan bahwa 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 Trusted Cloud, lihat Pengelolaan identitas untuk Trusted 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 Menemukan peran bawaan yang tepat.
- Untuk mengetahui informasi selengkapnya tentang jenis kebijakan yang tersedia di IAM, lihat Jenis kebijakan.