In questa pagina vengono descritte le condizioni di nomi host (Gestione di identità e accessi).
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 ai dipendenti del gruppo Accesso con privilegi solo
se il percorso dell'URL inizia con /admin
.
Per scoprire di più sull'utilizzo delle condizioni di nomi host e percorsi, consulta la sezione Attributi degli attributi.
Normalizzazione 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 sheets.google.com
e un percorso /create
.
I backend possono interpretare nomi host e percorsi in modi diversi. Per rimuovere 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 del criterio, IAP normalizza il percorso e viene eseguito un secondo controllo del criterio. L'accesso è consentito se sia i percorsi non normalizzati sia quelli normalizzati superano il controllo del criterio.
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 supera il controllo, IAP esegue un secondo controllo dei criteri sul percorso normalizzato (/internal/admin
).
Nomi host
La normalizzazione del nome host comporta quanto segue:
- Rimozione dei punti finali
- Caratteri in lettere minuscole
- Conversione in ASCII
I nomi host che includono caratteri non ASCII vengono ulteriormente normalizzati utilizzando Punycode. Devi utilizzare Punycode per normalizzare la stringa del tuo nome host affinché venga trovata una corrispondenza.
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 afoo.com
café.fr
è normalizzato axn--caf-dma.fr
Percorsi
La normalizzazione del percorso prevede quanto segue:
- Rimozione dei parametri del percorso
- Risolvere i percorsi relativi verso l'equivalente equivalente
Un parametro del percorso include tutti
i caratteri da ;
a /
o alla fine del percorso successivo.
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 a/internal/admin
/a/../b
è normalizzato a/b
/bar;param1/baz;baz;param2
è normalizzato a/bar/baz
Suffissi di sottodominio
Un criterio impostato con request.host.endsWith("google.com")
corrisponde sia a
sub_domain.google.com
sia a testgoogle.com
. Se il tuo obiettivo è limitare il tuo criterio ai soli sottodomini che terminano con google.com
, imposta il criterio su request.host.endsWith(".google.com")
.