Akses yang aman ke aplikasi SaaS

Halaman ini akan 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 terperinci dan kontekstual atas siapa yang mengakses aplikasi SaaS Anda.

Cara kerja pengamanan akses ke aplikasi SaaS

Berikut adalah ringkasan garis besar tentang cara gateway aman melindungi aplikasi SaaS Anda:

  1. Setelan browser sisi klien mengarahkan traffic aplikasi melalui proxy gateway yang aman.
  2. Gateway aman memeriksa kebijakan Akses Kontekstual untuk memberi otorisasi akses klien (pengguna dan perangkat).
  3. Jika akses klien diizinkan, gateway akan meneruskan traffic ke aplikasi menggunakan alamat IP sumber unik yang ditetapkan ke gateway dan Google Cloud region tersebut. 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:

Pelajari lebih lanjut peran Identity and Access Management (IAM).

Sebelum memulai

Sebelum menyiapkan gateway aman, pastikan Anda memiliki hal berikut:

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

Untuk menyederhanakan proses penyiapan dan berinteraksi dengan API gateway aman, tentukan variabel lingkungan berikut di shell kerja Anda.

  • Parameter umum

    PROJECT_ID=PROJECT_ID
    APPLICATION_ID=APPLICATION_ID
    APPLICATION_DISPLAY_NAME="APPLICATION_DISPLAY_NAME"
    HOST_NAME=HOST_NAME

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat gateway aman dibuat.
    • APPLICATION_ID: ID aplikasi Anda, seperti github. Nama 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.
    • APPLICATION_DISPLAY_NAME: Nama yang dapat dibaca manusia untuk ditampilkan.
    • HOST_NAME: Nama host aplikasi Anda. Contoh, github.com. Panjang nama host maksimal 253 karakter, dan harus mengikuti 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_ID
    SECURITY_GATEWAY_DISPLAY_NAME="SECURITY_GATEWAY_DISPLAY_NAME"

    Ganti kode berikut:

    • SECURITY_GATEWAY_ID: ID gateway aman. ID dapat terdiri dari 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.
    • SECURITY_GATEWAY_DISPLAY_NAME: Nama gateway aman yang dapat dibaca manusia. Panjang nama maksimal 63 karakter dan hanya boleh berisi karakter yang dapat dicetak.

Membuat gateway yang aman

Gateway aman Chrome Enterprise Premium adalah elemen penyusun mendasar untuk membuat koneksi yang aman ke aplikasi Anda. Layanan ini mengalokasikan project dan jaringan khusus, sehingga memberikan isolasi dan keamanan.

console

Untuk membuat resource gateway aman, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman secure gateway.
    Buka gateway aman
  2. Pilih project yang ingin Anda buat gateway amannya.
  3. Untuk membuat gateway yang aman, klik Buat gateway baru dan tunggu hingga proses pembuatan gateway selesai.
  4. Anda dapat melacak progres di bagian Notifikasi pada konsol Google Cloud .
  5. Sebelum membuat resource aplikasi SaaS, sebaiknya buat hub keluar SaaS. Flag hubs menunjukkan resource regional yang diperlukan untuk mengaktifkan konektivitas keluar ke aplikasi target. Anda dapat mengonfigurasi satu hub untuk setiap region, dan setiap hub menyediakan dua alamat IP. Secure Gateway dapat memiliki maksimal 20 hub. Anda dapat menentukan wilayah berikut:
    • africa-south1
    • asia-east1
    • asia-south1
    • asia-south2
    • asia-southeast1
    • europe-central2
    • europe-north1
    • europe-southwest1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
    • europe-west8
    • europe-west9
    • northamerica-northeast1
    • northamerica-northeast2
    • northamerica-south1
    • southamerica-east1
    • southamerica-west1
    • us-central1
    • us-east1
    • us-east4
    • us-east5
    • us-west1
  6. Di konsol Google Cloud , buka halaman SaaS Egress Hubs.
    Buka Hub Keluar SaaS
  7. Pilih project yang ingin Anda buat SaaS Egress Hubs-nya.
  8. Untuk menambahkan hub keluar SaaS, klik Tambahkan hub keluar SaaS.
  9. Dari daftar drop-down, pilih wilayah tempat Anda ingin menambahkan hub keluar. Untuk menambahkan hub keluar, klik Tambahkan hub keluar SaaS untuk menambahkan lebih dari satu hub. Setelah selesai, klik Simpan untuk membuat hub keluar.

