Mencabut akses ke project Google Cloud

Dokumen ini menjelaskan praktik terbaik, skenario, dan prosedur untuk mencabut akses pengguna ke project Google Cloud. Karena setiap bisnis memiliki kebijakan dan beban kerja yang berbeda, sebaiknya gunakan dokumen ini untuk membuat kebijakan dan prosedur Anda sendiri yang memungkinkan Anda mencabut akses secara konsisten dan tepat waktu.

Saat seorang karyawan keluar dari perusahaan, interaksi Anda dengan kontraktor berakhir, atau kolaborator beralih ke project lain, ada beberapa hal yang harus Anda lakukan untuk mencabut akses yang tidak diperlukan ke resource cloud Anda.

Beberapa proses ini bersifat opsional. Anda harus menentukan langkah mana yang harus dilakukan, bergantung pada kebutuhan keamanan, produk yang digunakan, dan kepercayaan pada pengguna yang aksesnya dicabut.

Praktik terbaik untuk menyiapkan project Anda

Anda dapat meningkatkan kemampuan project untuk mencabut akses pengguna secara efisien dengan membuat pilihan yang bijaksana pada waktu penyiapan.

Gabungkan akun pengguna dengan penyedia identitas Anda yang sudah ada

Saat menggabungkan akun pengguna dengan penyedia identitas yang ada, pastikan Anda menyebarkan peristiwa penangguhan dan penghapusan pengguna. Dengan propagasi, saat Anda menangguhkan atau menghapus akun pengguna dari penyedia identitas, pengguna juga akan kehilangan akses ke resource Google Cloud .

Untuk informasi selengkapnya, lihat Praktik terbaik untuk menggabungkan Google Cloud dengan penyedia identitas eksternal.

Untuk praktik terbaik lainnya terkait identitas, lihat Praktik terbaik untuk merencanakan akun dan organisasi.

Untuk informasi tentang Workforce Identity Federation, lihat Workforce Identity Federation.

Pertimbangkan untuk menggunakan Google Grup untuk mengelola akses ke resource project

Google Grup memungkinkan Anda mengatur pengguna berdasarkan keanggotaan tim, persyaratan akses, atau kriteria lainnya. Setelah membuat Google Grup, Anda dapat menetapkan akses ke project dan resource Google Cloud berdasarkan keanggotaan grup. Saat pengguna berpindah ke tim atau fungsi pekerjaan lain, Anda dapat memindahkan akun pengguna ke grup lain, yang secara otomatis menghapus akses yang diberikan oleh kebijakan izinkan ke grup sebelumnya.

Penggunaan Google Grup tidak sesuai dalam semua situasi. Misalnya, Anda tidak boleh menggunakan grup yang hanya didasarkan pada struktur organisasi bisnis Anda untuk mengelola akses. Untuk praktik terbaik terkait penggunaan grup, lihat Praktik terbaik untuk menggunakan Google Grup.

Untuk informasi selengkapnya, lihat Mengelola grup di Google Cloud Console dan Membuat grup di organisasi Anda

Gunakan Login OS.

Gunakan Login OS, bukan kunci SSH berbasis metadata, sehingga kunci yang diizinkan pengguna ditautkan ke identitas Google mereka. Saat Anda menghapus akun pengguna, kunci yang diotorisasi dan akses ke VM akan otomatis dicabut. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Login OS untuk memastikan evaluasi akses berkelanjutan terhadap kebijakan IAM.

Untuk petunjuknya, lihat Menyiapkan Login OS.

Membatasi akses dari akun pengguna eksternal

Jangan berikan akses ke project kepada pengguna eksternal karena Anda tidak dapat mengontrol siklus proses akun pengguna ini. Untuk membatasi pengguna eksternal, gunakan batasan daftar iam.allowedPolicyMemberDomains.

Untuk mengetahui petunjuknya, lihat Membatasi identitas menurut domain.

Menggunakan proxy autentikasi dengan database

Proxy autentikasi memungkinkan Anda menghubungkan siklus proses kredensial database ke siklus proses identitas Google. Saat Anda menangguhkan atau menghapus akun pengguna di Cloud Identity atau Google Workspace, akses ke database akan otomatis dicabut.

