Membatasi akses resource ke domain tertentu

Untuk meningkatkan keamanan secara keseluruhan, IAP secara default menolak akses ke permintaan yang tidak memiliki Server Name Indication (SNI) yang cocok. IAP juga memeriksa SNI sertifikat load balancer. Hal ini memungkinkan IAP membatasi pengalihan URL ke domain berbahaya. Fitur domain yang diizinkan IAP memberikan lapisan keamanan tambahan untuk resource yang dilindungi IAP. Sebagai pemilik resource atau administrator IAP, Anda dapat membatasi akses ke resource yang dilindungi IAP ke domain tertentu dengan mengonfigurasi fitur domain yang diizinkan.

Anda juga dapat mengonfigurasi domain yang diizinkan IAP dalam skenario berikut:

  • Browser Anda atau proxy perantara memaksa penggabungan koneksi: Dalam skenario ini, Anda akan menerima respons HTTP 429 dan kode error 51. Untuk mengatasi masalah ini, admin IAP dapat memperbarui daftar domain yang diizinkan untuk menyertakan nama host Anda.
  • Nama host yang diberikan tidak cocok dengan sertifikat SSL di server: Dalam skenario ini, Anda akan menerima kode error 52. Untuk mengatasi masalah ini, admin IAP dapat memperbarui daftar domain yang diizinkan untuk menyertakan nama host Anda.

Mengonfigurasi domain yang diizinkan

Anda dapat menggunakan gcloud atau API untuk mengonfigurasi setelan domain yang diizinkan. Untuk mengonfigurasi domain yang diizinkan, gunakan kolom berikut:

  • enable: Boolean. Mengaktifkan atau menonaktifkan fitur domain yang diizinkan.
  • Domains: String. Daftar domain yang diizinkan. Domain dapat berisi awalan karakter pengganti, seperti *.example.com. Nama domain tidak dapat berisi karakter pengganti langsung pada akhiran publik atau pada domain tingkat atas. Contoh: *.com, *.co.in.

Untuk mengetahui informasi selengkapnya, lihat IapSettings.

Untuk mengonfigurasi domain yang diizinkan IAP, selesaikan langkah-langkah berikut:

Konsol

  1. Buka halaman IAP.
    Buka Identity-Aware Proxy.
  2. Pilih project, lalu pilih resource yang ingin Anda aktifkan fitur domain yang diizinkannya.
  3. Buka Settings untuk resource. Di bagian Allowed domains, pilih Enable Allowed Domains.
  4. Tentukan daftar domain yang diizinkan, lalu klik Save.

gcloud

Berikut adalah beberapa contoh perintah untuk menentukan domain yang diizinkan.

Untuk mengetahui informasi selengkapnya, lihat gcloud iap settings set.

Jalankan perintah berikut:

gcloud iap settings set SETTING_FILE --folder=FOLDER --organization=ORGANIZATION --project=PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION

Dengan SETTING_FILE adalah:

accessSettings:
  allowed_domains_settings:
    enable: true
    domains: ["*.example.com", "*.example.net"]

Ganti kode berikut:

  • FOLDER: ID folder.
  • ORGANIZATION: ID organisasi.
  • PROJECT: Project ID.
  • RESOURCE_TYPE: Jenis resource IAP. Harus berupa app-engine, iap_web, compute, organization, folder, backend-services, forwarding-rule, atau cloud-run.
  • SERVICE: Nama layanan. Kolom ini bersifat opsional jika resource-type adalah compute atau app-engine.
  • VERSION: Nama versi. Kolom ini tidak berlaku untuk compute, dan bersifat opsional jika resource-type adalah app-engine.

Anda harus menentukan setidaknya salah satu flag berikut untuk menentukan cakupan setelan:

  • --organization=ORGANIZATION
  • --folder=FOLDER
  • --project=PROJECT

API

Untuk mengonfigurasi domain yang diizinkan, selesaikan langkah-langkah berikut. Untuk mengetahui informasi selengkapnya tentang penggunaan API untuk mengonfigurasi domain yang diizinkan, lihat IapSettings.

  1. Jalankan perintah berikut untuk menyiapkan file iap_settings.json. Perbarui nilai sesuai kebutuhan.
 {
     "access_settings":{
         "allowed_domains_settings":{
             "enable": true
             "domains": [
                 "*.example.com",
                 "*.exampe.net"
             ]
         }
     }
 }
  1. Dapatkan nama resource dengan menjalankan perintah gcloud iap settings get. Salin kolom nama dari output. Anda akan memerlukan nama tersebut pada langkah berikutnya.
gcloud iap settings get --organization=ORGANIZATION --folder=FOLDER --project=PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
  1. Ganti RESOURCE_NAME dalam perintah berikut dengan nama dari langkah sebelumnya. IapSettings akan diperbarui.
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d @iap_settings.json \
"https://iap.googleapis.com/v1/RESOURCE_NAME:iapSettings?updateMask=iapSettings.accessSettings.allowedDomainsSettings.enable,iapSettings.accessSettings.allowedDomainsSettings.domains"

Pemecahan masalah

Masalah akses domain yang diizinkan
Jika Anda menerima Kode error 53, minta administrator IAP untuk menambahkan nama host Anda ke daftar domain yang diizinkan.