gcloud

Untuk membuat resource gateway aman, jalankan perintah berikut. Untuk tanda --hubs, tentukan satu atau beberapa wilayah 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 keluar ke aplikasi target. Anda dapat memiliki satu hub untuk setiap region, dan setiap hub menyediakan dua alamat IP. Secure Gateway dapat memiliki maksimal 20 hub. Anda dapat menentukan wilayah berikut:

  • africa-south1
  • asia-east1
  • asia-south1
  • asia-south2
  • asia-southeast1
  • europe-central2
  • europe-north1
  • europe-southwest1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • europe-west8
  • europe-west9
  • northamerica-northeast1
  • northamerica-northeast2
  • northamerica-south1
  • southamerica-east1
  • southamerica-west1
  • us-central1
  • us-east1
  • us-east4
  • us-east5
  • us-west1

REST

Untuk membuat resource gateway yang aman, panggil metode Create API dengan detail gateway dalam isi permintaan. Untuk tanda hubs, tentukan satu atau beberapa wilayah 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 menunjukkan resource regional yang diperlukan untuk mengaktifkan konektivitas keluar ke aplikasi target. Anda dapat memiliki satu hub untuk setiap region, dan setiap hub menyediakan dua alamat IP. Secure Gateway dapat memiliki maksimal 20 hub. Anda dapat menentukan wilayah berikut:

  • africa-south1
  • asia-east1
  • asia-south1
  • asia-south2
  • asia-southeast1
  • europe-central2
  • europe-north1
  • europe-southwest1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • europe-west8
  • europe-west9
  • northamerica-northeast1
  • northamerica-northeast2
  • northamerica-south1
  • southamerica-east1
  • southamerica-west1
  • us-central1
  • us-east1
  • us-east4
  • us-east5
  • us-west1

Mengonfigurasi aplikasi SaaS

Setelah membuat gateway aman, Anda dapat mengonfigurasi aplikasi SaaS untuk menggunakan gateway aman untuk akses yang aman.

console

Untuk mengonfigurasi hub traffic keluar SaaS, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman SaaS Egress Hubs.
    Buka SaaS Egress Hubs
  2. 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 keluar khusus statis. Setiap region menyediakan dua alamat IP.
  3. Tambahkan alamat IP ke daftar yang diizinkan IP aplikasi SaaS Anda. Misalnya, untuk aplikasi GitHub, Anda dapat mengikuti panduan ini: Mengelola alamat IP yang diizinkan untuk organisasi Anda.

gcloud

Untuk mengonfigurasi hub traffic keluar SaaS, lakukan hal berikut:

  1. Dapatkan alamat IP yang dialokasikan oleh gateway aman untuk setiap hub. Dua alamat IP dialokasikan untuk suatu region.
  2. 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, 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'
        
  3. Tambahkan alamat IP ke daftar yang diizinkan IP aplikasi SaaS Anda. Misalnya, untuk aplikasi GitHub, Anda dapat mengikuti panduan ini: Mengelola alamat IP yang diizinkan untuk organisasi Anda.

REST

Untuk mengonfigurasi hub traffic keluar SaaS, lakukan hal berikut:

  1. Dapatkan alamat IP yang dialokasikan oleh gateway aman untuk setiap hub. Dua alamat IP dialokasikan untuk suatu region.
  2. 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, 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",
                ]
              }
            }
          }
        }
      ]
    }
        
  3. Tambahkan alamat IP ke daftar yang diizinkan IP aplikasi SaaS Anda. Misalnya, untuk aplikasi GitHub, Anda dapat mengikuti panduan ini: Mengelola alamat IP yang diizinkan untuk organisasi Anda.

Membuat resource aplikasi

Informasi berikut akan memandu Anda melalui proses penyiapan dan konfigurasi resource aplikasi gateway yang aman.

Buat resource aplikasi gateway aman di Google Cloud

Resource aplikasi Google Cloud adalah sub-resource dari resource gateway yang aman. Buat resource aplikasi menggunakan Google Cloud konsol atau dengan memanggil API Create.

console