Untuk mengetahui informasi selengkapnya, lihat Proxy Auth Cloud SQL dan Proxy Auth AlloyDB untuk PostgreSQL.

Bersiap untuk rotasi kredensial

Desain project dan resource Anda agar kredensial level project dapat dirotasi tanpa mengganggu. Ini adalah secret yang terkait dengan project itu sendiri, seperti kunci akun layanan, secret klien OAuth, dan secret khusus aplikasi seperti sandi root database. Untuk informasi selengkapnya, lihat Menangani kredensialGoogle Cloud yang disusupi.

Membatasi kunci API

Saat membuat dan mengelola kunci API, batasi kumpulan situs web, alamat IP, dan aplikasi yang dapat menggunakannya. Akun pengguna dengan peran seperti Viewer atau Admin Kunci API dapat melihat kunci API project Anda, sehingga kunci apa pun yang tidak dibatasi harus dirotasi atau dihapus untuk mencabut akses penagihan. Untuk informasi selengkapnya, lihat Mengamankan kunci API.

Memantau izin akses

Melacak akses dengan cermat membantu memitigasi potensi penyalahgunaan akses. Anda dapat menggunakan pemberi rekomendasi peran IAM untuk melacak penggunaan peran guna membantu menerapkan prinsip hak istimewa terendah. Selain itu, kemampuan Cloud Infrastructure Entitlement Management (CIEM) Security Command Center memungkinkan Anda mengelola identitas yang memiliki akses ke resource mana dalam deployment dan memitigasi potensi kerentanan yang dihasilkan dari kesalahan konfigurasi.

Menggunakan akses level bucket yang seragam untuk Cloud Storage

Akses level bucket yang seragam memungkinkan Anda menggunakan IAM saja untuk mengelola izin untuk bucket Cloud Storage. Gunakan akses level bucket yang seragam bersama dengan opsi kontrol akses lainnya untuk menyaring siapa yang dapat mengakses konten di bucket Anda.

Praktik terbaik tambahan

Selain praktik terbaik yang dijelaskan dalam dokumen ini, tinjau praktik terbaik berikut:

Skenario untuk mencabut akses ke project Google Cloud

Jika Anda mengimplementasikan praktik terbaik yang tercantum dalam Praktik terbaik untuk menyiapkan project, tabel berikut merangkum cara mencabut akses.

Skenario Mencabut opsi akses
Ketika seorang karyawan keluar dari perusahaan Anda. Jika Anda menyiapkan penggabungan antara Cloud Identity atau Google Workspace dengan penyediaan pengguna otomatis, pencabutan akses dapat terjadi secara otomatis.

Jika Anda tidak mengikuti praktik terbaik dan memberi identitas pengguna eksternal akses ke resource, Anda harus menghapus identitas secara manual dari project dan resource.
Seorang karyawan mengubah fungsi pekerjaannya. Kemudian Anda menghapus karyawan dari grup tim.
Maka Interaksi kontrak berakhir. Jika Anda menyiapkan penggabungan antara Cloud Identity atau Google Workspace dengan penyediaan pengguna otomatis, pencabutan akses dapat terjadi secara otomatis.

Jika Anda tidak mengikuti praktik terbaik dan memberi identitas pengguna eksternal akses ke resource, Anda harus menghapus identitas secara manual dari project dan resource Anda.
Akun yang disusupi. Untuk petunjuknya, lihat Menangani kredensialGoogle Cloud yang disusupi.

Cabut akses

Jika Anda telah membuat pilihan yang tepat dalam penyiapan project, proses berikut akan menjadi cara yang efisien untuk mencabut akses seseorang.

Untuk menentukan resource yang dapat diakses seseorang, gunakan Penganalisis Kebijakan. Untuk mengetahui petunjuknya, lihat Menganalisis kebijakan IAM.

Menghapus akun pengguna dari penyedia identitas

Jika pengguna keluar dari organisasi, dan Anda telah menggabungkan Cloud Identity atau Google Workspace dengan penyedia identitas melalui penyediaan pengguna otomatis, pencabutan akses dapat terjadi secara otomatis.

Untuk informasi tentang cara menghapus pengguna Workforce Identity Federation, lihat Menghapus pengguna Workforce Identity Federation dan datanya.

