Questa pagina descrive le condizioni di Identity and Access Management (IAM) del nome host e del percorso.
Puoi proteggere le risorse Identity-Aware Proxy (IAP) utilizzando il nome host e il percorso di un URL di richiesta.
Ad esempio, la condizione IAM request.path.startsWith
può essere utilizzata per concedere l'accesso solo ai dipendenti nel gruppo Accesso con privilegi se il percorso dell'URL inizia con /admin
.
Per maggiori informazioni sull'utilizzo delle condizioni relative a nome host e percorso, consulta la pagina relativa agli attributi di richiesta.
Normalizzazione delle stringhe
Un URL ha un nome host e un percorso. Ad esempio, l'URL
https://sheets.google.com/create?query=param
ha un nome host di sheets.google.com
e un percorso di /create
.
I backend possono interpretare i nomi host e i percorsi in modi diversi. Per rimuovere l'ambiguità, IAP normalizza le stringhe del nome host e del percorso durante il controllo dei criteri.
IAP esegue due controlli dei criteri quando una richiesta ha un percorso non normalizzato. Se il percorso non normalizzato supera il controllo dei criteri, IAP normalizza il percorso ed viene eseguito un secondo controllo dei criteri. L'accesso viene concesso se sia i percorsi non normalizzati che quelli normalizzati superano il controllo dei criteri.
Ad esempio, se una richiesta ha il percorso /internal;some_param/admin
, IAP esegue prima un controllo dei criteri sul percorso non normalizzato (/internal
). Se questo controllo ha esito positivo, IAP esegue un secondo controllo dei criteri sul percorso normalizzato (/internal/admin
).
Nomi host
La normalizzazione del nome host prevede quanto segue:
- Rimozione dei punti finali
- Caratteri minuscoli
- Conversione in ASCII
I nomi host che includono caratteri non ASCII vengono ulteriormente normalizzati utilizzando Punycode. Per creare una corrispondenza, devi utilizzare Punycode per normalizzare la stringa del nome host.
Per normalizzare la stringa del nome host con Punycode, utilizza un convertitore come Punycoder.
Di seguito sono riportati alcuni esempi di nomi host normalizzati:
FOO.com
è normalizzato infoo.com
café.fr
è normalizzato inxn--caf-dma.fr
Percorsi
La normalizzazione del percorso prevede quanto segue:
- Rimozione dei parametri del percorso
- Risolvere i percorsi relativi all'equivalente assoluto
Un parametro del percorso include tutti i caratteri da ;
a /
successivo o alla fine del percorso.
Le richieste che contengono sezioni del percorso che iniziano con ..;
sono considerate non valide. Ad esempio, /..;bar/
e /bar/..;/
restituiscono l'errore HTTP 400: Bad
Request
.
Di seguito sono riportati alcuni esempi di percorsi normalizzati:
/internal;some_param/admin
è normalizzato in/internal/admin
/a/../b
è normalizzato in/b
/bar;param1/baz;baz;param2
è normalizzato in/bar/baz
Suffissi di sottodominio
Un criterio impostato con request.host.endsWith("google.com")
corrisponde sia a
sub_domain.google.com
che a testgoogle.com
. Se il tuo obiettivo è limitare il criterio solo ai sottodomini che terminano con google.com
, imposta il criterio su request.host.endsWith(".google.com")
.