Kunci akun layanan adalah kunci pribadi yang memungkinkan Anda melakukan autentikasi sebagai akun layanan. Rotasi kunci adalah proses mengganti kunci Anda yang ada dengan kunci baru, kemudian membatalkan validasi kunci yang lama. Sebaiknya Anda secara rutin merotasi semua kunci yang Anda kelola, termasuk kunci akun layanan.
Merotasi kunci akun layanan dapat membantu mengurangi risiko yang disebabkan oleh kunci yang bocor atau dicuri. Jika kunci bocor, pihak tidak bertanggung jawab mungkin memerlukan waktu berhari-hari atau berminggu-minggu untuk menemukan kuncinya. Jika Anda merotasi kunci akun layanan Anda secara teratur, kemungkinan besar kunci yang bocor akan menjadi tidak valid saat pihak tidak bertanggung jawab mendapatkannya.
Memiliki proses yang telah ditetapkan untuk merotasi kunci akun layanan juga membantu Anda bertindak cepat jika Anda mencurigai bahwa kunci akun layanan telah disusupi.
Seberapa sering merotasi kunci
Sebaiknya Anda merotasi kunci setidaknya setiap 90 hari untuk mengurangi risiko yang ditimbulkan oleh kunci yang bocor.
Jika Anda yakin bahwa kunci akun layanan telah disusupi, sebaiknya Anda segera merotasikan kunci akun layanan.
Proses rotasi kunci
Untuk merotasi kunci akun layanan, lakukan langkah berikut:
- Identifikasi kunci akun layanan yang perlu dirotasi.
- Buat kunci baru untuk akun layanan yang sama.
- Ganti kunci yang ada dengan kunci baru di semua aplikasi.
- Nonaktifkan kunci yang lama dan pantau aplikasi untuk memastikan bahwa aplikasi tersebut berfungsi seperti yang diharapkan.
- Hapus kunci akun layanan yang diganti.
Anda dapat menyelesaikan langkah ini dengan menggunakan layanan pengelolaan secret terpusat, atau dengan menggunakan sistem notifikasi khusus.
Layanan pengelolaan secret terpusat
Banyak layanan pengelolaan secret terpusat yang menyediakan rotasi secret otomatis, seperti HashiCorp Vault. Anda dapat menggunakan layanan ini untuk menyimpan dan merotasi kunci akun layanan Anda.
Sebaiknya jangan gunakan Secret Manager Google Cloud untuk menyimpan dan merotasi kunci akun layanan. Hal ini karena, untuk mengakses secret dari Secret Manager, aplikasi Anda memerlukan identitas yang dapat dikenali oleh Google Cloud. Jika aplikasi Anda sudah memiliki identitas yang dapat dikenali Google Cloud, maka aplikasi Anda dapat menggunakan identitas tersebut untuk melakukan autentikasi ke Google Cloud, bukan menggunakan kunci akun layanan.
Konsep yang sama berlaku untuk layanan pengelolaan rahasia berbasis cloud lainnya, seperti Azure KeyVault dan AWS Secret Manager. Jika aplikasi sudah memiliki identitas yang dapat dikenali oleh penyedia cloud, aplikasi itu akan dapat menggunakan identitas tersebut untuk melakukan autentikasi ke Google Cloud, bukan menggunakan kunci akun layanan.
Sistem notifikasi khusus
Pendekatan lain untuk rotasi kunci akun layanan adalah membuat sistem yang mengirim notifikasi saat kunci perlu dirotasi. Contohnya, Anda dapat membuat sistem yang mengirimkan pemberitahuan saat sistem mendeteksi kunci yang dibuat lebih dari 90 hari yang lalu.
Pertama, Anda perlu mengidentifikasi kunci yang perlu dirotasi. Untuk mengidentifikasi kunci ini, sebaiknya gunakan Inventaris Aset Cloud untuk menelusuri semua kunci akun layanan yang dibuat sebelum waktu tertentu.
Contohnya, perintah berikut mencantumkan semua kunci akun layanan yang
dibuat sebelum 2023-03-10 00:00:00 UTC
di organisasi dengan ID
123456789012
:
gcloud asset search-all-resources \ --scope="organizations/123456789012" \ --query="createTime < 2023-03-10" \ --asset-types="iam.googleapis.com/ServiceAccountKey" \ --order-by="createTime"
Untuk mempelajari lebih lanjut cara menelusuri resource di Inventaris Aset Cloud, lihat Menelusuri resource. Setelah mengidentifikasi kunci yang perlu dirotasi, Anda dapat mengirimkan notifikasi kepada tim yang tepat.
Saat seseorang dinotifikasi untuk merotasi kunci, mereka harus melakukan hal berikut:
- Buat kunci baru untuk akun layanan yang sama.
- Ganti kunci yang ada dengan kunci baru di semua aplikasi.
- Nonaktifkan kunci yang telah diganti dan pantau aplikasi untuk mengonfirmasi bahwa kunci tersebut berfungsi seperti yang diharapkan.
- Setelah mengonfirmasi bahwa aplikasi berfungsi seperti yang diharapkan, hapus kunci yang lama.
Kunci akun layanan yang masa berlakunya segera berakhir
Sebaiknya jangan gunakan kunci akun layanan yang masa berlakunya segera berakhir untuk rotasi kunci. Hal ini karena kunci yang masa berlakunya segera berakhir dapat menyebabkan pemadaman layanan jika tidak dirotasi dengan benar. Untuk informasi selengkapnya tentang kasus penggunaan kunci akun layanan yang masa berlakunya segera berakhir, lihat masa berlaku kunci yang dikelola pengguna.
Langkah selanjutnya
- Gunakan Inventaris Aset Cloud untuk menelusuri resource, termasuk kunci akun layanan, berdasarkan waktu pembuatan.
- Membuat, menonaktifkan, dan menghapus kunci akun layanan.