Untuk membuat aplikasi SaaS, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman secure gateway.
    Buka gateway aman
  2. Untuk membuat aplikasi, klik Tambahkan aplikasi.
  3. Pilih jenis aplikasi: Aplikasi publik.
  4. Jika hub keluar SaaS belum dikonfigurasi untuk gateway aman ini, Anda akan diminta untuk membuatnya. Aplikasi publik memerlukan setidaknya satu hub keluar SaaS. Untuk mengonfigurasi hub keluar SaaS, klik Buka hub keluar SaaS dan tambahkan satu atau beberapa region.
  5. Setelah Anda memiliki satu atau beberapa hub keluar, klik Berikutnya.
  6. Masukkan detail aplikasi:
    • Nama aplikasi: Masukkan nama, misalnya, GitHub.
    • Pencocokan domain: Masukkan daftar pola domain yang dipisahkan koma untuk merutekan melalui gateway aman. Sertakan port dalam format domain:port. Karakter pengganti (*) diizinkan. Misalnya: github.com:443.
  7. Untuk mengonfigurasi aplikasi SaaS Anda, klik Lanjutkan.
  8. Konfigurasi aplikasi SaaS Anda untuk mengizinkan traffic dari gateway aman:
    1. Catat atau salin dengan cermat semua alamat IP yang tercantum untuk region yang Anda gunakan. Alamat IP ini unik untuk gateway aman Anda.
    2. Login ke konsol administrasi aplikasi SaaS Anda.
    3. Buka setelan jaringan atau setelan keamanan tempat daftar yang diizinkan IP dikelola.
    4. Tambahkan semua alamat IP yang diperoleh ke daftar yang diizinkan IP aplikasi.
  9. Untuk menambahkan aplikasi, klik Lanjutkan.
  10. Opsional: Tentukan kebijakan akses: Pilih kebijakan akses Access Context Manager. Anda dapat melewati langkah ini untuk panduan ini.
  11. Untuk membuat dan menyimpan setelan serta membuat aplikasi, klik Buat.

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:

  1. Untuk membuat kebijakan yang berlaku untuk beberapa aplikasi yang ditautkan ke gateway aman, buka halaman Kebijakan.
    Buka Kebijakan
  2. Untuk menambahkan kebijakan akses ke aplikasi, klik Create Policy.
  3. Dari daftar drop-down, pilih aplikasi yang ingin Anda terapkan kebijakan.
  4. Tambahkan akun utama ke kebijakan:

    Principal dapat berupa pengguna, grup, domain, atau akun layanan. Akun utama ini diberi atau ditolak akses berdasarkan tingkat akses yang Anda tetapkan.

    1. Untuk menambahkan akun utama, klik Tambahkan akun utama.
    2. Di kolom Principal, masukkan alamat email pengguna, grup, akun layanan, atau nama domain.
    3. Di drop-down Tingkat Akses, pilih satu atau beberapa tingkat Akses Kontekstual yang telah ditentukan sebelumnya. Akses hanya diberikan jika prinsipal memenuhi kondisi tingkat akses yang dipilih.

    Untuk menambahkan lebih banyak akun utama, klik Tambahkan akun utama lagi dan ulangi substep.

    Anda dapat membuat dan mengelola tingkat akses di Access Context Manager.

  5. Untuk menerapkan kebijakan ke aplikasi, klik Create Policy.

Mengubah kebijakan akses tingkat aplikasi

  1. Untuk mengubah kebijakan satu aplikasi, buka halaman Aplikasi.
    Buka Aplikasi
  2. Untuk menemukan aplikasi yang ingin Anda edit, lakukan langkah berikut:
    1. Dalam daftar Aplikasi, cari aplikasi yang ingin Anda ubah.
    2. Untuk melihat detail aplikasi, klik menu Tindakan lainnya () dan pilih Lihat Detail.
  3. Untuk mengedit aplikasi, klik Edit.
  4. Tambahkan akun utama ke kebijakan:

    Principal dapat berupa pengguna, grup, domain, atau akun layanan. Akun utama ini diberi atau ditolak akses berdasarkan tingkat akses yang Anda tetapkan.

    1. Untuk menambahkan akun utama, klik Tambahkan akun utama.
    2. Di kolom Principal, masukkan alamat email pengguna, grup, akun layanan, atau nama domain.
    3. Di menu drop-down Tingkat Akses, pilih satu atau beberapa tingkat Akses Kontekstual yang telah ditentukan sebelumnya. Akses hanya diberikan jika prinsipal memenuhi kondisi tingkat akses yang dipilih.

    Untuk menambahkan lebih banyak akun utama, klik Tambahkan akun utama lagi dan ulangi substep.

    Anda dapat membuat dan mengelola tingkat akses di Access Context Manager.

  5. Untuk menerapkan kebijakan ke aplikasi, klik Simpan.

