Esta página descreve as condições de gestão de identidade e de acesso (IAM) do nome do anfitrião e do caminho.
Pode proteger os recursos do Identity-Aware Proxy (IAP) através do nome do anfitrião e do caminho de um URL de pedido.
Por exemplo, a condição request.path.startsWith do IAM pode ser usada para conceder acesso apenas a funcionários no grupo Acesso privilegiado se o caminho do URL começar por /admin.
Para mais informações sobre a utilização de condições de nome de anfitrião e caminho, consulte os atributos de pedido.
Normalização de strings
Um URL tem um nome de anfitrião e um caminho. Por exemplo, o URL
https://sheets.google.com/create?query=param
tem um nome do anfitrião de sheets.google.com e um caminho de /create.
Os backends podem interpretar os nomes de anfitriões e os caminhos de formas diferentes. Para remover a ambiguidade, o IAP normaliza as strings de nome de anfitrião e caminho ao verificar as políticas.
O IAP realiza duas verificações de políticas quando um pedido tem um caminho não normalizado. Se o caminho não normalizado passar na verificação de políticas, o IAP normaliza o caminho e é feita uma segunda verificação de políticas. O acesso é concedido se os caminhos não normalizados e normalizados passarem na verificação de políticas.
Por exemplo, se um pedido tiver o caminho /internal;some_param/admin, o IAP executa primeiro uma verificação de políticas no caminho não normalizado (/internal). Se essa verificação for aprovada, o IAP executa uma segunda verificação de políticas no caminho normalizado (/internal/admin).
Nomes de anfitriões
A normalização do nome do anfitrião envolve o seguinte:
- Remover pontos finais
- Usar carateres em minúsculas
- A converter para ASCII
Os nomes de anfitriões que incluem carateres não ASCII são ainda mais normalizados através do Punycode. Tem de usar o Punycode para normalizar a string do nome de anfitrião para que seja possível fazer uma correspondência.
Para normalizar a string do nome do anfitrião com Punycode, use um conversor como o Punycode.
Seguem-se exemplos de nomes de anfitrião normalizados:
FOO.comé normalizado parafoo.comcafé.fré normalizado paraxn--caf-dma.fr
Caminhos
A normalização do caminho envolve o seguinte:
- Remover parâmetros do caminho
- Resolver caminhos relativos para o respetivo equivalente absoluto
Um parâmetro de caminho inclui todos os carateres de um ; até ao / seguinte ou ao final do caminho.
Os pedidos que contêm secções de caminho que começam por ..; são considerados inválidos. Por exemplo, /..;bar/ e /bar/..;/ devolvem o erro HTTP 400: Bad
Request.
Seguem-se exemplos de caminhos normalizados:
/internal;some_param/adminé normalizado para/internal/admin/a/../bé normalizado para/b/bar;param1/baz;baz;param2é normalizado para/bar/baz
Extensões de subdomínio
Uma política definida com request.host.endsWith("google.com") corresponde a sub_domain.google.com e testgoogle.com. Se o seu objetivo for limitar a política apenas a subdomínios que terminem com google.com, defina a política como request.host.endsWith(".google.com").