Halaman ini memandu Anda melalui proses pengamanan aplikasi SaaS melalui gateway aman Chrome Enterprise Premium.
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 SaaS Anda.
Cara kerja pengamanan akses ke aplikasi SaaS
Berikut adalah ringkasan umum tentang cara gateway aman melindungi aplikasi SaaS Anda:
- Setelan browser sisi klien mengarahkan traffic aplikasi melalui proxy gateway yang aman.
- Gateway aman memeriksa kebijakan Akses Kontekstual untuk mengizinkan akses klien (pengguna dan perangkat).
- Jika akses klien diizinkan, gateway akan meneruskan traffic ke aplikasi menggunakan alamat IP sumber unik yang ditetapkan ke gateway dan region Google Cloudtersebut. Alamat IP yang ditetapkan ini dicadangkan secara eksklusif untuk gateway yang Anda buat dan tidak dapat digunakan oleh pengguna atau gateway lain. Untuk mengontrol akses, Anda dapat menambahkan alamat IP sumber khusus ini ke daftar yang diizinkan di aplikasi SaaS Anda.
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
Aplikasi SaaS yang ingin Anda lindungi. Aplikasi harus mendukung
IP allowlistinguntuk menerapkan pemeriksaan keamanan oleh gateway aman.
Batasan
Gateway aman Chrome Enterprise Premium memiliki batasan berikut:
- Konektivitas IPv6: Gateway aman Chrome Enterprise Premium tidak mendukung aplikasi SaaS yang menggunakan konektivitas IPv6.
- Penyedia identitas sebagai aplikasi SaaS: Penyedia identitas tidak boleh dikonfigurasi sebagai aplikasi SaaS yang akan dilindungi oleh gateway aman, jika autentikasi pengguna akhir dengan gateway aman bergantung pada IdP yang sama.
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_IDAPPLICATION_ID=APPLICATION_IDAPPLICATION_DISPLAY_NAME="APPLICATION_DISPLAY_NAME" HOST_NAME=HOST_NAMEGanti kode berikut:
PROJECT_ID: ID project tempat gateway aman dibuat.APPLICATION_ID: ID aplikasi Anda, sepertigithub. Nama dapat berisi maksimal 63 karakter, dan dapat berisi huruf kecil, angka, dan tanda hubung. Karakter pertama harus berupa huruf, dan karakter terakhir dapat berupa huruf atau angka.APPLICATION_DISPLAY_NAME: Nama yang dapat dibaca manusia untuk ditampilkan.HOST_NAME: Nama host aplikasi Anda. Contoh,github.com. Nama host dapat memiliki panjang hingga 253 karakter, dan harus mematuhi salah satu format berikut:- Alamat IPv4 yang valid
- Alamat IPv6 yang valid
- Nama DNS yang valid
- Tanda bintang (*)
- Tanda bintang (*) diikuti dengan nama DNS yang valid
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. 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 hanya boleh berisi karakter yang dapat dicetak.
Membuat gateway aman
Gateway aman Chrome Enterprise Premium adalah elemen penyusun dasar untuk membangun koneksi yang aman ke aplikasi Anda. Lingkungan ini mengalokasikan project dan jaringan khusus, sehingga memberikan isolasi dan keamanan.
console
Untuk membuat resource 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 progresnya di bagian Notifikasi di konsol Google Cloud .
- Sebelum membuat resource aplikasi SaaS, sebaiknya buat hub egress SaaS. Flag
hubsmewakili resource regional yang diperlukan untuk mengaktifkan konektivitas egress ke aplikasi target. Anda dapat mengonfigurasi satu hub untuk setiap region, dan setiap hub menyediakan dua alamat IP. Gateway Aman dapat memiliki maksimal 20 hub. Anda dapat menentukan region 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
- Di konsol Google Cloud , buka halaman SaaS Egress Hubs.
Buka SaaS Egress Hubs - Pilih project tempat Anda ingin membuat Hub Egress SaaS.
- Untuk menambahkan hub egress SaaS, klik Add SaaS egress hub.
- Dari menu drop-down, pilih region tempat Anda ingin menambahkan hub egress. Untuk menambahkan hub egress, klik Add SaaS egress hub untuk menambahkan lebih dari satu hub. Setelah selesai, klik Save untuk membuat hub egress.
gcloud
Untuk membuat resource gateway aman, jalankan perintah berikut. Untuk flag --hubs, tentukan satu atau beberapa region dari daftar berikut.
gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \ --hubs=us-central1 \ --service-discovery={}
Flag hubs menetapkan resource regional yang diperlukan untuk mengaktifkan konektivitas egress ke aplikasi target. Anda dapat memiliki satu hub untuk setiap region, dan setiap hub menyediakan dua alamat IP. Gateway Aman dapat memiliki maksimal 20 hub. Anda dapat menentukan region 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
REST
Untuk membuat resource gateway aman, panggil metode Create API dengan detail gateway dalam isi permintaan. Untuk flag hubs, tentukan satu atau beberapa region dari daftar berikut.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "hubs": { "us-central1": {} }, "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
Flag hubs mewakili resource regional yang diperlukan untuk mengaktifkan konektivitas egress ke aplikasi target. Anda dapat memiliki satu hub untuk setiap region, dan setiap hub menyediakan dua alamat IP. Gateway Aman dapat memiliki maksimal 20 hub. Anda dapat menentukan region 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
Mengonfigurasi aplikasi SaaS
Setelah membuat gateway aman, Anda dapat mengonfigurasi aplikasi SaaS untuk menggunakan gateway aman guna mendapatkan akses yang aman.
console
Untuk mengonfigurasi hub egress SaaS, lakukan hal berikut:
- Di konsol Google Cloud , buka halaman SaaS Egress Hubs.
Buka SaaS Egress Hubs - Di halaman SaaS Egress Hubs, temukan tabel yang mencantumkan hub. Untuk setiap region yang ingin Anda gunakan, salin semua alamat IP yang tercantum di kolom IP egress khusus statis. Setiap region menyediakan dua alamat IP.
- Tambahkan alamat IP ke daftar IP yang diizinkan di aplikasi SaaS Anda. Misalnya, untuk aplikasi GitHub, Anda dapat mengikuti panduan ini: Mengelola alamat IP yang diizinkan untuk organisasi Anda.
gcloud
Untuk mengonfigurasi hub egress SaaS, lakukan hal berikut:
- Dapatkan alamat IP yang dialokasikan oleh gateway aman untuk setiap hub. Dua alamat IP dialokasikan untuk satu region.
- Tambahkan alamat IP ke daftar IP yang diizinkan di aplikasi SaaS Anda. Misalnya, untuk aplikasi GitHub, Anda dapat mengikuti panduan ini: Mengelola alamat IP yang diizinkan untuk organisasi Anda.
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
Berikut adalah contoh respons GET dari gateway aman dengan
hubs. Dalam contoh ini, hubs dibuat di region us-central1 dan us-east1, dan semua alamat IP yang ditampilkan dalam respons harus diizinkan di aplikasi SaaS.
createTime: 'CREATE_TIME' displayName: My secure gateway hubs: us-central1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 us-east1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 name: projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID state: RUNNING updateTime: 'UPDATE_TIME'
REST
Untuk mengonfigurasi hub egress SaaS, lakukan hal berikut:
- Dapatkan alamat IP yang dialokasikan oleh gateway aman untuk setiap hub. Dua alamat IP dialokasikan untuk satu region.
- Tambahkan alamat IP ke daftar IP yang diizinkan di aplikasi SaaS Anda. Misalnya, untuk aplikasi GitHub, Anda dapat mengikuti panduan ini: Mengelola alamat IP yang diizinkan untuk organisasi Anda.
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"
Berikut adalah contoh respons GET dari gateway aman dengan
hubs. Dalam contoh ini, hubs dibuat di region us-central1 dan us-east1, dan semua alamat IP yang ditampilkan dalam respons harus diizinkan di aplikasi SaaS.
{ "securityGateways": [ { "name": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "displayName": "My secure gateway", "state": "RUNNING", "hubs": { "us-central1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", ] } }, "us-east1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", ] } } } } ] }
Membuat resource aplikasi
Informasi berikut akan memandu Anda dalam proses penyiapan dan konfigurasi resource aplikasi gateway aman.
Membuat resource aplikasi gateway aman di Google Cloud
Resource aplikasi Google Cloud adalah sub-resource dari resource gateway aman. Buat resource aplikasi menggunakan konsol Google Cloud
atau memanggil
API
Create.
console
Untuk membuat aplikasi SaaS, lakukan hal berikut:
- Di konsol Google Cloud , buka halaman gateway aman.
Buka gateway aman - Untuk membuat aplikasi, klik Add application.
- Pilih jenis aplikasi: Public application.
- Jika hub egress SaaS belum dikonfigurasi untuk gateway aman ini, Anda akan diminta untuk membuatnya. Aplikasi publik memerlukan setidaknya satu hub egress SaaS. Untuk mengonfigurasi hub egress SaaS, klik Buka hub egress SaaS dan tambahkan satu atau beberapa region.
- Setelah Anda memiliki satu atau beberapa hub egress, klik Next.
- Masukkan detail aplikasi:
- Application name: 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. Misalnya:github.com:443.
- Application name: Masukkan nama, misalnya,
- Untuk mengonfigurasi aplikasi SaaS, klik Continue.
- Konfigurasi aplikasi SaaS Anda untuk mengizinkan traffic dari gateway aman:
- Catat atau salin dengan cermat semua alamat IP yang tercantum untuk region yang Anda gunakan. Alamat IP ini unik untuk gateway aman Anda.
- Login ke konsol administrasi aplikasi SaaS Anda.
- Buka setelan jaringan atau setelan keamanan tempat daftar IP yang diizinkan dikelola.
- Tambahkan semua alamat IP yang diperoleh ke daftar IP yang diizinkan aplikasi.
- Untuk menambahkan aplikasi, klik Continue.
- Opsional: Tentukan kebijakan akses: Pilih kebijakan akses Access Context Manager. Anda dapat melewati langkah ini untuk panduan ini.
- Untuk membuat, menyimpan setelan, dan membuat aplikasi, klik Create.
gcloud
Untuk membuat aplikasi SaaS 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="APPLICATION_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=443"
REST
Untuk membuat aplikasi SaaS 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\": \"APPLICATION_DISPLAY_NAME\", \"endpoint_matchers\": [{hostname: \"HOST_NAME\", ports: 443}] }" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications?application_id=APPLICATION_ID"
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.