gcloud

Menambahkan binding tingkat gateway Service Discovery

Sebelum memberikan akses pengguna ke aplikasi, pastikan pengguna memiliki izin Penemuan Layanan di tingkat Secure Gateway.

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 aman
  • PROJECT_ID: ID project tempat gateway aman dikonfigurasi
  • MEMBER: pengguna, grup, atau akun layanan yang ingin Anda beri peran Service Discovery. 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 aplikasi
  • SECURITY_GATEWAY_ID: ID gateway aman
  • PROJECT_ID: ID project tempat gateway aman dikonfigurasi
  • MEMBER: pengguna, grup, atau akun layanan yang ingin Anda beri peran Service Discovery. 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 Secure Gateway.

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 aman
  • PROJECT_ID: ID project tempat gateway aman dikonfigurasi
  • MEMBER: 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 aplikasi
  • SECURITY_GATEWAY_ID: ID gateway aman
  • PROJECT_ID: ID project tempat gateway aman dikonfigurasi
  • MEMBER: 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 menggantikan 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.

  1. Baca: Simpan kebijakan akses saat ini ke file.
  2. Ubah: Edit file kebijakan secara lokal untuk menambahkan atau mengubah izin.
  3. Tulis: Terapkan file kebijakan yang telah diperbarui.

Menetapkan kebijakan tingkat gateway Service Discovery

Untuk memberikan izin penemuan layanan, Anda harus menetapkan kebijakan akses di gateway keamanan, 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 pokok 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 anggota lain, seperti serviceAccount, user, group, principal, dan principalSet, dalam binding kebijakan. Untuk mengetahui informasi selengkapnya, lihat akun utama IAM.

Terapkan kebijakan yang 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 dikonfigurasi
  • SECURITY_GATEWAY_ID: ID gateway aman
  • APPLICATION_ID: ID resource aplikasi

Perintah ini membuat file policy.json yang berisi kebijakan saat ini.

Ubah file kebijakan

Untuk memberikan akses grup agar dapat menggunakan gateway aman, lakukan hal berikut:

  1. Buka file policy.json di editor teks.
  2. Tambahkan grup ke daftar members untuk peran roles/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 anggota lain, seperti serviceAccount, user, group, principal, dan principalSet, dalam binding kebijakan. Untuk mengetahui informasi selengkapnya, lihat akun utama IAM.

Menerapkan kebijakan yang diperbarui

Setelah mengedit dan menyimpan file policy.json, terapkan ke resource menggunakan perintah setIamPolicy. Perintah ini menggunakan etag dari file Anda untuk memastikan 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 dikonfigurasi
  • SECURITY_GATEWAY_ID: ID gateway aman
  • APPLICATION_ID: ID resource aplikasi

Menambahkan kebijakan akses bersyarat

Anda juga dapat menetapkan kebijakan akses dengan ketentuan. 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 hanya instance Google Chrome terkelola yang dapat mengakses aplikasi web Anda melalui Security Gateway, sebaiknya tambahkan aturan Akses Kontekstual (CAA). Aturan ini memverifikasi bahwa profil Chrome pengguna dikelola, 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 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 yang aman, dan membantu autentikasi. Instal ekstensi untuk semua pengguna gateway aman. Untuk mengetahui informasi tentang men-deploy ekstensi, lihat Melihat dan mengonfigurasi aplikasi dan ekstensi. Untuk menginstal ekstensi Chrome Enterprise Premium, lakukan hal berikut:

  1. Buka konsol Google Admin.
  2. Klik Browser Chrome > Aplikasi & Ekstensi.
  3. Klik tab Pengguna & browser.
  4. Untuk menambahkan ekstensi Chrome, klik tombol +, lalu pilih Tambahkan aplikasi atau ekstensi Chrome menurut ID.
  5. Telusuri ekstensi Secure Enterprise Browser menggunakan ID berikut, lalu tetapkan kebijakan penginstalannya ke Instal paksa untuk semua pengguna di unit organisasi atau grup:

    ekajlcmdfcigmdbphhifahdfjbkciflj
  6. 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 dikonfigurasi
    • SECURITY_GATEWAY_ID: ID gateway aman

  7. Untuk menyimpan konfigurasi, klik Simpan.

