Topik ini menjelaskan cara menetapkan akses sementara (yang akan berakhir) ke resource Google Cloud menggunakan binding peran bersyarat dalam kebijakan izin Anda. Dengan menggunakan atribut tanggal/waktu, Anda dapat menerapkan kontrol berbasis waktu saat mengakses resource tertentu. Contohnya, Anda dapat memberikan akses sementara ke project yang dimulai dan berhenti pada waktu tertentu atau secara terjadwal dan berulang.
Sebelum memulai
- Baca Ringkasan Ketentuan untuk memahami dasar-dasar binding peran bersyarat Identity and Access Management (IAM).
- Tinjau atribut tanggal/waktu yang dapat digunakan dalam ekspresi kondisi. Atribut tanggal/waktu dikenali oleh semua layanan Google Cloud .
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengelola binding peran bersyarat, minta administrator Anda untuk memberikan peran IAM berikut:
-
Untuk mengelola akses ke project:
Admin IAM Project (
roles/resourcemanager.projectIamAdmin) pada project -
Untuk mengelola akses ke folder:
Folder Admin (
roles/resourcemanager.folderAdmin) pada folder -
Untuk mengelola akses ke project, folder, dan organisasi:
Admin Organisasi (
roles/resourcemanager.organizationAdmin) pada organisasi -
Untuk mengelola akses ke hampir semua Google Cloud resource:
Security Admin (
roles/iam.securityAdmin) pada project, folder, atau organisasi yang resource-nya ingin Anda kelola aksesnya
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola binding peran bersyarat. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola binding peran bersyarat:
-
Untuk mengelola akses ke project:
-
resourcemanager.projects.getIamPolicydalam project -
resourcemanager.projects.setIamPolicydalam project
-
-
Untuk mengelola akses ke folder:
-
resourcemanager.folders.getIamPolicypada folder -
resourcemanager.folders.setIamPolicypada folder
-
-
Untuk mengelola akses ke organisasi:
-
resourcemanager.organizations.getIamPolicypada organisasi -
resourcemanager.organizations.setIamPolicypada organisasi
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Memberikan akses sementara
Binding peran bersyarat dapat digunakan untuk memberikan akses berbatas waktu ke resource, sehingga memastikan pengguna tidak dapat lagi mengakses resource tersebut setelah tanggal dan waktu yang ditentukan berakhir.
Pertimbangkan skenario berikut: aturan keamanan informasi perusahaan ExampleCo menekankan bahwa tidak boleh ada karyawan yang memiliki akses tanpa batas ke resource dalam project produksi. Sebelumnya, admin telah menyetel dan menghapus binding peran IAM secara manual untuk memenuhi kebutuhan darurat engineer. Untuk mengurangi overhead administratif, ExampleCo dapat mengonfigurasi binding peran bersyarat dengan kondisi tanggal/waktu untuk menetapkan tanggal akhir binding.
Untuk memberikan akses yang dapat habis masa berlakunya ke resource project:
Konsol
Di konsol Google Cloud , buka halaman IAM.
Dari daftar akun utama, temukan akun utama yang diinginkan, lalu klik tombol .
Dari panel Edit izin, temukan peran yang diinginkan untuk mengonfigurasi kondisinya. Kemudian, di bagian Kondisi IAM (opsional), klik Tambahkan kondisi IAM.
Di panel Edit kondisi, masukkan judul dan deskripsi opsional untuk kondisi tersebut.
Anda dapat menambahkan ekspresi kondisi menggunakan Pembuat kondisi atau Editor kondisi. Pembuat kondisi menyediakan antarmuka interaktif untuk memilih jenis kondisi, operator, dan detail lain yang berlaku terkait ekspresi yang Anda inginkan. Editor kondisi menyediakan antarmuka berbasis teks untuk memasukkan ekspresi secara manual menggunakan sintaksis CEL.
Pembuat kondisi:
- Dari drop-down Jenis kondisi, pilih Akses Non-Permanen.
- Dari drop-down Operator, pilih berdasarkan.
- Dari drop-down Waktu, klik tombol untuk memilih dari rentang tanggal dan waktu.
- Klik Simpan untuk menerapkan kondisi.
- Setelah panel Edit kondisi ditutup, klik Simpan lagi dari panel Edit izin untuk memperbarui kebijakan izin Anda.
Editor kondisi:
Klik tab Editor kondisi, lalu masukkan ekspresi berikut (ganti stempel waktu dengan stempel waktu Anda sendiri):
request.time < timestamp("2020-07-01T00:00:00.000Z")Setelah memasukkan ekspresi Anda, Anda dapat secara opsional memilih untuk memvalidasi sintaksis CEL dengan mengklik Jalankan Linter di atas kotak teks di kanan atas.
Klik Simpan untuk menerapkan kondisi.
Setelah panel Edit kondisi ditutup, klik Simpan lagi dari panel Edit izin untuk memperbarui kebijakan izin Anda.
gcloud
Kebijakan izin ditetapkan menggunakan pola baca-ubah-tulis.
Jalankan perintah
gcloud projects get-iam-policy
guna mendapatkan kebijakan izin saat ini untuk project. Dalam contoh
berikut, versi JSON dari kebijakan izin didownload ke jalur pada disk.
Perintah:
gcloud projects get-iam-policy project-id --format=json > filepath
Format JSON dari kebijakan izin didownload:
{
"bindings": [
{
"members": [
"user:my-user@example.com"
],
"role": "roles/owner"
},
{
"members": [
"group:my-group@example.com"
],
"role": "roles/iam.securityReviewer"
}
],
"etag": "BwWKmjvelug=",