Halaman ini menjelaskan cara mengaktifkan akses berbasis sertifikat (CBA) untuk VM Google Cloud Anda. Anda dapat menggunakan CBA untuk mengamankan akses dari perangkat tepercaya ke VM Google Cloud.
Ringkasan
CBA untuk VM menggunakan fitur akses kontekstual Google Cloud untuk mengamankan menggunakan Mutual TLS (mTLS). Berikut adalah komponen utama yang akan Anda untuk mengaktifkan dan menggunakan CBA untuk VM:
- Access Context Manager: Memungkinkan Anda membuat tingkat akses yang memerlukan sertifikat saat menentukan akses ke aplikasi web.
- Identity-Aware Proxy (IAP): IAP TCP penerusan email memungkinkan Anda membuat tunnel tempat Anda dapat meneruskan SSH, RDP, dan traffic lainnya ke instance VM. Selain itu, kebijakan IAP memberi Anda gambaran mengontrol pengguna mana yang diizinkan untuk membuat tunnel ke VM tertentu dan kondisi akses apa yang harus dipenuhi pengguna untuk menggunakan tunnel Cloud.
- Kebijakan Chrome Enterprise: Menyediakan autentikasi bersama (mTLS) antarpengguna dan VM saat menggunakan browser Chrome.
- Google Cloud CLI: Menyediakan autentikasi timbal balik (mTLS) antara pengguna dan VM saat menggunakan gcloud CLI.
Sebelum memulai
Pastikan Anda membuat tingkat akses CBA untuk project Google Cloud Anda.
Memberikan peran untuk mengakses VM melalui penerusan TCP IAP
Anda harus memberikan peran Identity and Access Management (IAM) yang sesuai pada project untuk mengizinkan pengguna atau grup pengguna menggunakan penerusan TCP IAP untuk mengakses VM.
Tabel berikut menunjukkan peran bawaan yang perlu Anda berikan kepada tepercaya administrator untuk penerusan TCP dan tugas-tugas terkait.
Tugas | Peran | Informasi selengkapnya |
---|---|---|
Penerusan TCP |
IAP-secured Tunnel User (roles/iap.tunnelResourceAccessor )
|
Memberikan akses ke semua instance VM dalam sebuah project atau Memberikan akses ke VM tertentu |
Akses SSH |
Admin Instance Compute (v1) (roles/compute.instanceAdmin.v1 )
|
|
Login OS (Direkomendasikan) | Bervariasi | Mengonfigurasi peran Login OS pada akun pengguna |
Menggunakan akun layanan | (roles/iam.serviceAccountUser ) Pengguna Akun Layanan |
Peran serviceAccountUser |
Untuk informasi selengkapnya tentang cara memberikan peran untuk penerusan TCP IAP, lihat Memberikan peran untuk penerusan TCP IAP.
Mengonfigurasi akses berbasis sertifikat ke VM
Meskipun IAP-TCP memungkinkan Anda memberikan akses ke semua instance VM Anda harus mengonfigurasi akses berbasis sertifikat untuk setiap instance VM.
Untuk memberikan akses berbasis sertifikat ke VM kepada pengguna atau grup pengguna, berikan
Peran roles/iap.tunnelResourceAccessor
pada instance VM. Peran lainnya
dapat diberikan pada proyek.
Konsol
Buka halaman Admin IAP, lalu pilih SSH and TCP Tab Resources.
Pilih instance VM yang ingin dikonfigurasi. Klik Tampilkan info jika panel info tidak terlihat.
Klik Add principal, lalu konfigurasikan berikut ini:
- New Principals: Tentukan pengguna atau grup pengguna yang ingin Anda dapat memberikan akses.
- Pilih peran: Pilih Cloud IAP > IAP-Secured Tunnel User.
Klik Tambahkan kondisi IAM, lalu konfigurasikan kondisi:
- Judul: Masukkan nama untuk kondisi.
- Pembuat Kondisi: Pilih Tingkat akses dari Jenis Kondisi, lalu pilih akses berbasis sertifikat level yang dibuat sebelumnya.
Klik Simpan.
API
Untuk mengonfigurasi akses berbasis sertifikat ke VM, ubah atribut
File policy.json
.
Lihat Mengelola akses ke resource yang diamankan oleh IAP untuk mengetahui informasi selengkapnya tentang penggunaan IAM API dalam mengelola kebijakan akses.
Ekspor variabel berikut.
export IAP_BASE_URL=https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_tunnel # Replace POLICY_FILE.JSON with the name of JSON file to use for setIamPolicy export JSON_NEW_POLICY=POLICY_FILE.JSON
Dapatkan kebijakan IAM untuk instance Compute Engine menggunakan metode
getIamPolicy
. Bit data kosong di bagian akhir mengubah curl permintaan kePOST
, bukanGET
.curl -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \ ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:getIamPolicy \ -d ''
Berikan peran
iap.tunnelResourceAccessor
dan akses berbasis sertifikat ke akun utama Anda dengan mengubah File JSON kebijakan IAM.Berikut adalah contoh file
policy.json
yang memberikan iziniap.tunnelResourceAccessor
ke grup admin instance VM, yang memberi akses berbasis sertifikat ke resource tunnel yang diamankan oleh IAP.Perlu diketahui bahwa jika akun utama memiliki peran Pemilik, mereka memiliki izin untuk menggunakan IAP untuk penerusan TCP.
{ "policy": { "bindings": [ { "role": "roles/iap.tunnelResourceAccessor", "members": ["group:instance-admins@example.com"], "condition": { "expression": "\"accessPolicies/POLICY_NAME/accessLevels/CERTIFICATE_BASED_ACCESS_LEVEL_NAME\" in request.auth.access_levels, "title": "CERTIFICATE_BASED_CONDITION_NAME" } } ] } }
Untuk menemukan nama kebijakan, panggil
accessPolicies.list
.GET https://accesscontextmanager.googleapis.com/v1/accessPolicies
Tetapkan file
policy.json
baru Anda menggunakan metodesetIamPolicy
.curl -i -H "Content-Type:application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:setIamPolicy \ -d @${JSON_NEW_POLICY}
Mengakses VM menggunakan sertifikat klien
Untuk mengakses VM menggunakan sertifikat klien, gunakan salah satu metode berikut.
- Menggunakan sertifikat perusahaan: Gunakan metode ini jika Anda memiliki infrastruktur IKP.
- Menggunakan sertifikat yang disediakan Verifikasi Endpoint: Gunakan metode ini jika Anda tidak memiliki infrastruktur IKP. Verifikasi Endpoint secara otomatis menyediakan dan mendaftarkan sertifikat yang ditandatangani sendiri dengan Google Cloud untuk setiap perangkat.
Menggunakan sertifikat klien pada browser Chrome untuk mengakses VM
- Konfigurasikan browser Chrome menggunakan salah satu opsi berikut.
- Di browser Chrome, masukkan domain berikut untuk mengakses
Konsol Google Cloud:
console-secure.cloud.google.com
. - Akses VM Google Cloud menggunakan Tunneling IAP.
Menggunakan sertifikat klien di gcloud CLI untuk mengakses VM
Konfigurasikan gcloud CLI menggunakan salah satu metode berikut.
Akses VM Google Cloud menggunakan tunneling IAP.