Ressource: AuthorizationPolicy
AuthorizationPolicy ist eine Ressource, die angibt, wie ein Server eingehende Verbindungen autorisieren soll. Diese Ressource selbst ändert die Konfiguration nicht, es sei denn, sie ist an eine Auswahlressource für den Ziel-HTTPS-Proxy oder die Endpunktkonfiguration angehängt.
JSON-Darstellung |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
Felder | |
---|---|
name |
Erforderlich. Name der AuthorizationPolicy-Ressource. Sie stimmt mit dem Muster |
description |
Optional. Freitextbeschreibung der Ressource. |
createTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
updateTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource aktualisiert wurde. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
labels |
Optional. Eine Reihe von Label-Tags, die mit der AuthorizationPolicy-Ressource verknüpft sind. Ein Objekt, das eine Liste von |
action |
Erforderlich. Die Aktion, die ausgeführt werden soll, wenn eine Regelübereinstimmung gefunden wird. Mögliche Werte sind „ALLOW“ oder „DENY“. |
rules[] |
Optional. Liste der Regeln, die abgeglichen werden sollen. Hinweis: Mindestens eine der Regeln muss übereinstimmen, damit die im Feld „action“ angegebene Aktion ausgeführt wird. Eine Regel ist eine Übereinstimmung, wenn es eine übereinstimmende Quelle und ein übereinstimmendes Ziel gibt. Wenn Sie das Feld leer lassen, wird die im Feld |
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 als Standard-Fallback für „Alle ablehnen“ verwendet. |
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 ist eine Übereinstimmung, wenn sowohl die Principals als auch die IP-Blöcke übereinstimmen. Wenn nicht festgelegt, wird die im Feld „action“ angegebene Aktion ohne Regelprüfungen für die Quelle angewendet. |
destinations[] |
Optional. Liste der Attribute für das Traffic-Ziel. Alle Ziele müssen übereinstimmen. Ein Ziel ist eine Übereinstimmung, wenn eine Anfrage mit allen angegebenen Hosts, Ports, Methoden und Headern übereinstimmt. Wenn nichts festgelegt ist, wird die im Feld „action“ angegebene Aktion ohne Regelprüfungen für das Ziel angewendet. |
Quelle
Angabe von Attributen für Zugriffsquellen
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 Übereinstimmung mit dem Vorhandensein („*“) sein. Die Autorisierung basierend auf dem Prinzipalnamen ohne Zertifikatsvalidierung (konfiguriert durch die ServerTlsPolicy-Ressource) gilt als unsicher. |
ipBlocks[] |
Optional. Liste der CIDR-Bereiche, die anhand der Quell-IP-Adresse abgeglichen werden sollen. Mindestens ein IP-Block sollte übereinstimmen. Einzelne IP-Adresse (z.B. „1.2.3.4“) und CIDR (z.B. „1.2.3.0/24“) werden unterstützt. Die Autorisierung sollte nicht nur auf der Quell-IP-Adresse basieren. Die IP-Adressen von Load-Balancern oder Proxys sollten als nicht vertrauenswürdig betrachtet werden. |
Ziel
Spezifikation von Attributen für das Traffic-Ziel.
JSON-Darstellung |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
Felder | |
---|---|
hosts[] |
Erforderlich. Liste der Hostnamen, die abgeglichen werden sollen. Wird mit dem Header „:authority“ in HTTP-Anfragen abgeglichen. Mindestens ein Host sollte übereinstimmen. Jeder Host kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (z. B. „mydomain.*“), eine Suffixübereinstimmung (z. B. „*.myorg.com“) oder eine Übereinstimmung mit einem beliebigen Wert („*“) sein. |
ports[] |
Erforderlich. Liste der abzugleichenden Zielports. Mindestens ein Port sollte übereinstimmen. |
paths[] |
Optional. Eine Liste der abzugleichenden HTTP-Pfade. gRPC-Methoden müssen als voll qualifizierter Name im Format „/packageName.serviceName/methodName“ angegeben werden. Mindestens ein Pfad sollte übereinstimmen. Jeder Pfad kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (z. B. „/packageName.serviceName/*“), eine Suffixübereinstimmung (z. B. „*/video“) oder eine Übereinstimmung mit Vorhandensein (beliebig) „*“ sein. |
methods[] |
Optional. Eine Liste der HTTP-Methoden für den Abgleich. Mindestens eine Methode sollte ü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. Mindestens ein Header muss übereinstimmen. Vermeiden Sie die Verwendung von Header-Übereinstimmungen für Autorisierungsentscheidungen, es sei denn, es gibt eine starke Garantie dafür, dass Anfragen über einen vertrauenswürdigen Client oder Proxy eingehen. |
HttpHeaderMatch
Spezifikation von Attributen für den Abgleich von HTTP-Headern.
JSON-Darstellung |
---|
{ "headerName": string, // Union field |
Felder | |
---|---|
headerName |
Erforderlich. Der Name des abzugleichenden HTTP-Headers. Wenn Sie die Autorität der HTTP-Anfrage abgleichen möchten, verwenden Sie „headerMatch“ mit dem Headernamen „:authority“. Verwenden Sie den Header-Namen „:method“, um die Methode einer Anfrage abzugleichen. |
Union-Feld Für |
|
regexMatch |
Erforderlich. Der Wert des Headers muss dem regulären Ausdruck entsprechen, der in „regexMatch“ angegeben ist. Informationen zur Grammatik regulärer Ausdrücke finden Sie unter en.cppreference.com/w/cpp/regex/ecmascript. Wenn Sie einen Abgleich mit einem in der HTTP-Anfrage angegebenen Port durchführen möchten, verwenden Sie „headerMatch“ mit „headerName“ auf „Host“ und einem regulären Ausdruck, der dem Port-Spezifizierer des RFC2616-Host-Headers entspricht. |
Methoden |
|
---|---|
|
Erstellt eine neue AuthorizationPolicy in einem angegebenen Projekt und an einem angegebenen Ort. |
|
Löscht eine einzelne AuthorizationPolicy. |
|
Ruft Details zu einer einzelnen AuthorizationPolicy ab. |
|
Listet AuthorizationPolicies in einem angegebenen Projekt und an einem angegebenen Standort auf. |
|
Aktualisiert die Parameter einer einzelnen AuthorizationPolicy. |