Dokumen ini menjelaskan cara menyiapkan gateway aman Chrome Enterprise Premium untuk mengamankan akses ke aplikasi web pribadi Anda.
Gateway aman Chrome Enterprise Premium berfungsi sebagai proxy penerusan, yang menerapkan framework akses zero-trust dan memberikan kontrol kontekstual yang terperinci atas siapa yang mengakses aplikasi web pribadi Anda.
Cara kerja pengamanan akses ke aplikasi web pribadi
Dengan membuat tunnel yang aman dan menerapkan kebijakan akses kontekstual, gateway aman menjaga aplikasi pribadi tetap pribadi dan terlindungi dari eksposur internet publik. Konfigurasi browser sisi klien mengarahkan traffic untuk aplikasi ini melalui endpoint proxy gateway aman. Gateway aman kemudian menerapkan kebijakan akses yang relevan dan, jika diizinkan, mengarahkan permintaan ke aplikasi tujuan.
Gateway aman dapat membantu melindungi aplikasi web pribadi yang dihosting di lingkungan berikut:
Google Cloud project: Gateway aman dapat mengarahkan akses ke aplikasi yang berjalan di Jaringan VPC Anda. Google Cloud
Non-Google Cloud (pusat data lokal atau cloud lainnya): Anda harus terlebih dahulu membuat koneksi antara jaringan VPC pribadi Anda di Google Cloud dan jaringan non-Google Cloud . Hal ini biasanya dilakukan menggunakan Cloud VPN atau Cloud Interconnect. Gateway aman kemudian menggunakan koneksi untuk mengirim traffic ke jaringan VPC pribadi Anda, yang pada gilirannya merutekannya ke lingkungan non-Google Cloud .
Peran yang diperlukan
Minta administrator Anda untuk memberikan peran berikut:
Cloud BeyondCorp Admin (
roles/beyondcorp.admin) untuk menyiapkan Chrome Enterprise Premium di projectAccess Context Manager Admin (
roles/accesscontextmanager.policyAdmin) untuk membaca dan menambahkan tingkat akses baruService Usage Viewer (
roles/serviceusage.serviceUsageViewer) untuk menggunakan konsol Google Cloud
Pelajari lebih lanjut peran Identity and Access Management (IAM).
Kebijakan Chrome Enterprise yang diperlukan
Autentikasi proxy gateway aman memerlukan skema autentikasi HTTP Basic. Jika Anda mengonfigurasi kebijakan autentikasi Chrome Enterprise untuk organisasi Anda, verifikasi setelan kebijakan berikut:
AuthSchemesharus menyertakan autentikasibasic(diaktifkan secara default jika kebijakan tidak disetel). Nilai lain dalam kebijakan ini tidak memengaruhi autentikasi proxy gateway aman.BasicAuthOverHttpEnabledharus disetel ke0(false, atau dinonaktifkan) untuk melarang koneksi HTTP yang tidak aman menggunakan skema autentikasiBasic.
Sebelum memulai
Sebelum menyiapkan gateway aman, pastikan Anda memiliki hal berikut:
- Lisensi Chrome Enterprise Premium.
- Akses ke konsol Google Admin dengan akun administrator.
- Layanan Google tambahan tanpa kontrol individu diaktifkan.
- Layanan Google Cloud diaktifkan untuk pengguna Anda.
Project Google Cloud dengan akun penagihan yang ditetapkan dan API berikut diaktifkan: BeyondCorp API
Untuk aplikasi pribadi di lingkungan non-Google Cloud , koneksi Cloud VPN atau Cloud Interconnect antara lingkunganGoogle Cloud dan lingkungan non-Google Cloud tempat aplikasi Anda berada. Untuk mengetahui informasi selengkapnya tentang cara menyiapkan koneksi jaringan, lihat referensi berikut:
Menyiapkan lingkungan shell Anda
Untuk menyederhanakan proses penyiapan dan berinteraksi dengan API gateway aman, tentukan variabel lingkungan berikut di shell kerja Anda.
- Parameter umum
PROJECT_ID=PROJECT_ID
Ganti kode berikut:
PROJECT_ID: ID project tempat gateway aman dibuat.
- Parameter gateway aman
SECURITY_GATEWAY_ID=
SECURITY_GATEWAY_IDSECURITY_GATEWAY_DISPLAY_NAME="SECURITY_GATEWAY_DISPLAY_NAME"Ganti kode berikut:
SECURITY_GATEWAY_ID: ID gateway aman yang ingin Anda buat. ID dapat berisi hingga 63 karakter dan dapat berisi huruf kecil, angka, dan tanda hubung. Karakter pertama harus berupa huruf, dan karakter terakhir dapat berupa huruf atau angka.-
SECURITY_GATEWAY_DISPLAY_NAME: Nama gateway aman yang dapat dibaca manusia. Nama dapat berisi maksimal 63 karakter dan menyertakan karakter yang dapat dicetak.
Membuat gateway aman
Gateway aman Chrome Enterprise Premium adalah elemen penyusun dasar untuk membangun koneksi yang aman ke aplikasi Anda.
console
Untuk membuat gateway aman, lakukan hal berikut:
- Di konsol Google Cloud , buka halaman gateway aman.
Buka gateway aman - Pilih project yang ingin Anda buatkan gateway aman.
- Untuk membuat gateway aman, klik Create new gateway dan tunggu hingga proses pembuatan gateway selesai. Anda dapat melacak progres di bagian Notifikasi di konsol Google Cloud .
gcloud
Untuk membuat gateway aman menggunakan gcloud, jalankan perintah berikut:
gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \ --service-discovery={}
REST
Untuk membuat gateway aman menggunakan REST API, jalankan perintah berikut:
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
Mengonfigurasi aplikasi web pribadi
Sebelum dapat menentukan resource aplikasi tertentu di gateway aman, Anda harus mengonfigurasi izin dan setelan jaringan yang diperlukan untuk mengaktifkan konektivitas dan perutean yang tepat.
Memberikan izin ke akun layanan
Agar berhasil mengirim traffic ke jaringan VPC Anda, gateway aman memerlukan izin IAM tertentu yang diberikan ke akun layanan pendelegasiannya. Dengan melakukan ini, gateway aman dapat menjangkau aplikasi pribadi Anda, baik yang dihosting dalam VPC Google Cloud atau di lingkungan non-Google Cloud yang terhubung melalui Cloud VPN atau Cloud Interconnect.
Untuk memberikan izin ke akun layanan, lakukan hal berikut:
-
Dapatkan detail gateway aman Anda untuk mengidentifikasi email akun layanan pendelegasian. Email berada di kolom
delegatingServiceAccountrespons.gcloud
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
REST
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID"
-
Tetapkan variabel lingkungan untuk akun layanan dan project VPC target Anda. Untuk mendapatkan email akun layanan, Anda dapat menggunakan perintah berikut:
DELEGATING_SERVICE_ACCOUNT=`gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID --project=PROJECT_ID --location=global --format="value(delegatingServiceAccount)"`
-
Berikan peran IAM
roles/beyondcorp.upstreamAccesske akun layanan pendelegasian di project VPC pribadi Anda. Gantigcloud projects add-iam-policy-binding
PRIVATE_VPC_PROJECT_ID\ --role=roles/beyondcorp.upstreamAccess \ --member=serviceAccount:DELEGATING_SERVICE_ACCOUNTPRIVATE_VPC_PROJECT_IDdengan Project ID jaringan VPC tempat aplikasi web pribadi di-deploy atau tempat Cloud VPN/Interconnect dikonfigurasi.
Tunggu sekitar dua menit hingga kebijakan Identity and Access Management diterapkan setelah Anda memberikan peran.
Mengonfigurasi pemilihan rute jaringan dan aturan firewall
Untuk mengizinkan traffic dari gateway aman menjangkau aplikasi web pribadi Anda, konfigurasikan aturan firewall, pemilihan rute jaringan, dan setelan DNS.
Aturan firewall untuk aplikasi di Google Cloud
Jika aplikasi web pribadi Anda dihosting dalam jaringan VPC Google Cloud , seperti di VM Compute Engine, layanan Google Kubernetes Engine dengan IP internal, atau di balik load balancer TCP/UDP internal, konfigurasikan aturan firewall VPCGoogle Cloud . Tindakan ini mengizinkan traffic TCP masuk dari
rentang IP gateway aman: 136.124.16.0/20.
gcloud
Untuk membuat aturan firewall menggunakan gcloud, jalankan perintah berikut:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \ --project=PRIVATE_VPC_PROJECT_ID \ --network=NETWORK_NAME \ --allow=tcp \ --source-ranges=136.124.16.0/20
Ganti kode berikut:
FIREWALL_RULE_NAME: Nama untuk aturan firewall Anda.PRIVATE_VPC_PROJECT_ID: ID project tempat jaringan VPC Anda dihosting.NETWORK_NAME: Nama jaringan VPC tempat aplikasi Anda dihosting.
Aturan firewall untuk aplikasi di lingkungan non-Google Cloud
Jika aplikasi web pribadi Anda berada di pusat data lokal atau di
jaringan penyedia cloud lain, dan terhubung ke VPC Google Cloud
Anda menggunakan Cloud VPN atau Cloud Interconnect, konfigurasikan aturan firewall
di firewall lokal atau kontrol keamanan jaringan yang setara, seperti
grup keamanan dan ACL jaringan, di lingkungan cloud lainnya. Tindakan ini mengizinkan
traffic TCP masuk dari rentang IP gateway aman:
136.124.16.0/20.
Mengonfigurasi pemilihan rute dari lingkungan non-Google Cloud ke gateway aman
Untuk memfasilitasi komunikasi dua arah bagi aplikasi pribadi yang dihosting di
lingkungan non-Google Cloud , seperti lokal atau cloud lainnya, jaringan
eksternal Anda harus membuat jalur kembali ke rentang IP gateway aman
berikut: 136.124.16.0/20.
Pastikan jaringan pribadi Anda dapat menjangkau rentang IP gateway aman melalui Cloud VPN atau Cloud Interconnect:
Pemilihan rute dinamis: Jika Anda menggunakan pemilihan rute dinamis, seperti Border Gateway Protocol (BGP) dengan Cloud Router, tetapkan mode pemilihan rute dinamis jaringan VPC Anda ke Global agar rute yang dipelajari melalui BGP diberitahukan ke semua region dalam jaringan VPC. Karena gateway aman adalah layanan global, pemilihan rute dinamis global memastikan bahwa traffic yang tiba dari region mana pun dapat menjangkau aplikasi pribadi Anda.
Pastikan juga bahwa Cloud Router Anda di Google Cloud secara eksplisit memberitahukan rentang IP gateway aman ke perangkat BGP lokal Anda. Meskipun BGP secara dinamis bertukar banyak rute, rentang IP gateway aman memerlukan pemberitahuan eksplisit.
gcloud
Untuk memeriksa apakah rentang sumber diberitahukan, jalankan perintah berikut:
gcloud compute routers list-bgp-routes ROUTER_NAME \ --peer=PEER_NAME \ --region=REGION \ --project=PROJECT_ID \ --route-direction=OUTBOUND \ --address-family=IPV4 \ --destination-range=136.124.16.0/20
Ganti kode berikut:
ROUTER_NAME: nama Cloud Router AndaPEER_NAME: nama peer BGP AndaREGION: region tempat router Anda beradaPROJECT_ID: ID project yang berisi router
Pemilihan rute statis: Jika menggunakan rute statis, Anda harus menambahkan rute secara manual untuk setiap rentang IP gateway aman di peralatan jaringan lokal, seperti router atau firewall. Rute statis ini harus menentukan bahwa traffic yang ditujukan untuk rentang IP gateway aman harus dikirim melalui koneksi Cloud VPN atau Cloud Interconnect.
Jika Anda mengonfigurasi Cloud VPN dengan rute statis, bukan pemilihan rute dinamis (BGP), rute tersebut hanya tersedia di region tertentu tempat tunnel VPN dibuat. Karena gateway aman adalah layanan global, traffic masuk yang tiba dari region lain tidak akan dapat menjangkau aplikasi pribadi Anda karena rute statis tidak diberitahukan secara global di seluruh region. Untuk menghindari kegagalan pemilihan rute lintas region saat menggunakan rute statis, lakukan salah satu tindakan berikut:
Beralih ke perutean dinamis (BGP): Tetapkan mode perutean dinamis jaringan VPC Anda ke Global agar rute yang dipelajari melalui BGP tersedia di semua region dalam jaringan VPC.
Konfigurasi kebijakan egress: Saat Anda membuat resource aplikasi, konfigurasi kebijakan egress di jaringan upstream untuk memaksa traffic dari gateway aman keluar di region tertentu tempat koneksi Cloud VPN atau Cloud Interconnect Anda dibuat.
Saat menggunakan pemilihan rute statis, Cloud VPN harus berada di salah satu wilayah yang didukung berikut:
africa-south1asia-east1asia-east2asia-northeast1asia-northeast2asia-northeast3asia-south1asia-south2asia-southeast1asia-southeast2asia-southeast3australia-southeast2europe-central2europe-north1europe-north2europe-southwest1europe-west1europe-west10europe-west12europe-west2europe-west3europe-west4europe-west6europe-west8europe-west9me-central1me-central2me-west1northamerica-northeast1northamerica-northeast2northamerica-south1southamerica-east1southamerica-west1us-central1us-central2us-east1us-east4us-east5us-east7us-south1us-west1us-west2us-west3us-west4us-west8
Konfigurasi DNS untuk resolusi nama host pribadi gateway aman
Agar gateway aman dapat me-resolve nama host aplikasi pribadi Anda, jaringan VPCGoogle Cloud Anda harus dapat me-resolve nama host menggunakan Cloud DNS. Konfigurasi Cloud DNS tertentu bergantung pada tempat data DNS pribadi Anda dihosting secara otoritatif:
Aplikasi dalam Google Cloud menggunakan zona pribadi Cloud DNS: Jika aplikasi pribadi Anda dihosting di Google Cloud dan data DNS-nya dikelola dalam zona pribadi Cloud DNS yang terkait dengan jaringan VPC Anda, pastikan zona tersebut dikonfigurasi dengan benar dan dapat diakses. Gateway aman menggunakan kemampuan resolusi DNS Cloud yang ada di VPC Anda.
Aplikasi di lingkungan non-Google Cloud atau menggunakan server DNS eksternal: Jika aplikasi pribadi Anda berada di lingkungan non-Google Cloud(lokal atau cloud lain) atau jika data DNS-nya dikelola oleh server DNS di luar zona pribadi Cloud DNS VPC Anda, Anda harus mengonfigurasi Cloud DNS untuk meneruskan kueri untuk domain pribadi ini. Hal ini biasanya melibatkan pembuatan zona penerusan Cloud DNS dalam VPC Anda. Zona ini akan mengarahkan kueri DNS untuk domain pribadi yang Anda tentukan ke server DNS pribadi yang kredibel, seperti lokal atau cloud lainnya.
Untuk mengetahui petunjuk mendetail tentang konfigurasi DNS, lihat Membuat zona penerusan.
Membuat resource aplikasi
Untuk memberikan akses ke aplikasi web pribadi, Anda harus membuat aplikasi dalam framework gateway aman dengan membuat resource aplikasi. Resource ini menentukan cara gateway aman mengidentifikasi traffic untuk aplikasi Anda (berdasarkan nama host) dan tempat untuk merutekan traffic tersebut.
-
Tetapkan variabel lingkungan yang diperlukan dengan menjalankan perintah berikut:
Ganti kode berikut:APPLICATION_ID=
APPLICATION_IDAPP_DISPLAY_NAME="APP_DISPLAY_NAME" HOST_NAME=HOST_NAMEPRIVATE_NETWORK_RESOURCE_NAME=PRIVATE_NETWORK_RESOURCE_NAMEAPPLICATION_ID: ID unik untuk resource aplikasi.APP_DISPLAY_NAME: Nama yang dapat dibaca manusia untuk ditampilkan.HOST_NAME: Nama host utama yang diakses pengguna (misalnya,private.local).PRIVATE_NETWORK_RESOURCE_NAME: Nama resource lengkap jaringan VPC (misalnya,projects/my-project/global/networks/my-network).
-
Buat resource aplikasi.
console
Untuk membuat resource aplikasi menggunakan konsol Google Cloud , lakukan hal berikut:
- Di konsol Google Cloud , buka halaman gateway aman.
Buka gateway aman - Untuk menambahkan aplikasi, klik Add application.
- Pilih jenis aplikasi: Aplikasi pribadi.
- Masukkan detail aplikasi:
- Nama aplikasi: Masukkan nama, misalnya,
GitHub. - Pencocok domain: Masukkan daftar pola domain yang dipisahkan koma untuk dirutekan melalui gateway aman.
Sertakan port dalam format
domain:port. Karakter pengganti (*) diizinkan. Contoh:github.com:443.
- Nama aplikasi: Masukkan nama, misalnya,
- Konfigurasi Jaringan VPC:
- In current project: Jika jaringan VPC Anda berada dalam project saat ini, pilih jaringan VPC dari menu drop-down.
- In another project: Jika jaringan VPC Anda berada di project Google Cloud yang berbeda, tentukan nama resource lengkap jaringan VPC, misalnya,
projects/my-project/global/networks/my-network.
- Opsional: Tentukan kebijakan egress: Pilih satu atau beberapa region Google Cloud dari menu drop-down. Jika Anda menggunakan rute statis regional, pilih region tempat koneksi Cloud VPN atau Cloud Interconnect Anda dibuat.
- Opsional: Tentukan kebijakan akses: Pilih kebijakan akses Access Context Manager. Anda dapat melewati langkah ini untuk panduan ini.
- Untuk membuat resource aplikasi, klik Create.
gcloud
Untuk membuat resource aplikasi menggunakan gcloud, jalankan perintah berikut:
gcloud beyondcorp security-gateways applications create APPLICATION_ID \ --project=PROJECT_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --location=global \ --display-name="APP_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=[443]" \ --upstreams=network=name="PRIVATE_NETWORK_RESOURCE_NAME"
Untuk menentukan region egress (misalnya, saat menggunakan rute statis), sertakan
egressPolicydalam flag--upstreams:gcloud beyondcorp security-gateways applications create APPLICATION_ID \ --project=PROJECT_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --location=global \ --display-name="APP_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=[443]" \ --upstreams=network=name="PRIVATE_NETWORK_RESOURCE_NAME",egressPolicy=regions=us-central1
Ganti
us-central1dengan region Google Cloud (sepertieurope-west1atauasia-northeast1) yang sesuai dengan penyiapan pemilihan rute statis regional Anda. Jika tidak memiliki persyaratan pemilihan rute statis regional tertentu, Anda dapat menghapus kebijakan egress dari konfigurasi.REST
Untuk membuat resource aplikasi dengan API, selesaikan langkah-langkah berikut:
Buat file bernama
application.json.{ "display_name": "
APP_DISPLAY_NAME", "endpoint_matchers": [ {"hostname": "HOST_NAME", "ports": [443]} ], "upstreams": [{ "network": { "name": "PRIVATE_NETWORK_RESOURCE_NAME" } }] }Untuk menentukan region egress (misalnya, saat menggunakan rute statis), tambahkan
egress_policyke konfigurasi upstream:{ "display_name": "
APP_DISPLAY_NAME", "endpoint_matchers": [ {"hostname": "HOST_NAME", "ports": [443]} ], "upstreams": [{ "network": { "name": "PRIVATE_NETWORK_RESOURCE_NAME" }, "egress_policy": { "regions": [ "us-central1" ] } }] }Ganti
us-central1dengan region Google Cloud (sepertieurope-west1atauasia-northeast1) yang sesuai dengan penyiapan pemilihan rute statis regional Anda. Jika tidak memiliki persyaratan pemilihan rute statis regional tertentu, Anda dapat menghapus kebijakan egress dari konfigurasi.Panggil metode API
Create.curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d @application.json \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications?application_id=APPLICATION_ID"
- Di konsol Google Cloud , buka halaman gateway aman.
Mengonfigurasi kebijakan akses
Anda dapat menerapkan kebijakan akses untuk mengontrol akses di tingkat aplikasi. Jika tidak ada kebijakan akses yang dikonfigurasi, akses ke aplikasi akan ditolak secara default.
console
Membuat kebijakan untuk beberapa aplikasi
Untuk mengonfigurasi kebijakan akses, lakukan hal berikut:
- Untuk membuat kebijakan yang berlaku untuk beberapa aplikasi yang ditautkan ke gateway aman, buka halaman Kebijakan.
Buka Policies - Untuk menambahkan kebijakan akses ke aplikasi, klik Create Policy.
- Dari menu drop-down, pilih aplikasi yang ingin Anda terapkan kebijakannya.
- Tambahkan akun utama ke kebijakan:
Akun utama dapat berupa pengguna, grup, domain, atau akun layanan. Akun utama ini diberi atau ditolak aksesnya berdasarkan tingkat akses yang Anda tetapkan.
- Untuk menambahkan akun utama, klik Add principal.
- Di kolom Principal, masukkan alamat email pengguna, grup, akun layanan, atau nama domain.
- Di drop-down Tingkat Akses, pilih satu atau beberapa tingkat Akses Kontekstual yang telah ditetapkan. Akses hanya diberikan jika akun utama memenuhi kondisi tingkat akses yang dipilih.
Untuk menambahkan lebih banyak akun utama, klik Add principal lagi dan ulangi sublangkahnya.
Anda dapat membuat dan mengelola tingkat akses di Access Context Manager.
- Untuk menerapkan kebijakan ke aplikasi, klik Create Policy.
Mengubah kebijakan akses tingkat aplikasi
- Untuk mengubah kebijakan untuk satu aplikasi, buka halaman Applications.
Buka Applications - Untuk menemukan aplikasi yang ingin Anda edit, lakukan hal berikut:
- Dalam daftar Applications, telusuri aplikasi yang ingin Anda ubah.
- Untuk melihat detail aplikasi, klik menu Tindakan lainnya () dan pilih Lihat Detail.
- Untuk mengedit aplikasi, klik Edit.
- Tambahkan akun utama ke kebijakan:
Akun utama dapat berupa pengguna, grup, domain, atau akun layanan. Akun utama ini diberi atau ditolak aksesnya berdasarkan tingkat akses yang Anda tetapkan.
- Untuk menambahkan akun utama, klik Add principal.
- Di kolom Principal, masukkan alamat email pengguna, grup, akun layanan, atau nama domain.
- Di menu drop-down Tingkat Akses, pilih satu atau beberapa tingkat Akses Kontekstual yang telah ditetapkan. Akses hanya diberikan jika akun utama memenuhi kondisi tingkat akses yang dipilih.
Untuk menambahkan lebih banyak akun utama, klik Add principal lagi dan ulangi sublangkahnya.
Anda dapat membuat dan mengelola tingkat akses di Access Context Manager.
- Untuk menerapkan kebijakan ke aplikasi, klik Save.
gcloud
Menambahkan binding tingkat gateway Penemuan Layanan
Sebelum memberi pengguna akses ke aplikasi, pastikan pengguna memiliki izin Penemuan Layanan di tingkat Gateway Aman.
gcloud beyondcorp security-gateways add-iam-policy-binding SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.serviceDiscoveryUser" \ --member=MEMBER
Ganti kode berikut:
SECURITY_GATEWAY_ID: ID gateway amanPROJECT_ID: ID project tempat gateway aman dikonfigurasiMEMBER: pengguna, grup, atau akun layanan yang ingin Anda beri peran penemuan layanan. Untuk mengetahui informasi selengkapnya, lihat Akun utama IAM
Menambahkan binding tingkat aplikasi
gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER
Ganti kode berikut:
APPLICATION_ID: ID resource aplikasiSECURITY_GATEWAY_ID: ID gateway amanPROJECT_ID: ID project tempat gateway aman dikonfigurasiMEMBER: pengguna, grup, atau akun layanan yang ingin Anda beri peran penemuan layanan. Untuk mengetahui informasi selengkapnya, lihat Akun utama IAM
Menambahkan binding bersyarat
Anda juga dapat menambahkan binding dengan kondisi. Kondisi menentukan persyaratan, seperti alamat IP pengguna yang berasal dari lokasi tertentu. (Tingkat akses dapat ditentukan dalam kebijakan akses tingkat organisasi atau kebijakan akses tercakup.)
Contoh perintah berikut memberikan akses hanya jika alamat IP sumber berada dalam tingkat akses yang ditentukan:
gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER \ --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
Menghapus binding tingkat gateway Penemuan Layanan
Mencabut izin Penemuan Layanan pengguna di tingkat Gateway Aman.
gcloud beyondcorp security-gateways remove-iam-policy-binding SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.serviceDiscoveryUser" \ --member=MEMBER
Ganti kode berikut:
SECURITY_GATEWAY_ID: ID gateway amanPROJECT_ID: ID project tempat gateway aman dikonfigurasiMEMBER: pengguna, grup, atau akun layanan yang ingin Anda hapus peran Service Discovery-nya. Untuk mengetahui informasi selengkapnya, lihat Akun utama IAM
Menghapus binding tingkat aplikasi
gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER
Ganti kode berikut:
APPLICATION_ID: ID resource aplikasiSECURITY_GATEWAY_ID: ID gateway amanPROJECT_ID: ID project tempat gateway aman dikonfigurasiMEMBER: pengguna, grup, atau akun layanan yang ingin Anda hapus peran Service Discovery-nya. Untuk mengetahui informasi selengkapnya, lihat Akun utama IAM
Menghapus binding bersyarat
Anda juga dapat menghapus binding dengan kondisi. Kondisi menentukan persyaratan, seperti alamat IP pengguna yang berasal dari lokasi tertentu. (Tingkat akses dapat ditentukan dalam kebijakan akses tingkat organisasi atau kebijakan akses tercakup.)
Contoh perintah berikut menghapus binding bersyarat dengan tingkat akses yang ditentukan:
gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER \ --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
REST
Memperbarui kebijakan akses dengan aman
Perintah setIamPolicy mengganti seluruh kebijakan yang ada dengan kebijakan yang Anda berikan. Untuk menghindari penghapusan izin yang ada secara tidak sengaja, sebaiknya
gunakan pola "baca-ubah-tulis" berikut. Pola ini membantu mencegah penghapusan izin yang ada secara tidak sengaja.
- Read: Menyimpan kebijakan akses saat ini ke file.
- Ubah: Edit file kebijakan secara lokal untuk menambahkan atau mengubah izin.
- Tulis: Terapkan file kebijakan yang telah diperbarui.
Menetapkan kebijakan tingkat gateway Penemuan Layanan
Untuk memberikan izin penemuan layanan, Anda harus menetapkan kebijakan akses di gateway aman, bukan di aplikasi individual. Hal ini mengikuti pola "baca-ubah-tulis" yang sama.
Ambil kebijakan saat ini dan simpan ke file bernama gateway_policy.json.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:getIamPolicy" > gateway_policy.json
Selanjutnya, buka file gateway_policy.json di editor teks dan tambahkan akun utama yang diperlukan ke daftar members untuk peran roles/beyondcorp.serviceDiscoveryUser, mirip dengan modifikasi tingkat aplikasi.
File gateway_policy.json mirip dengan contoh berikut:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.serviceDiscoveryUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Anda juga dapat menambahkan jenis akun utama lainnya, seperti serviceAccount, user,
group, principal, dan principalSet, dalam binding kebijakan. Untuk mengetahui informasi selengkapnya, lihat Akun utama IAM.
Terapkan kebijakan yang telah diperbarui:
jq '{policy: .}' gateway_policy.json | curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @- \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:setIamPolicy"
Menetapkan kebijakan akses tingkat aplikasi
Mendapatkan kebijakan saat ini
Mengambil kebijakan saat ini. Kolom etag mencegah pembaruan yang bertentangan jika beberapa administrator melakukan perubahan secara bersamaan.
Perintah berikut mengambil kebijakan dan menyimpannya ke file bernama
policy.json.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:getIamPolicy" > policy.json
Ganti kode berikut:
PROJECT_ID: ID project tempat gateway aman dikonfigurasiSECURITY_GATEWAY_ID: ID gateway amanAPPLICATION_ID: ID resource aplikasi
Perintah ini akan membuat file policy.json yang berisi kebijakan saat ini.
Mengubah file kebijakan
Untuk memberi grup akses agar dapat menggunakan gateway aman, lakukan hal berikut:
- Buka file
policy.jsondi editor teks. - Tambahkan grup ke daftar
membersuntuk peranroles/beyondcorp.securityGatewayUser.
File policy.json mirip dengan contoh berikut:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Untuk menambahkan grup tambahan, tambahkan entri baru ke array members. Sertakan koma setelah entri sebelumnya.
Contoh berikut menambahkan new-group@example.com:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com", "group:new-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Anda juga dapat menambahkan jenis akun utama lainnya, seperti serviceAccount, user,
group, principal, dan principalSet, dalam binding kebijakan. Untuk mengetahui informasi selengkapnya, lihat Akun utama IAM.
Menerapkan kebijakan yang telah diperbarui
Setelah mengedit dan menyimpan file policy.json, terapkan ke resource menggunakan
perintah setIamPolicy. Perintah ini menggunakan etag dari file Anda untuk
memastikan bahwa Anda mengupdate versi yang benar.
jq '{policy: .}' policy.json | curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @- \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:setIamPolicy"
Ganti kode berikut:
PROJECT_ID: ID project tempat gateway aman dikonfigurasiSECURITY_GATEWAY_ID: ID gateway amanAPPLICATION_ID: ID resource aplikasi
Menambahkan kebijakan akses bersyarat
Anda juga dapat menetapkan kebijakan akses dengan kondisi. Kondisi menentukan persyaratan, seperti alamat IP pengguna yang berasal dari lokasi tertentu. (Tingkat akses dapat ditentukan dalam kebijakan akses tingkat organisasi atau kebijakan akses tercakup.)
Contoh kebijakan berikut memberikan akses hanya jika alamat IP sumber berada dalam tingkat akses yang ditentukan:
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:group@example.com" ], "condition": { "expression": "request.auth.access_levels.contains('accessPolicies/1234567890/accessLevels/in_us')", "title": "Source IP must be in US" } } ], "etag": "BwXN8_d-bOM=" }
Untuk menerapkan kebijakan ini, ikuti langkah-langkah yang dijelaskan sebelumnya.
Meningkatkan Keamanan dengan Akses Kontekstual
Untuk lebih meningkatkan keamanan dan memastikan bahwa hanya instance Google Chrome terkelola yang dapat mengakses aplikasi web Anda melalui Gateway Keamanan, sebaiknya tambahkan aturan Akses Kontekstual (CAA). Aturan ini memverifikasi bahwa profil Chrome pengguna berada dalam pengelolaan, sehingga mencegah potensi penyalahgunaan dari browser yang tidak dikelola atau berbahaya.
Catatan: Fitur ini memerlukan penginstalan dan penyiapan ekstensi Verifikasi Endpoint.Anda dapat menerapkannya dengan menambahkan kondisi ke tingkat akses kustom Access Context Manager. Berikut adalah contoh kondisi yang dapat Anda sesuaikan:
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_PROFILE_MANAGED
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi, memeriksa, dan mengelola status ini, lihat Atribut browser Chrome.
Menginstal ekstensi Chrome Enterprise Premium
Ekstensi Chrome Enterprise Premium adalah bagian integral dari gateway aman, dan membantu autentikasi. Instal ekstensi untuk semua pengguna gateway aman. Untuk mengetahui informasi tentang cara men-deploy ekstensi, lihat Melihat dan mengonfigurasi aplikasi dan ekstensi. Untuk menginstal ekstensi Chrome Enterprise Premium, lakukan hal berikut:
- Buka konsol Google Admin.
- Klik Browser Chrome > Aplikasi & Ekstensi.
- Klik tab Users & browsers.
- Untuk menambahkan ekstensi Chrome, klik tombol +, lalu pilih Tambahkan aplikasi atau ekstensi Chrome menurut ID.
Telusuri ekstensi Secure Enterprise Browser menggunakan ID berikut, lalu tetapkan kebijakan penginstalannya ke Instal otomatis untuk semua pengguna di unit organisasi atau grup:
ekajlcmdfcigmdbphhifahdfjbkciflj
Klik ekstensi yang diinstal, dan di kolom Kebijakan untuk ekstensi, masukkan nilai JSON berikut:
{ "securityGateway": { "Value": { "authentication": {}, "context": { "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" }, "serviceDiscovery": { "routes": {} } } } }
Ganti kode berikut:
PROJECT_ID: ID project tempat gateway aman dikonfigurasiSECURITY_GATEWAY_ID: ID gateway aman
Untuk menyimpan konfigurasi, klik Save.
Penyiapan file PAC lama
Jika diaktifkan, Penemuan Layanan memungkinkan klien Browser Chrome mendeteksi dan merutekan traffic secara otomatis ke aplikasi yang dikonfigurasi melalui gateway aman, sehingga tidak perlu lagi mengonfigurasi perutean secara manual menggunakan file PAC.
Jika Penemuan Layanan tidak diaktifkan di gateway aman, Anda memiliki penyiapan lama. Anda harus mengonfigurasi file PAC untuk mengontrol pemilihan rute di klien Browser Chrome.
Untuk memeriksa apakah Anda memiliki penyiapan lama, gunakan perintah berikut untuk melihat apakah penemuan layanan diaktifkan:
gcloud
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global | grep -i "serviceDiscovery"
REST
curl --silent \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" | grep -i "serviceDiscovery"
Jika perintah tidak menampilkan output, gateway Anda menggunakan penyiapan lama. Untuk gateway yang menggunakan penyiapan lama, pemilihan rute ditangani menggunakan file PAC yang dihosting.
Langkah 1: Buat dan hosting file PAC
Buat file bernama
pac_config.jsdengan JavaScript berikut, gantiHOST_NAMEdengan domain aplikasi Anda (misalnya,myapp.example.com):function FindProxyForURL(url, host) { const PROXY = "HTTPS via.prod.securegateway.goog:443"; const sites = ["HOST_NAME"]; for (const site of sites) { if (shExpMatch(url, 'https://' + site + '/*') || shExpMatch(url, '*.' + site + '/*')) { return PROXY; } } return 'DIRECT'; }
Upload file PAC ke layanan hosting, seperti bucket Cloud Storage.
- Pastikan file dapat didownload secara publik.
- Tetapkan header HTTP
Cache-Controlkeno-cacheagar browser selalu mengambil aturan pemilihan rute terbaru.
Salin URL publik file PAC yang diupload.
Langkah 2: Terapkan file PAC di konsol Google Admin
- Buka konsol Google Admin.
- Buka Perangkat > Chrome > Setelan.
- Pilih unit organisasi atau grup Anda, lalu klik Mode proxy.
- Di bagian Proxy mode, pilih Always use the proxy auto-config specified below.
- Masukkan URL publik file PAC yang dihosting ke kolom yang disediakan.
- Klik Simpan.
Langkah 3: Konfigurasi ekstensi Chrome Enterprise Premium
Ekstensi diperlukan untuk menangani autentikasi. Kebijakan ekstensi ini berbeda dengan konfigurasi standar karena mengecualikan blok serviceDiscovery.
- Di konsol Google Admin, buka Browser Chrome > Aplikasi & Ekstensi.
- Buka tab Pengguna & browser dan pastikan ekstensi Secure Enterprise Browser (
ekajlcmdfcigmdbphhifahdfjbkciflj) ditambahkan dan diterapkan. Klik ekstensi, dan di kolom Kebijakan untuk ekstensi, masukkan nilai JSON berikut:
{ "securityGateway": { "Value": { "authentication": {}, "context": { "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" } } } }
Klik Simpan.
Transisi ke penyiapan penemuan layanan
Untuk mentransisikan gateway aman lama Anda dari penyiapan file PAC ke penyiapan penemuan layanan yang lebih baru, Anda harus mengaktifkan fitur ini secara manual dan memperbarui konfigurasi Anda.
Mengaktifkan penemuan layanan di gateway aman Anda: Perbarui gateway yang ada untuk mengaktifkan penemuan layanan.
gcloud
gcloud beyondcorp security-gateways update SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --service-discovery={}
REST
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID?updateMask=service_discovery"
Tetapkan kebijakan akses tingkat gateway: Berikan peran
roles/beyondcorp.serviceDiscoveryUserkepada pengguna di tingkat gateway agar mereka dapat menggunakan penemuan layanan. Ikuti petunjuk di bagian Menambahkan binding tingkat gateway Penemuan Layanan.Perbarui konfigurasi ekstensi Chrome Enterprise Premium: Ikuti petunjuk di bagian Menginstal ekstensi Chrome Enterprise Premium untuk memperbarui kebijakan ekstensi Anda. Konfigurasi JSON baru harus menyertakan blok
"serviceDiscovery": { "routes": {} }.Hapus file PAC lama: Setelah penemuan layanan aktif, file PAC lama tidak lagi diperlukan.
- Di konsol Google Admin, buka Perangkat > Chrome > Setelan > Setelan pengguna & browser > Jaringan.
- Temukan setelan Mode proxy.
- Hapus URL konfigurasi otomatis proxy (PAC) atau alihkan setelan dari Selalu gunakan konfigurasi otomatis proxy yang ditetapkan di bawah ke mode yang sesuai untuk jaringan Anda, seperti Izinkan pengguna mengonfigurasi.
- Klik Simpan.
Pengalaman pengguna akhir
Setelah penyiapan selesai, pengguna akhir yang mengakses aplikasi SaaS yang dilindungi akan diberi atau ditolak aksesnya berdasarkan kebijakan akses yang diterapkan ke aplikasi.
Mengakses aplikasi di Chrome
Ekstensi Chrome Enterprise Premium diperlukan untuk mengarahkan traffic melalui gateway aman. Ekstensi ini menangani autentikasi antara pengguna dan gateway aman. Ekstensi ini otomatis diinstal melalui kebijakan domain.
Saat pengguna mengakses aplikasi SaaS yang Anda konfigurasi, traffic mereka akan melewati gateway aman, yang memeriksa apakah mereka memenuhi kebijakan akses. Jika pengguna lulus pemeriksaan kebijakan akses, mereka akan diberi akses ke aplikasi.
Jika akses browser ke aplikasi ditolak oleh kebijakan otorisasi,
pengguna akan menerima pesan Access denied.