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.com
wird auffoo.com
normalisiertcafé.fr
wird aufxn--caf-dma.fr
normalisiert
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/admin
wird auf/internal/admin
normalisiert/a/../b
wird auf/b
normalisiert/bar;param1/baz;baz;param2
wird auf/bar/baz
normalisiert
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.