Halaman ini menjelaskan nama host dan jalur kondisi Identity and Access Management (IAM).
Anda dapat mengamankan resource Identity-Aware Proxy (IAP) menggunakan nama host dan jalur URL permintaan.
Misalnya, kondisi IAM request.path.startsWith
dapat digunakan untuk hanya memberikan akses kepada karyawan dalam grup Akses Hak Istimewa jika jalur URL dimulai dengan /admin
.
Untuk mengetahui informasi selengkapnya tentang penggunaan kondisi nama host dan jalur, lihat atribut permintaan.
Normalisasi string
URL memiliki nama host dan jalur. Misalnya, URL
https://sheets.google.com/create?query=param
memiliki nama host sheets.google.com
dan jalur /create
.
Backend dapat menafsirkan nama host dan jalur dengan cara yang berbeda. Untuk menghilangkan ambiguitas, IAP menormalisasi nama host dan string jalur saat memeriksa kebijakan.
IAP melakukan dua pemeriksaan kebijakan jika permintaan memiliki jalur yang tidak dinormalisasi. Jika jalur yang tidak dinormalisasi lolos pemeriksaan kebijakan, IAP akan menormalisasi jalur tersebut dan pemeriksaan kebijakan kedua akan dilakukan. Akses akan diberikan jika jalur yang tidak dinormalisasi dan yang dinormalisasi lulus pemeriksaan kebijakan.
Misalnya, jika suatu permintaan memiliki jalur /internal;some_param/admin
, IAP akan melakukan pemeriksaan kebijakan terlebih dahulu pada jalur yang tidak dinormalisasi (/internal
). Jika pemeriksaan tersebut lulus, IAP akan melakukan pemeriksaan kebijakan kedua pada jalur yang dinormalisasi (/internal/admin
).
Nama host
Normalisasi nama host melibatkan hal berikut:
- Menghapus titik di akhir
- Karakter huruf kecil
- Mengonversi ke ASCII
Nama host yang menyertakan karakter non-ASCII dinormalisasi lebih lanjut menggunakan Punycode. Anda harus menggunakan Punycode untuk menormalisasi string nama host agar pencocokan dibuat.
Untuk menormalisasi string nama host dengan Punycode, gunakan pengonversi seperti Punycoder.
Berikut adalah contoh nama host yang dinormalkan:
FOO.com
dinormalkan kefoo.com
café.fr
dinormalkan kexn--caf-dma.fr
Jalur
Normalisasi jalur melibatkan hal berikut:
- Menghapus parameter jalur
- Menyelesaikan jalur relatif ke padanan absolutnya
Parameter jalur mencakup semua
karakter dari ;
ke /
berikutnya atau akhir jalur.
Permintaan yang berisi bagian jalur yang diawali dengan ..;
dianggap
tidak valid. Misalnya, /..;bar/
dan /bar/..;/
menampilkan error HTTP 400: Bad
Request
.
Berikut adalah contoh jalur yang dinormalkan:
/internal;some_param/admin
dinormalkan ke/internal/admin
/a/../b
dinormalkan ke/b
/bar;param1/baz;baz;param2
dinormalkan ke/bar/baz
Akhiran subdomain
Kebijakan yang ditetapkan dengan request.host.endsWith("google.com")
cocok dengan
sub_domain.google.com
dan testgoogle.com
. Jika sasaran Anda adalah membatasi
kebijakan hanya untuk subdomain yang diakhiri dengan google.com
, tetapkan kebijakan ke
request.host.endsWith(".google.com")
.