Salah satu cara untuk melindungi resource sensitif adalah dengan membatasi akses ke resource tersebut. Namun, membatasi akses ke resource sensitif juga menimbulkan hambatan bagi siapa saja yang terkadang perlu mengakses resource tersebut. Misalnya, pengguna mungkin memerlukan akses darurat, atau darurat, ke resource sensitif untuk menyelesaikan insiden.
Dalam situasi ini, sebaiknya berikan izin kepada pengguna untuk mengakses resource untuk sementara. Untuk meningkatkan kualitas pengauditan, sebaiknya catat alasan pengguna untuk mengakses resource tersebut.
Di Google Cloud, ada beberapa cara agar Anda dapat mengelola akses sementara yang ditingkatkan seperti ini.
Grup Google
Salah satu cara untuk mengelola akses sementara yang ditingkatkan adalah dengan memberi grup Google akses ke resource sensitif, lalu menambahkan dan menghapus pengguna dari grup tersebut untuk mengontrol akses mereka.
Agar dapat menyiapkan grup Google untuk akses sementara yang ditingkatkan, pertama-tama buat grup, lalu berikan peran yang ingin Anda berikan sementara kepada pengguna. Jika Anda menggunakan kebijakan penolakan, pertimbangkan juga untuk membuat grup dikecualikan dari aturan penolakan yang relevan untuk menghindari penolakan yang tidak terduga.
Setelah menyiapkan grup, Anda dapat menambahkan dan menghapus pengguna untuk mengubah aksesnya. Jika menggunakan Google Groups API, Anda dapat menambahkan pengguna ke grup untuk sementara menggunakan masa berlaku keanggotaan.
Jika ingin mencatat justifikasi pengguna untuk mengakses resource sensitif, Anda harus menentukan proses dan alat operasional Anda sendiri.
Misalnya, untuk mengelola akses darurat ke resource Compute Engine, Anda dapat
membuat grup, emergency-compute-access@example.com
, dan memberinya peran Compute
Admin (roles/compute.admin
). Jika pengguna memerlukan akses administratif
darurat ke resource komputasi, Anda dapat menambahkannya ke
grup emergency-compute-access@example.com
. Setelah keadaan darurat teratasi,
Anda dapat menghapusnya dari grup.
IAM Conditions
Anda dapat menggunakan IAM Conditions untuk memberi pengguna akses berbatas waktu ke resource Google Cloud. Untuk informasi selengkapnya, lihat Mengonfigurasi akses sementara.
Jika ingin mencatat justifikasi pengguna untuk mengakses resource sensitif, Anda harus menentukan proses dan alat operasional Anda sendiri.
Binding peran yang telah berakhir masa berlakunya tidak otomatis dihapus dari kebijakan izin Anda. Untuk memastikan kebijakan izinkan Anda tidak melebihi ukuran maksimum untuk kebijakan yang diizinkan, sebaiknya hapus binding peran yang sudah tidak berlaku secara berkala.
Kebijakan penolakan tidak mendukung kondisi berbasis waktu. Akibatnya, Anda tidak dapat menggunakan kondisi dalam kebijakan penolakan untuk mengecualikan pengguna dari aturan penolakan untuk sementara.
Akses hak istimewa tepat waktu
Akses Just-In-Time adalah aplikasi open source yang menggunakan IAM Conditions untuk memberi pengguna akses hak istimewa tepat waktu ke resource Google Cloud. Aplikasi ini dirancang untuk berjalan di App Engine atau Cloud Run.
Aplikasi ini memiliki manfaat berikut dibandingkan dengan menambahkan binding peran bersyarat secara manual:
- Pengguna dapat menelusuri peran yang dapat mereka aktifkan dengan Akses Just-In-Time.
- Pengguna diwajibkan untuk memberikan justifikasi sebelum mendapatkan akses.
- Aplikasi ini menggantikan binding kondisional yang ada, bukan membuat binding baru, yang membantu mempertahankan ukuran kebijakan izin IAM Anda.
Untuk informasi lebih lanjut tentang Akses Just-In-Time, lihat Mengelola akses hak istimewa tepat waktu ke project.
Peniruan akun layanan
Ketika akun utama terautentikasi, seperti pengguna atau akun layanan lain, melakukan autentikasi sebagai akun layanan untuk mendapatkan izin akun layanan, hal ini disebut meniru identitas akun layanan. Dengan meniru identitas akun layanan, akun utama yang diautentikasi dapat mengakses apa pun yang dapat diakses oleh akun layanan. Hanya akun utama terautentikasi dengan izin yang sesuai yang dapat meniru identitas akun layanan.
Guna menyiapkan akun layanan untuk akses yang ditingkatkan sementara, buat akun layanan, lalu berikan peran yang ingin Anda berikan sementara kepada pengguna. Jika Anda menggunakan kebijakan penolakan, pertimbangkan juga untuk menambahkan akun layanan yang dikecualikan dari aturan penolakan yang relevan untuk menghindari penolakan yang tidak terduga.
Setelah menyiapkan akun layanan, Anda dapat memberi pengguna akses yang ditingkatkan untuk sementara dengan mengizinkan mereka meniru identitas akun layanan. Ada beberapa cara agar pengguna dapat meniru identitas akun layanan:
Beri pengguna peran yang memungkinkan mereka membuat kredensial berumur pendek untuk akun layanan. Kemudian, pengguna dapat menggunakan kredensial yang memiliki masa aktif singkat untuk meniru identitas akun layanan.
Berikan peran Akun Layanan OpenID Connect Pembuat Token Identitas (
roles/iam.serviceAccountOpenIdTokenCreator
) agar pengguna dapat membuat token ID OpenID Connect (OIDC) berumur pendek untuk layanan Anda.Berikan peran Pembuat Token Akun Layanan (
roles/iam.serviceAccountTokenCreator
) untuk memungkinkan pengguna membuat jenis kredensial akun layanan berikut:- Token akses OAuth 2.0, yang dapat Anda gunakan untuk mengautentikasi dengan Google API
- Token ID OIDC
- Token Web JSON (JWT) yang ditandatangani dan blob biner
Jika Anda memberikan salah satu peran ini kepada pengguna, mereka dapat meniru identitas akun layanan kapan saja untuk meningkatkan akses mereka. Namun, mereka cenderung tidak dapat mengakses atau memodifikasi resource sensitif secara tidak sengaja.
Untuk mempelajari cara meniru identitas akun layanan, lihat Menggunakan peniruan akun layanan.
Buat layanan broker token yang memberi pengguna kredensial berumur pendek untuk akun layanan setelah mereka melakukan autentikasi dan memberikan justifikasi. Kemudian, pengguna dapat menggunakan kredensial yang memiliki masa aktif singkat untuk meniru identitas akun layanan.
Dengan metode ini, Anda dapat memutuskan kapan akan mengizinkan pengguna meniru akun layanan.
Untuk mempelajari cara membuat kredensial dengan masa berlaku singkat, lihat Membuat kredensial berumur pendek untuk akun layanan.
Untuk mempelajari peniruan akun layanan lebih lanjut, lihat Peniruan identitas akun layanan.
Langkah selanjutnya
- Gunakan IAM Conditions untuk memberikan akses sementara ke akun utama.
- Terapkan aplikasi Akses Just-In-Time.
- Buat kredensial berumur pendek secara manual untuk meniru identitas akun layanan.