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. Hal ini memungkinkan IAP membatasi pengalihan URL ke domain berbahaya. Fitur domain yang diizinkan IAP menyediakan lapisan keamanan tambahan untuk resource yang dilindungi IAP. Sebagai pemilik resource atau administrator IAP, Anda dapat membatasi akses ke resource yang dilindungi IAP untuk 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 menerima respons HTTP 429 dan kode error 51. Untuk mengatasi masalah ini, admin IAP dapat memperbarui daftar domain yang diizinkan agar menyertakan nama host Anda.
  • Nama host yang diberikan tidak cocok dengan sertifikat SSL di server: Dalam skenario ini, Anda menerima kode error 52. Untuk mengatasi masalah ini, admin IAP dapat memperbarui daftar domain yang diizinkan agar 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 informasi selengkapnya, lihat IapSettings.

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

Konsol

  1. Buka halaman pembelian dalam aplikasi (IAP).
    Buka Identity-Aware Proxy.
  2. Pilih project, lalu pilih resource tempat Anda ingin mengaktifkan fitur domain yang diizinkan.
  3. Buka Setelan untuk fasilitas. 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:

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. Hal ini opsional jika resource-type adalah compute atau app-engine.
  • VERSION: Nama versi. Hal 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 penggunaan API untuk mengonfigurasi domain yang diizinkan, lihat IapSettings.

  1. Jalankan perintah berikut untuk menyiapkan file iap_settings.json. Perbarui nilainya 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 di 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.