Ressource: AuthorizationPolicy
AuthorizationPolicy ist eine Ressource, die angibt, wie ein Server eingehende Verbindungen autorisieren soll. Diese Ressource selbst ändert die Konfiguration nur, wenn sie an eine Auswahlressource für die Ziel-HTTPS-Proxy- oder Endpunktkonfiguration angehängt ist.
JSON-Darstellung |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
Felder | |
---|---|
name |
Erforderlich. Name der AuthorizationPolicy-Ressource. Sie entspricht dem Muster |
description |
Optional. Freitextbeschreibung der Ressource. |
createTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde. Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
updateTime |
Nur Ausgabe. Der Zeitstempel für den Zeitpunkt, zu dem die Ressource aktualisiert wurde. Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
labels |
Optional. Satz von Label-Tags, die mit der AuthorizationPolicy-Ressource verknüpft sind. Ein Objekt, das eine Liste von |
action |
Erforderlich. Die auszuführende Aktion, wenn eine Regelübereinstimmung gefunden wird. Mögliche Werte sind "ALLOW" oder "DENY". |
rules[] |
Optional. Liste der abzugleichenden Regeln. Beachten Sie, dass mindestens eine der Regeln übereinstimmen muss, damit die im Feld „Aktion“ angegebene Aktion ausgeführt wird. Eine Regel gilt als Übereinstimmung, wenn Quelle und Ziel übereinstimmen. Wenn Sie das Feld leer lassen, wird die im Feld |
internalCaller |
Optional. Ein Flag zur Identifizierung interner Controller. Wenn Sie es festlegen, wird eine P4SA-Prüfung ausgelöst, um zu bestätigen, dass der Aufrufer von der P4SA eines Dienstes auf der Zulassungsliste stammt, auch wenn andere optionale Felder nicht festgelegt sind. |
Aktion
Mögliche Werte, die definieren, welche Aktion ausgeführt werden soll.
Enums | |
---|---|
ACTION_UNSPECIFIED |
Standardwert. |
ALLOW |
Gewähren Sie den Zugriff. |
DENY |
Zugriff verweigern Ablehnungsregeln sollten vermieden werden, es sei denn, sie werden verwendet, um eine Standard-Fallback-Option „Alle ablehnen“ bereitzustellen. |
Regel
Spezifikation von Regeln.
JSON-Darstellung |
---|
{ "sources": [ { object ( |
Felder | |
---|---|
sources[] |
Optional. Liste der Attribute für die Besucherquelle. Alle Quellen müssen übereinstimmen. Eine Quelle ergibt eine Übereinstimmung, wenn sowohl Hauptkonten als auch ipBlocks übereinstimmen. Ist die Richtlinie nicht konfiguriert, wird die im Feld „Aktion“ angegebene Aktion ohne Regelprüfung für die Quelle angewendet. |
destinations[] |
Optional. Liste der Attribute für das Traffic-Ziel. Alle Ziele müssen übereinstimmen. Ein Ziel gilt als Übereinstimmung, wenn eine Anfrage mit allen angegebenen Hosts, Ports, Methoden und Headern übereinstimmt. Ist die Richtlinie nicht konfiguriert, wird die im Feld „Aktion“ angegebene Aktion ohne Regelprüfung für das Ziel angewendet. |
Quelle
Spezifikation von Attributen für Besucherquellen.
JSON-Darstellung |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
Felder | |
---|---|
principals[] |
Optional. Liste der Peer-Identitäten, die für die Autorisierung abgeglichen werden sollen. Mindestens ein Hauptkonto muss übereinstimmen. Jeder Peer kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (z. B. „namespace/*“), eine Suffixübereinstimmung (z. B. „*/service-account“) oder eine Anwesenheitsübereinstimmung „*“ sein. Eine Autorisierung auf Grundlage des Prinzipalnamens ohne Zertifikatsvalidierung (konfiguriert von der Ressource „ServerTlsPolicy“) gilt als unsicher. |
ipBlocks[] |
Optional. Liste der CIDR-Bereiche, die anhand der Quell-IP-Adresse abgeglichen werden sollen. Mindestens ein IP-Block muss übereinstimmen. Einzelne IP-Adresse (z.B. „1.2.3.4“) und CIDR (z.B. „1.2.3.0/24“) unterstützt. Eine Autorisierung, die ausschließlich auf der Quell-IP basiert, sollte vermieden werden. Die IP-Adressen von Load-Balancern oder Proxys sollten als nicht vertrauenswürdig eingestuft werden. |
Ziel
Spezifikation der Attribute für Verkehrsziele.
JSON-Darstellung |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
Felder | |
---|---|
hosts[] |
Erforderlich. Liste der Hostnamen, die abgeglichen werden sollen. Abgleich mit dem Header „:authority“ in HTTP-Anfragen Es muss mindestens ein Host übereinstimmen. Jeder Host kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (Beispiel „IhrUnternehmen.*“), eine Suffixübereinstimmung (Beispiel „*.myorg.com“) oder eine Anwesenheitsübereinstimmung (beliebig) „*“ sein. |
ports[] |
Erforderlich. Liste der abzugleichenden Zielports. Mindestens ein Port muss übereinstimmen. |
paths[] |
Optional. Eine Liste mit übereinstimmenden HTTP-Pfaden. gRPC-Methoden müssen als voll qualifizierter Name in Form von „/packageName.serviceName/methodName“ dargestellt werden. Mindestens ein Pfad muss übereinstimmen. Jeder Pfad kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (z. B. „/packageName.serviceName/*“), eine Suffixübereinstimmung (z. B. „*/video“) oder eine Anwesenheitsübereinstimmung (beliebig) „*“ sein. |
methods[] |
Optional. Eine Liste mit HTTP-Methoden für den Abgleich. Es muss mindestens eine Methode übereinstimmen. Sollte für gRPC-Dienste nicht festgelegt werden. |
httpHeaderMatch |
Optional. Abgleich mit Schlüssel/Wert-Paar im HTTP-Header. Bietet einen flexiblen Abgleich basierend auf HTTP-Headern für potenziell erweiterte Anwendungsfälle. Es muss mindestens eine Überschrift übereinstimmen. Vermeiden Sie Header-Übereinstimmungen für Autorisierungsentscheidungen, es sei denn, es gibt eine starke Garantie, dass Anfragen über einen vertrauenswürdigen Client oder Proxy eingehen. |
HttpHeaderMatch
Spezifikation von HTTP-Header-Übereinstimmungsattributen.
JSON-Darstellung |
---|
{ "headerName": string, // Union field |
Felder | |
---|---|
headerName |
Erforderlich. Der Name des HTTP-Headers, der abgeglichen werden soll. Verwenden Sie für den Abgleich mit der Autorität der HTTP-Anfrage einen headerMatch mit dem Headernamen „:authority“. Zum Abgleichen der Methode einer Anfrage verwenden Sie den headerName „:method“. |
Union-Feld Für |
|
regexMatch |
Erforderlich. Der Wert des Headers muss mit dem in „regexMatch“ angegebenen regulären Ausdruck übereinstimmen. Informationen zur Grammatik regulärer Ausdrücke finden Sie unter en.cppreference.com/w/cpp/regex/ecmascript. Für den Abgleich mit einem in der HTTP-Anfrage angegebenen Port verwenden Sie „headerMatch“, wobei „headerName“ auf „Host“ und einen regulären Ausdruck festgelegt ist, der dem Portbezeichner des RFC2616 Host-Headers entspricht. |
Methoden |
|
---|---|
|
Erstellt eine neue AuthorizationPolicy in einem bestimmten Projekt und an einem bestimmten Standort. |
|
Löscht eine einzelne AuthorizationPolicy. |
|
Ruft Details zu einer einzelnen AuthorizationPolicy ab. |
|
Ruft die Richtlinie für die Zugriffssteuerung für eine Ressource ab. |
|
Listet AuthorizationPolicies in einem bestimmten Projekt und an einem bestimmten Standort auf. |
|
Aktualisiert die Parameter einer einzelnen AuthorizationPolicy. |
|
Legt die Richtlinie für die Zugriffssteuerung für die angegebene Ressource fest. |
|
Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück. |