Auf dieser Seite werden die IAM-Bedingungen (Identity and Access Management) von Hostnamen und Pfaden beschrieben.
Sie können IAP-Ressourcen (Identity-Aware Proxy) mit dem Hostnamen und Pfad einer Anfrage-URL sichern.
Beispielsweise kann die IAM-Bedingung request.path.startsWith dazu verwendet werden, Mitarbeitern der Gruppe Privilegierter Zugriff nur dann Zugriff zu gewähren, wenn der URL-Pfad mit /admin beginnt.
Weitere Informationen zur Verwendung von Hostnamen- und Pfadbedingungen finden Sie unter Anfrageattribute.
Stringnormalisierung
Eine URL hat einen Hostnamen und einen Pfad. Beispielsweise enthält die URL https://sheets.google.com/create?query=param einen Hostnamen von sheets.google.com und einen Pfad von /create.
Back-Ends können Hostnamen und Pfade auf verschiedene Arten interpretieren. IAP normalisiert beim Prüfen der Richtlinien Hostnamen und Pfadstrings, um Mehrdeutigkeiten zu beseitigen.
IAP führt zwei Richtlinienprüfungen durch, wenn eine Anfrage einen nicht normalisierten Pfad enthält. Wenn der nicht normalisierte Pfad die Richtlinienprüfung besteht, normalisiert IAP den Pfad und eine zweite Richtlinienprüfung wird ausgeführt. Der Zugriff wird gewährt, wenn sowohl der nicht normalisierte als auch der normalisierte Pfad die Richtlinienprüfung bestehen.
Wenn eine Anfrage beispielsweise den Pfad /internal;some_param/admin enthält, führt IAP zuerst eine Richtlinienprüfung für den nicht normalisierten Pfad (/internal) aus. Wenn diese Prüfung bestanden wird, führt IAP eine zweite Richtlinienprüfung für den normalisierten Pfad (/internal/admin) aus.
Hostnamen
Die Normalisierung des Hostnamens umfasst Folgendes:
- Punkte am Ende entfernen
- Umwandlung in Kleinbuchstaben durchführen
- Umwandlung in ASCII durchführen
Hostnamen, die Nicht-ASCII-Zeichen enthalten, werden mithilfe von Punycode weiter normalisiert. Sie müssen Punycode verwenden, um den String Ihres Hostnamens für den Abgleich zu normalisieren.
Verwenden Sie einen Converter wie Punycoder, um den Hostnamenstring mit Punycode zu normalisieren.
Im Folgenden finden Sie Beispiele für normalisierte Hostnamen:
FOO.comwird auffoo.comnormalisiertcafé.frwird aufxn--caf-dma.frnormalisiert
Pfade
Die Pfadnormalisierung umfasst Folgendes:
- Pfadparameter entfernen
- Relative Pfade in ihre absolute Entsprechung auflösen
Ein Pfadparameter enthält alle Zeichen von einem ; bis entweder zum nächsten / oder zum Ende des Pfads.
Anfragen, die Pfadabschnitte enthalten, die mit ..; beginnen, gelten als ungültig. Beispiel: /..;bar/ und /bar/..;/ geben den Fehler HTTP 400: Bad
Request zurück.
Im Folgenden finden Sie Beispiele für normalisierte Pfade:
/internal;some_param/adminwird auf/internal/adminnormalisiert/a/../bwird auf/bnormalisiert/bar;param1/baz;baz;param2wird auf/bar/baznormalisiert
Subdomain-Endungen
Eine mit request.host.endsWith("google.com") festgelegte Richtlinie entspricht sowohl sub_domain.google.com wie auch testgoogle.com. Wenn Sie Ihre Richtlinie auf nur Subdomains beschränken möchten, die mit google.com enden, legen Sie Ihre Richtlinie auf request.host.endsWith(".google.com") fest.