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 atau proxy perantara Anda 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 boleh berisi karakter pengganti secara langsung di akhiran publik atau di domain level teratas. 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 tempat Anda ingin mengaktifkan fitur domain yang diizinkan.
  3. Buka Setelan untuk resource. Di bagian Domain yang diizinkan, pilih Aktifkan Domain yang Diizinkan.
  4. Tentukan daftar domain yang diizinkan, lalu klik Simpan.

gcloud

Berikut adalah beberapa contoh perintah untuk menentukan domain yang diizinkan.

Untuk 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, atau folder.
  • SERVICE: Nama layanan. Ini bersifat opsional jika resource-type adalah compute atau app-engine.
  • VERSION: Nama versi. Ini tidak berlaku untuk compute, dan bersifat opsional jika resource-type adalah app-engine.

API

Untuk mengonfigurasi domain yang diizinkan, selesaikan langkah-langkah berikut. Untuk informasi selengkapnya tentang cara menggunakan 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 di langkah berikut.
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 diupdate.
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.