Halaman ini menjelaskan cara menerapkan akses berbasis sertifikat (CBA) menggunakan kebijakan akses kontekstual yang didasarkan pada grup pengguna.
Anda dapat membatasi akses ke semua layanan Google Cloud dengan mengikat tingkat akses CBA ke grup pengguna yang aksesnya ingin Anda batasi. Batasan ini berlaku untuk semua aplikasi klien yang memanggil API Google Cloud.
Secara opsional, Anda dapat menerapkan batasan ke aplikasi klien tertentu atau
mengecualikan aplikasi tertentu. Aplikasi ini mencakup aplikasi pihak ketiga
dan aplikasi pihak pertama yang dibuat oleh Google, seperti
Cloud Console
untuk konsol Google Cloud dan Google Cloud SDK
untuk
Google Cloud CLI
.
Sebelum memulai
Pastikan Anda telah membuat tingkat akses CBA yang memerlukan sertifikat saat menentukan akses ke resource.
Membuat grup pengguna
Buat grup pengguna yang berisi anggota yang harus diberi akses berdasarkan tingkat akses CBA.
Menetapkan peran Cloud Access Binding Admin
Tetapkan peran Cloud Access Binding Admin ke grup pengguna.
Pastikan Anda diberi otorisasi dengan hak istimewa yang memadai untuk menambahkan izin IAM di tingkat organisasi. Minimal, Anda memerlukan peran Organization Admin dan Cloud Access Binding Admin.
Konsol
Di konsol, buka halaman IAM.
Di tab Izin, klik Berikan akses, lalu konfigurasikan hal berikut:
- New principals: Tentukan grup yang ingin Anda beri peran.
- Pada opsi Select a role, pilih Access Context Manager > Cloud Access Binding Admin.
- Klik Simpan.
gcloud
Login:
gcloud auth login
Tetapkan peran
GcpAccessAdmin
dengan menjalankan perintah berikut:gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdmin
ORG_ID
adalah ID untuk organisasi Anda. Jika belum memiliki ID organisasi, Anda dapat menggunakan perintah berikut untuk menemukannya:gcloud organizations list
EMAIL
adalah alamat email orang atau grup yang ingin Anda beri peran.
Mengikat tingkat akses CBA ke grup pengguna
Dalam opsi binding ini, tingkat akses CBA berlaku untuk semua aplikasi klien untuk grup pengguna yang Anda tentukan.
Di konsol, buka halaman Chrome Enterprise Premium.
Pilih organisasi, lalu klik Pilih.
Klik Kelola akses untuk memilih grup pengguna yang akan memiliki akses.
Klik Tambahkan, lalu konfigurasi setelan berikut:
- Grup anggota: Tentukan grup yang ingin Anda beri akses. Anda hanya dapat memilih grup yang belum terikat dengan tingkat akses.
- Pilih tingkat akses: Pilih tingkat akses CBA yang akan diterapkan ke grup.
- Klik Simpan.
Mengikat tingkat akses CBA ke grup pengguna dan aplikasi tertentu
Dalam beberapa kasus penggunaan, seperti aplikasi yang mendukung sertifikat klien, mengikat tingkat akses CBA ke grup pengguna mungkin terlalu luas. Anda dapat menggunakan opsi ini untuk menerapkan tingkat akses CBA ke aplikasi yang mendukung sertifikat klien.
Contoh berikut mengikat tingkat akses CBA ke konsol Google Cloud , gcloud CLI, dan aplikasi OAuth pengguna.
Login ke gcloud CLI.
gcloud auth application-default login
Buat file
policy_file.json
.Anda dapat menentukan aplikasi menggunakan client ID OAuth-nya. Untuk menentukan aplikasi Google, gunakan nama aplikasi, seperti
Cloud Console
untuk konsolGoogle Cloud . Hanya konsol Google Cloud dan aplikasi Google Google Cloud SDK yang didukung.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: name: Cloud Console activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: Google Cloud SDK activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_1 activeSettings: accessLevels: - CBA_ACCESS_LEVEL
Ganti kode berikut:
- CLIENT_ID_1: Client ID OAuth.
- CBA_ACCESS_LEVEL: Nama tingkat akses CBA dalam format
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Buat binding tingkat akses CBA.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../policy_file.json
Ganti GROUP_KEY dengan grup akses berbasis konteks dan ORG_ID dengan ID organisasi Anda.
Jika tidak memiliki GROUP_KEY, Anda dapat mengambilnya dengan memanggil metode
get
di resource grup.(Opsional) Perbarui binding tingkat akses yang ada.
gcloud access-context-manager cloud-bindings update \ --binding='BINDING_NAME' \ --binding-file=.../policy_file.json
Ganti BINDING_NAME dengan nama binding yang dibuat secara otomatis saat binding dibuat.
Mengecualikan aplikasi dari binding
Cara lain untuk menerapkan tingkat akses CBA tanpa memblokir aplikasi klien yang tidak mendukung sertifikat klien adalah dengan mengecualikan aplikasi tersebut dari kebijakan.
Langkah-langkah berikut mengasumsikan bahwa sebelumnya Anda telah membuat tingkat akses CBA yang memerlukan sertifikat saat menentukan akses ke resource.
Buat tingkat akses pengecualian menggunakan salah satu metode berikut.
- Tingkat akses kustom:
Berikan
true
sebagai nilai dalam kondisi ekspresi CEL. - Tingkat akses dasar:
Buat
tingkat akses berbasis rentang IP
dengan menyediakan subnetwork IP
0.0.0.0/0
dan::/0
, yang masing-masing sesuai dengan IPv4 dan IPv6.
- Tingkat akses kustom:
Berikan
Buat file
exemption_file.json
.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: APPLICATION_NAME_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL
Ganti kode berikut:
- CLIENT_ID_2: Client ID OAuth.
- APPLICATION_NAME_2: Nama aplikasi.
- EXEMPT_ACCESS_LEVEL: Nama tingkat akses pengecualian dalam
format
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Buat kebijakan binding pengecualian.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../exemption_file.json
Ganti GROUP_KEY dengan grup akses berbasis konteks dan ORG_ID dengan ID organisasi Anda.
Jika tidak memiliki GROUP_KEY, Anda dapat mengambilnya dengan memanggil metode
get
di resource grup.