Menggunakan IAM dengan aman

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:

  • Saat layanan Google Cloud tidak menyediakan peran yang telah ditetapkan. Lihat tabel peran bawaan untuk mengetahui daftar semua peran bawaan yang tersedia.
  • Saat Anda ingin memberikan izin yang lebih luas untuk sebuah project. Hal ini sering terjadi saat Anda memberikan izin dalam lingkungan pengembangan atau pengujian.
  • Saat Anda bekerja dalam tim kecil yang anggota timnya tidak memerlukan izin terperinci.
❑  
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 mengautentikasi dengan kunci akun layanan, Anda bertanggung jawab atas keamanan kunci pribadi dan atas operasi lainnya yang dijelaskan oleh 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 mengetahui 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.