Memindahkan akun ke grup lain

Jika pengguna mengubah peran, hapus akun pengguna dari Google Grup mereka saat ini. Jika Anda telah menggabungkan Cloud Identity atau Google Workspace dengan penyedia identitas untuk mengelola keanggotaan grup, pencabutan akses dapat terjadi secara otomatis.

Untuk informasi selengkapnya, lihat Melihat dan mengedit detail grup.

Menghapus akun pengguna dari kebijakan izin IAM

Untuk menghapus akun pengguna dari kebijakan izin tingkat project, lakukan tindakan berikut:

  1. Di konsol Google Cloud, buka halaman IAM Permissions:.

    Izin IAM

  2. Pilih project yang ingin Anda hapus akun penggunanya.

  3. Klik kotak centang di samping baris yang berisi akun pengguna yang ingin Anda hapus dari daftar anggota, lalu klik Hapus.

Untuk memverifikasi lokasi lain tempat kebijakan izin dapat ditetapkan, termasuk folder, organisasi, atau resource individual, lihat Memverifikasi bahwa izin telah dihapus.

Merotasi kredensial project

Merotasi kunci akun layanan

Jika menggunakan kunci akun layanan untuk mengautentikasi ke akun layanan, Anda harus merotasi kunci. Selain itu, pertimbangkan apakah orang tersebut memiliki akses ke kunci akun layanan di luar alat Google Cloud, seperti repositori kode sumber atau konfigurasi aplikasi.

  1. Di Google Cloud Console, buka halaman Kredensial API.

    Kredensial API

  2. Klik nama akun layanan yang ingin diubah.

  3. Pada tab Kunci, klik Tambahkan Kunci.

  4. Klik Buat kunci baru.

  5. Pilih Jenis kunci yang ingin dibuat. Dalam sebagian besar situasi, JSON direkomendasikan tetapi P12 tersedia untuk kompatibilitas mundur dengan kode yang bergantung padanya.

  6. Klik Create. File yang berisi kunci baru akan otomatis didownload melalui browser Anda. Deploy kunci ini ke aplikasi apa pun yang membutuhkannya.

  7. Setelah mengonfirmasi bahwa kunci baru berfungsi seperti yang diharapkan, kembali ke halaman kredensial dan hapus kunci lama yang terkait dengan akun layanan tersebut.

Merotasi rahasia client ID OAuth

Rahasia client ID OAuth tidak memberikan akses langsung ke project Anda. Namun, jika mengetahui rahasia client ID OAuth, penyerang dapat melakukan spoofing pada aplikasi Anda dan meminta akses ke Akun Google pengguna Anda dari aplikasi berbahaya.

Anda mungkin perlu merotasi rahasia client ID OAuth jika orang yang aksesnya dicabut pernah memiliki akses ke rahasia tersebut, termasuk dalam repositori kode sumber, konfigurasi aplikasi, atau melalui peran IAM.

  1. Di Google Cloud Console, buka halaman Kredensial API.

    Kredensial API

  2. Klik nama client ID OAuth 2.0 yang ingin diubah.

  3. Di halaman ID Klien, klik Setel ulang rahasia.

  4. Klik Reset pada dialog konfirmasi untuk segera mencabut rahasia lama dan menetapkan yang baru. Perhatikan bahwa setiap pengguna aktif harus autentikasi ulang pada permintaan berikutnya.

  5. Deploy rahasia baru ini ke aplikasi apa pun yang membutuhkannya.

Rotasi kunci API

Kunci API tidak memberikan akses ke project atau data pengguna Anda, tetapi mengontrol siapa yang ditagih oleh Google untuk permintaan API. Akun pengguna dengan peran seperti Viewer atau Admin Kunci API dapat melihat kunci API project Anda. Jika memiliki kunci yang tidak dibatasi, Anda harus menghapus atau membuat ulang kunci tersebut saat mencabut akses seseorang ke project Anda.

  1. Di Google Cloud Console, buka halaman Kredensial API.

    Kredensial API

  2. Klik nama kunci API yang ingin Anda modifikasi.

  3. Klik Regenerate key.

  4. Dialog akan menampilkan kunci yang baru dibuat. Deploy kunci ini ke aplikasi apa pun yang menggunakan kunci yang ingin Anda ganti.

  5. Setelah mengonfirmasi bahwa aplikasi Anda berfungsi seperti yang diharapkan dengan kunci baru, kembali ke halaman kredensial dan hapus kunci lama yang tidak dibatasi.