Penyiapan file PAC lama

Jika diaktifkan, Penemuan Layanan memungkinkan klien Browser Chrome mendeteksi dan merutekan traffic secara otomatis ke aplikasi yang dikonfigurasi melalui gateway yang aman, sehingga tidak perlu konfigurasi perutean manual menggunakan file PAC.

Jika Penemuan Layanan tidak diaktifkan di gateway aman Anda, Anda memiliki penyiapan lama. Anda harus mengonfigurasi file PAC untuk mengontrol perutean 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, berarti gateway Anda menggunakan penyiapan lama. Untuk gateway yang menggunakan penyiapan lama, pemilihan rute ditangani dengan menggunakan file PAC yang dihosting.

Langkah 1: Buat dan host file PAC

  1. Buat file bernama pac_config.js dengan JavaScript berikut, ganti HOST_NAME dengan 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';
    }
  2. Upload file PAC ke layanan hosting, seperti bucket Cloud Storage.

    • Pastikan file dapat didownload secara publik.
    • Tetapkan header HTTP Cache-Control ke no-cache agar browser selalu mengambil aturan pemilihan rute terbaru.
  3. Salin URL publik file PAC yang diupload.

Langkah 2: Terapkan file PAC di konsol Google Admin

  1. Buka konsol Google Admin.
  2. Buka Perangkat > Chrome > Setelan.
  3. Pilih unit organisasi atau grup Anda, lalu klik Mode proxy.
  4. Di bagian Proxy mode, pilih Always use the proxy auto-config specified below.
  5. Masukkan URL publik file PAC yang dihosting ke kolom yang disediakan.
  6. Klik Simpan.

Langkah 3: Konfigurasi ekstensi Chrome Enterprise Premium

Ekstensi diperlukan untuk menangani autentikasi. Kebijakan ekstensi ini berbeda dari konfigurasi standar karena mengecualikan blok serviceDiscovery.

  1. Di konsol Google Admin, buka Browser Chrome > Aplikasi & Ekstensi.
  2. Buka tab Pengguna & browser, lalu pastikan ekstensi Secure Enterprise Browser (ekajlcmdfcigmdbphhifahdfjbkciflj) telah ditambahkan dan diterapkan.
  3. Klik ekstensi, lalu di kolom Kebijakan untuk ekstensi, masukkan nilai JSON berikut:

    {
      "securityGateway": {
        "Value": {
          "authentication": {},
          "context": {
            "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID"
          }
        }
      }
    }
  4. Klik Simpan.

Beralih ke penyiapan penemuan layanan

Untuk mentransisikan gateway aman lama dari penyiapan file PAC ke penyiapan penemuan layanan yang lebih baru, Anda harus mengaktifkan fitur secara manual dan memperbarui konfigurasi.

  1. Aktifkan 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"
          
  2. Tetapkan kebijakan akses tingkat gateway: Beri pengguna peran roles/beyondcorp.serviceDiscoveryUser di tingkat gateway agar mereka dapat menggunakan penemuan layanan. Ikuti petunjuk di bagian Menambahkan binding tingkat gateway Service Discovery.

  3. 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": {} }.

  4. Hapus file PAC lama: Setelah penemuan layanan aktif, file PAC lama tidak lagi diperlukan.

    1. Di konsol Google Admin, buka Perangkat > Chrome > Setelan > Setelan pengguna & browser > Jaringan.
    2. Temukan setelan Mode proxy.
    3. 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.
    4. 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 yang aman. Ekstensi menangani autentikasi antara pengguna dan gateway yang aman. Ekstensi akan otomatis diinstal melalui kebijakan domain.

Saat pengguna mengakses aplikasi SaaS yang Anda konfigurasi, traffic mereka akan melewati gateway yang 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.

Langkah berikutnya