Halaman ini merekomendasikan praktik terbaik keamanan yang harus Anda ingat saat menggunakan IAM.
Halaman ini dirancang untuk pengguna yang mahir dengan IAM. Jika Anda baru mulai menggunakan IAM, petunjuk ini tidak akan mengajari Anda cara menggunakannya; sebagai gantinya, pengguna baru harus memulai dengan Panduan Memulai IAM.
Hak istimewa terendah
❑
Peran dasar mencakup ribuan izin di semua layanan Google Cloud. Dalam lingkungan
produksi, jangan berikan peran dasar kecuali jika tidak ada alternatif. Sebagai gantinya, berikan
peran bawaan atau
peran khusus paling terbatas yang memenuhi kebutuhan Anda.
Jika perlu mengganti peran dasar, Anda dapat menggunakan rekomendasi peran untuk menentukan peran yang akan diberikan. Anda juga dapat menggunakan Policy Simulator untuk memastikan bahwa mengubah peran tidak akan memengaruhi akses akun utama. Sebaiknya berikan peran dasar dalam kasus berikut:
|
❑
Perlakukan setiap komponen aplikasi Anda sebagai batas kepercayaan terpisah. Jika Anda
memiliki beberapa layanan yang memerlukan izin berbeda, buat akun layanan terpisah
untuk setiap layanan, lalu hanya berikan izin yang diperlukan ke setiap
akun layanan.
|
❑
Perlu diingat bahwa kebijakan perizinan untuk resource turunan mewarisi dari kebijakan
perizinan untuk resource induknya. Misalnya, jika kebijakan izinkan untuk
suatu project memberi pengguna kemampuan untuk mengelola instance mesin virtual
(VM) Compute Engine, maka pengguna tersebut dapat mengelola VM Compute Engine apa pun dalam
project tersebut, terlepas dari kebijakan perizinan yang Anda tetapkan pada setiap VM.
|
❑
Berikan peran pada cakupan terkecil yang diperlukan. Misalnya, jika pengguna hanya memerlukan
akses untuk memublikasikan topik Pub/Sub, berikan peran Penayang kepada pengguna untuk topik
tersebut.
|
❑
Tentukan akun utama mana yang dapat
bertindak sebagai akun layanan.
Pengguna yang diberi peran Pengguna Akun Layanan untuk akun layanan dapat
mengakses semua resource yang aksesnya dimiliki akun layanan. Oleh karena itu,
berhati-hatilah saat memberikan peran Pengguna Akun Layanan kepada pengguna.
|
❑
Tentukan siapa yang memiliki akses untuk membuat dan mengelola akun layanan di project Anda.
|
❑
Memberikan peran
Admin IAM
Project dan Admin IAM Folder yang telah ditetapkan akan memungkinkan akses untuk mengubah
kebijakan izin tanpa memberikan akses baca, tulis, dan administratif
langsung ke semua sumber daya.
Memberikan peran Pemilik ( roles/owner ) kepada akun utama akan memungkinkannya mengakses dan
mengubah hampir semua resource, termasuk mengubah kebijakan izinkan. Jumlah hak
istimewa ini berpotensi berisiko. Berikan peran Pemilik hanya jika (hampir)
akses universal diperlukan.
|
❑
Gunakan binding peran bersyarat
agar akses berakhir secara otomatis, dan pertimbangkan
untuk
memberikan akses istimewa hanya berdasarkan waktu yang tepat.
|
Akun layanan
❑
Mengadopsi praktik terbaik untuk
menggunakan akun layanan Pastikan akun layanan memiliki hak istimewa
terbatas, dan melindungi dari potensi ancaman keamanan.
|
❑
Jangan hapus akun layanan yang digunakan untuk menjalankan instance. Hal ini dapat
menyebabkan semua atau sebagian aplikasi gagal jika Anda belum beralih
untuk menggunakan akun layanan alternatif terlebih dahulu.
|
❑
Gunakan nama tampilan akun layanan untuk melacak tujuan penggunaan akun
layanan dan izin yang diperlukan.
|
Kunci akun layanan
❑
Hindari penggunaan kunci akun layanan jika tersedia
opsi lain.
Kunci akun layanan akan berisiko keamanan jika tidak dikelola dengan benar. Anda harus
memilih alternatif yang lebih aman untuk kunci akun layanan
jika memungkinkan. Jika harus melakukan autentikasi dengan kunci akun layanan, Anda bertanggung jawab atas keamanan kunci pribadi dan untuk operasi lain yang dijelaskan dalam
Praktik terbaik untuk mengelola kunci akun layanan.
Jika Anda tidak dapat membuat kunci akun layanan, pembuatan kunci akun layanan mungkin dinonaktifkan untuk organisasi Anda. Untuk informasi selengkapnya, lihat
Mengelola resource organisasi yang aman secara default.
|
❑
Rotasikan kunci akun layanan Anda menggunakan
API akun layanan IAM.
Anda dapat merotasi kunci dengan membuat kunci baru, beralih
aplikasi untuk menggunakan kunci baru, menonaktifkan kunci lama, lalu menghapus
kunci lama jika Anda yakin bahwa kunci tersebut tidak lagi diperlukan.
|
❑
Terapkan
proses untuk mengelola kunci akun layanan yang dikelola pengguna.
|
❑
Berhati-hatilah agar tidak tertukar antara kunci enkripsi dengan kunci akun layanan. Kunci
enkripsi biasanya digunakan untuk mengenkripsi data dan kunci akun layanan digunakan untuk
mengamankan akses ke Google Cloud API.
|
❑
Jangan memasukkan kunci akun layanan ke dalam kode sumber atau membiarkannya di
direktori Download.
|
Pengauditan
❑
Gunakan log dari Cloud Audit Logs untuk
mengaudit perubahan pada kebijakan izin Anda secara rutin.
|
❑
Ekspor log audit ke Cloud Storage
untuk menyimpan log Anda dalam jangka waktu yang lama.
|
❑
Audit siapa yang memiliki kemampuan untuk mengubah kebijakan izin di project Anda.
|
❑
Kelola akses ke log menggunakan
Peran Logging.
|
❑
Terapkan kebijakan akses yang sama ke resource Google Cloud yang Anda gunakan
untuk merutekan log seperti yang diterapkan pada Logs Explorer.
|
❑
Gunakan log dari Cloud Audit Logs untuk mengaudit akses ke kunci akun layanan
secara rutin.
|
Manajemen kebijakan
❑
Jika akun utama memerlukan akses ke semua project di organisasi Anda, berikan peran kepada
akun utama di
tingkat organisasi.
|
❑
Berikan peran ke grup Google, bukan ke pengguna individu jika memungkinkan. Akan
lebih mudah untuk memperbarui anggota grup Google daripada memperbarui akun utama
dalam kebijakan izin Anda.
|