Cabut akses ke VM

Jika orang yang aksesnya Anda dicabut tidak memiliki akses login ke salah satu VM project Anda, Anda dapat melewati langkah ini.

  1. Hapus semua kunci SSH level project yang dapat diakses orang tersebut.

  2. Pada setiap VM tempat orang tersebut memiliki akses SSH, hapus semua kunci level instance.

  3. Hapus akun orang tersebut dari VM apa pun yang akses loginnya mereka miliki.

  4. Periksa aplikasi mencurigakan yang mungkin telah diinstal orang tersebut untuk memberikan akses backdoor (akses backdoor) ke VM. Jika tidak yakin dengan keamanan kode apa pun yang berjalan di VM, buat ulang kode tersebut dan deploy ulang aplikasi yang Anda butuhkan dari sumber.

  5. Pastikan setelan firewall VM belum diubah dari konfigurasi yang Anda rencanakan atau konfigurasi yang diharapkan.

  6. Jika Anda membuat VM baru dari image dasar kustom, pastikan image dasar tersebut belum diubah dengan cara yang dapat membahayakan keamanan VM baru.

Mencabut akses ke database

Jika project Anda tidak menggunakan resource Cloud SQL atau AlloyDB untuk PostgreSQL, Anda dapat melewati langkah ini.

Untuk mencabut akses ke database Cloud SQL, selesaikan langkah-langkah berikut:

  1. Pada konsol Google Cloud, buka halaman Instance SQL.

    Instance SQL

  2. Klik ID instance database yang aksesnya ingin Anda cabut.

  3. Di menu kiri, klik Koneksi.

  4. Pastikan daftar alamat IP pada Jaringan yang diizinkan dan daftar aplikasi di bagian Otorisasi App Engine cocok dengan yang Anda harapkan. Jika orang yang aksesnya Anda coba cabut memiliki akses ke jaringan atau aplikasi yang tercantum di sini, mereka dapat mengakses database ini.

  5. Di menu kiri, klik Pengguna.

  6. Hapus atau ubah password setiap akun pengguna yang dapat diakses orang tersebut. Pastikan untuk memperbarui aplikasi apa pun yang bergantung pada akun pengguna tersebut.

Untuk mencabut akses ke database AlloyDB untuk PostgreSQL, lihat Menghapus akun pengguna atau layanan IAM dari cluster.

Deploy ulang App Engine

Secara default, aplikasi App Engine memiliki akses ke akun layanan yang merupakan editor di project terkait. Handler permintaan App Engine dapat melakukan beberapa hal seperti membuat VM baru dan membaca atau mengubah data di Cloud Storage. Seseorang dengan kemampuan men-deploy kode ke App Engine dapat menggunakan akun layanan ini untuk membuka backdoor ke project Anda. Jika Anda khawatir dengan integritas kode aplikasi yang di-deploy, sebaiknya Anda men-deploy ulang aplikasi tersebut (termasuk modul apa pun) dengan image yang diketahui bagus dari sistem kontrol versi Anda.

Verifikasi bahwa izin telah dihapus

Anda dapat memverifikasi izin di tingkat organisasi, level project, atau menggunakan Policy Analyzer.

Untuk menemukan resource yang mungkin dapat diakses oleh pengguna tertentu di tingkat organisasi, gunakan metode search-all-iam-policies di Google Cloud CLI. Misalnya, untuk menentukan apakah pengguna memiliki akses ke resource Anda, jalankan:

gcloud asset search-all-iam-policies --scope='organizations/ORGANIZATION_ID --query='policy:IDENTITY'

Dengan keterangan:

  • ORGANIZATION_ID adalah nomor organisasi Anda.
  • IDENTITY adalah identitas pengguna, seperti alamat email.

Untuk memverifikasi izin di project, lihat Izin yang dimiliki akun utama di project.

Untuk memverifikasi izin menggunakan Policy Analyzer, lihat Menentukan resource yang dapat diakses oleh akun utama.

Langkah berikutnya