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 die Ziel-HTTPS-Proxy- oder 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. Entspricht dem Muster |
description |
Optional. Textbeschreibung 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 Ressourcenaktualisierung. 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 der AuthorizationPolicy-Ressource zugeordnet 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 übereinstimmen müssen. Mindestens eine der Regeln muss übereinstimmen, damit die im Feld „action“ angegebene Aktion ausgeführt wird. Eine Regel gilt als übereinstimmend, 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 die auszuführende Aktion definieren.
| 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 „Alle ablehnen“ verwendet. |
Regel
Spezifikation von Regeln.
| JSON-Darstellung |
|---|
{ "sources": [ { object ( |
| Felder | |
|---|---|
sources[] |
Optional. Liste der Attribute für die Traffic-Quelle. Alle Quellen müssen übereinstimmen. Eine Quelle ist eine Übereinstimmung, wenn sowohl Hauptkonten als auch ipBlocks ü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 Trafficziel. 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
Spezifikation der Attribute für Traffic-Quellen.
| 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 Vorhandenseinsübereinstimmung „*“ sein. Die Autorisierung basierend auf dem Hauptkontonamen 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 muss übereinstimmen. Einzelne IP-Adressen (z.B. „1.2.3.4“) und CIDR-Blöcke (z.B. „1.2.3.0/24“) werden unterstützt. Eine Autorisierung, die nur auf der Quell-IP-Adresse basiert, sollte vermieden werden. Die IP-Adressen von Load Balancern oder Proxys sollten als nicht vertrauenswürdig eingestuft werden. |
Ziel
Spezifikation von Attributen für Traffic-Ziele.
| JSON-Darstellung |
|---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
| Felder | |
|---|---|
hosts[] |
Erforderlich. Liste der Hostnamen, die übereinstimmen müssen. Wird mit dem Header „:authority“ in HTTP-Anfragen abgeglichen. Mindestens ein Host muss ü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 Host („*“) sein. |
ports[] |
Erforderlich. Liste der Zielports für den Abgleich. Mindestens ein Port muss übereinstimmen. |
paths[] |
Optional. Eine Liste der HTTP-Pfade für den Abgleich. gRPC-Methoden müssen als voll qualifizierter Name im Format „/packageName.serviceName/methodName“ angegeben 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 Übereinstimmung mit einem beliebigen Wert („*“) sein. |
methods[] |
Optional. Eine Liste der HTTP-Methoden für den Abgleich. Mindestens eine Methode muss übereinstimmen. Sollte nicht für gRPC-Dienste festgelegt werden. |
httpHeaderMatch |
Optional. Abgleich mit Schlüssel/Wert-Paar im HTTP-Header. Bietet eine flexible Übereinstimmung 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 ist sichergestellt, dass Anfragen über einen vertrauenswürdigen Client oder Proxy eingehen. |
HttpHeaderMatch
Spezifikation von HTTP-Header-Abgleichsattributen.
| JSON-Darstellung |
|---|
{ "headerName": string, // Union field |
| Felder | |
|---|---|
headerName |
Erforderlich. Der Name des abzugleichenden HTTP-Headers. Verwenden Sie für den Abgleich mit der Autorität der HTTP-Anfrage einen headerMatch mit dem Headernamen „:authority“. Verwenden Sie zum Abgleichen der Methode einer Anfrage 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. Verwenden Sie für den Abgleich mit einem in der HTTP-Anfrage angegebenen Port einen „headerMatch“ mit „headerName“ auf „Host“ und einen regulären Ausdruck, der dem Portbezeichner des RFC2616-Hostheaders 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 |
|
Listet „AuthorizationPolicies“ in einem bestimmten Projekt und an einem bestimmten Standort auf |
|
Aktualisiert die Parameter einer einzelnen AuthorizationPolicy. |