- Ressource: AuthzPolicy
- Ziel
- LoadBalancingScheme
- AuthzRule
- From
- RequestSource
- StringMatch
- RequestResource
- TagValueIdSet
- To
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- Methoden
Ressource: AuthzPolicy
AuthzPolicy
ist eine Ressource, mit der Traffic an ein Callout-Backend weitergeleitet werden kann, das den Traffic aus Sicherheitsgründen scannt.
JSON-Darstellung |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
Felder | |
---|---|
name |
Erforderlich. Kennung. Name der |
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, der angibt, wann die Ressource aktualisiert wurde. Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
description |
Optional. Eine für Menschen lesbare Beschreibung der Ressource. |
labels |
Optional. Mit der Das Format muss den folgenden Anforderungen entsprechen. Ein Objekt, das eine Liste von |
target |
Erforderlich. Gibt die Ressourcen an, auf die diese Richtlinie angewendet werden soll. |
httpRules[] |
Optional. Eine Liste von HTTP-Autorisierungsregeln, die mit der eingehenden Anfrage abgeglichen werden. Eine Richtlinienübereinstimmung tritt auf, wenn mindestens eine HTTP-Regel mit der Anfrage übereinstimmt oder wenn in der Richtlinie keine HTTP-Regeln angegeben sind. Für die Aktion „Zulassen“ oder „Verweigern“ ist mindestens eine HTTP-Regel erforderlich. Begrenzt auf 5 Regeln. |
action |
Erforderlich. Kann Wenn die Aktion Wenn die Aktion Wenn die Aktion Wenn eine Anfrage eingeht, werden die Richtlinien in der folgenden Reihenfolge ausgewertet:
|
customProvider |
Optional. Erforderlich, wenn die Aktion |
Ziel
Gibt die Ziele an, auf die diese Richtlinie angewendet werden soll.
JSON-Darstellung |
---|
{
"loadBalancingScheme": enum ( |
Felder | |
---|---|
loadBalancingScheme |
Erforderlich. Alle Gateways und Weiterleitungsregeln, auf die in dieser Richtlinie und in den Erweiterungen verwiesen wird, müssen dasselbe Load Balancing-Schema verwenden. Unterstützte Werte: |
resources[] |
Erforderlich. Eine Liste der Weiterleitungsregeln, auf die diese Richtlinie angewendet wird. |
LoadBalancingScheme
Load Balancing-Schemas, die von der AuthzPolicy
-Ressource unterstützt werden. Gültige Werte sind INTERNAL_MANAGED
und EXTERNAL_MANAGED
. Weitere Informationen finden Sie unter Übersicht über Back-End-Dienste.
Enums | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
Standardwert. Nicht verwenden. |
INTERNAL_MANAGED |
Gibt an, dass dies für regionales internes oder regionenübergreifendes internes Application Load Balancing verwendet wird. |
EXTERNAL_MANAGED |
Gibt an, dass dies für globales externes oder regionales externes Application Load Balancing verwendet wird. |
INTERNAL_SELF_MANAGED |
Gibt an, dass dies für Cloud Service Mesh verwendet wird. Nur für den CSM GKE-Controller gedacht. |
AuthzRule
Bedingungen, die mit der eingehenden Anfrage abgeglichen werden sollen.
JSON-Darstellung |
---|
{ "from": { object ( |
Felder | |
---|---|
from |
Optional. Beschreibt Eigenschaften einer oder mehrerer Quellen einer Anfrage. |
to |
Optional. Beschreibt die Eigenschaften eines oder mehrerer Ziele einer Anfrage. |
when |
Optional. CEL-Ausdruck, der die Bedingungen beschreibt, die für die Aktion erfüllt sein müssen. Das Ergebnis des CEL-Ausdrucks wird mit „von“ und „bis“ verknüpft. Eine Liste der verfügbaren Attribute finden Sie in der CEL-Sprachreferenz. |
From
Beschreibt Eigenschaften einer oder mehrerer Quellen einer Anfrage.
JSON-Darstellung |
---|
{ "sources": [ { object ( |
Felder | |
---|---|
sources[] |
Optional. Beschreibt die Eigenschaften der Quellen einer Anfrage. Es muss mindestens eine der Optionen „sources“ oder „notSources“ angegeben werden. Begrenzt auf 5 Quellen. Eine Übereinstimmung liegt vor, wenn JEDE Quelle (in „sources“ oder „notSources“) mit der Anfrage übereinstimmt. Innerhalb einer einzelnen Quelle folgt die Übereinstimmung der AND-Semantik über Felder hinweg und der OR-Semantik innerhalb eines einzelnen Felds. Das heißt, es kommt zu einer Übereinstimmung, wenn JEDER Hauptnutzer UND JEDE IP-Block-Adresse übereinstimmt. |
notSources[] |
Optional. Beschreibt die negierten Eigenschaften von Anfragequellen. Gleicht Anfragen von Quellen ab, die nicht den in diesem Feld angegebenen Kriterien entsprechen. Es muss mindestens eine der Optionen „sources“ oder „notSources“ angegeben werden. |
RequestSource
Beschreibt die Eigenschaften einer einzelnen Quelle.
JSON-Darstellung |
---|
{ "principals": [ { object ( |
Felder | |
---|---|
principals[] |
Optional. Eine Liste der Identitäten, die aus dem Zertifikat des Clients abgeleitet wurden. Dieses Feld wird nur dann mit einer Anfrage abgeglichen, wenn die gegenseitige TLS-Authentifizierung für die Weiterleitungsregel oder das Gateway aktiviert ist. Jede Identität ist ein String, dessen Wert mit dem URI-SAN, dem DNS-SAN oder dem Subject-Feld im Zertifikat des Clients abgeglichen wird. Die Übereinstimmung kann als genau, Präfix, Suffix oder Teilstring erfolgen. Es muss eine der Optionen „genau“, „Präfix“, „Suffix“ oder „enthält“ angegeben werden. Begrenzt auf 5 Hauptkonten. |
resources[] |
Optional. Eine Liste von Ressourcen, die mit der Ressource der Quell-VM einer Anfrage abgeglichen werden. Begrenzt auf 5 Ressourcen. |
StringMatch
Bestimmt, wie ein Stringwert abgeglichen werden soll.
JSON-Darstellung |
---|
{ "ignoreCase": boolean, // Union field |
Felder | |
---|---|
ignoreCase |
Wenn „wahr“ festgelegt ist, wird bei der Übereinstimmung mit „genau“, „Präfix“, „Suffix“ oder „enthält“ die Groß-/Kleinschreibung nicht berücksichtigt. Beispiel: Wenn der Matcher |
Union-Feld Für |
|
exact |
Der Eingabestring muss genau mit dem hier angegebenen String übereinstimmen. Beispiele:
|
prefix |
Der Eingabestring muss das hier angegebene Präfix haben. Hinweis: Leeres Präfix ist nicht zulässig. Verwenden Sie stattdessen reguläre Ausdrücke. Beispiele:
|
suffix |
Der Eingabestring muss das hier angegebene Suffix haben. Hinweis: Leeres Präfix ist nicht zulässig. Verwenden Sie stattdessen reguläre Ausdrücke. Beispiele:
|
contains |
Der Eingabestring muss den hier angegebenen Teilstring enthalten. Hinweis: Leere Übereinstimmungen mit „enthält“ sind nicht zulässig. Verwenden Sie stattdessen reguläre Ausdrücke. Beispiele:
|
RequestResource
Beschreibt die Eigenschaften einer Client-VM-Ressource, die auf die internen Application Load Balancer zugreift.
JSON-Darstellung |
---|
{ "tagValueIdSet": { object ( |
Felder | |
---|---|
tagValueIdSet |
Optional. Eine Liste der permanenten IDs von Ressourcen-Tag-Werten, die mit dem Wert der Ressourcenmanager-Tags abgeglichen werden, der mit der Quell-VM einer Anfrage verknüpft ist. |
iamServiceAccount |
Optional. Ein IAM-Dienstkonto, das mit dem Quelldienstkonto der VM abgeglichen werden soll, von der die Anfrage gesendet wird. |
TagValueIdSet
Beschreibt eine Reihe von permanenten IDs für Ressourcen-Tag-Werte, die mit dem Wert der Ressourcenmanager-Tags abgeglichen werden, der mit der Quell-VM einer Anfrage verknüpft ist.
JSON-Darstellung |
---|
{ "ids": [ string ] } |
Felder | |
---|---|
ids[] |
Erforderlich. Eine Liste der permanenten IDs von Ressourcen-Tag-Werten, die mit dem Wert der Ressourcenmanager-Tags abgeglichen werden, der mit der Quell-VM einer Anfrage verknüpft ist. Der Abgleich folgt der AND-Semantik, d. h. alle IDs müssen übereinstimmen. Begrenzt auf 5 Übereinstimmungen. |
To
Beschreibt die Eigenschaften eines oder mehrerer Ziele einer Anfrage.
JSON-Darstellung |
---|
{ "operations": [ { object ( |
Felder | |
---|---|
operations[] |
Optional. Beschreibt die Eigenschaften eines oder mehrerer Ziele einer Anfrage. Es muss mindestens eine der Optionen „operations“ oder „notOperations“ angegeben werden. Begrenzt auf 5 Vorgänge. Eine Übereinstimmung tritt auf, wenn JEDER Vorgang (in „operations“ oder „notOperations“) übereinstimmt. Innerhalb eines Vorgangs folgt die Übereinstimmung der AND-Semantik über Felder hinweg und der OR-Semantik innerhalb eines Felds. Das heißt, es kommt zu einer Übereinstimmung, wenn JEDER Pfad UND JEDER Header UND JEDE Methode übereinstimmen. |
notOperations[] |
Optional. Beschreibt die negierten Eigenschaften der Ziele einer Anfrage. Gleicht Anfragen für Vorgänge ab, die nicht den in diesem Feld angegebenen Kriterien entsprechen. Es muss mindestens eine der Optionen „operations“ oder „notOperations“ angegeben werden. |
RequestOperation
Beschreibt die Eigenschaften eines oder mehrerer Ziele einer Anfrage.
JSON-Darstellung |
---|
{ "headerSet": { object ( |
Felder | |
---|---|
headerSet |
Optional. Eine Liste von Headern für den Abgleich im HTTP-Header. |
hosts[] |
Optional. Eine Liste von HTTP-Hosts für den Abgleich. Die Übereinstimmung kann „exakt“, „Präfix“, „Suffix“ oder „enthält“ (Teilstringübereinstimmung) sein. Bei Übereinstimmungen wird immer zwischen Groß- und Kleinschreibung unterschieden, es sei denn, die Option „ignoreCase“ ist festgelegt. Begrenzt auf 5 Übereinstimmungen. |
paths[] |
Optional. Eine Liste von Pfaden für den Abgleich. Die Übereinstimmung kann „exakt“, „Präfix“, „Suffix“ oder „enthält“ (Teilstringübereinstimmung) sein. Bei Übereinstimmungen wird immer zwischen Groß- und Kleinschreibung unterschieden, es sei denn, die Option „ignoreCase“ ist festgelegt. Begrenzt auf 5 Übereinstimmungen. Beachten Sie, dass diese Pfadübereinstimmung die Abfrageparameter enthält. Bei gRPC-Diensten sollte dies ein vollständig qualifizierter Name vom Typ /package.service/method sein. |
methods[] |
Optional. Eine Liste der HTTP-Methoden für den Abgleich. Jeder Eintrag muss ein gültiger HTTP-Methodenname sein (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). Es ist nur eine genaue Übereinstimmung zulässig und die Groß-/Kleinschreibung wird immer berücksichtigt. |
HeaderSet
Beschreibt eine Reihe von HTTP-Headern, die abgeglichen werden sollen.
JSON-Darstellung |
---|
{
"headers": [
{
object ( |
Felder | |
---|---|
headers[] |
Erforderlich. Eine Liste von Headern für den Abgleich im HTTP-Header. Die Übereinstimmung kann „exakt“, „Präfix“, „Suffix“ oder „enthält“ (Teilstringübereinstimmung) sein. Der Abgleich folgt der AND-Semantik, d. h. alle Header müssen übereinstimmen. Bei Übereinstimmungen wird immer zwischen Groß- und Kleinschreibung unterschieden, es sei denn, die Option „ignoreCase“ ist festgelegt. Begrenzt auf 5 Übereinstimmungen. |
HeaderMatch
Bestimmt, wie ein HTTP-Header abgeglichen werden soll.
JSON-Darstellung |
---|
{
"name": string,
"value": {
object ( |
Felder | |
---|---|
name |
Optional. Gibt den Namen des Headers in der Anfrage an. |
value |
Optional. Gibt an, wie der Abgleich des Headers erfolgt. |
AuthzAction
Die Aktion, die auf diese Richtlinie angewendet werden soll. Gültige Werte sind ALLOW
, DENY
und CUSTOM
.
Enums | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
Nicht angegebene Aktion. |
ALLOW |
Die Anfrage wird an das Backend weitergeleitet. |
DENY |
Lehnt die Anfrage ab und gibt den HTTP-Fehler 404 an den Client zurück. |
CUSTOM |
Die Autorisierungsentscheidung an eine externe Autorisierungs-Engine delegieren. |
CustomProvider
Ermöglicht die Delegierung von Autorisierungsentscheidungen an Cloud IAP oder an Service Extensions.
JSON-Darstellung |
---|
{ "cloudIap": { object ( |
Felder | |
---|---|
cloudIap |
Optional. Delegiert Autorisierungsentscheidungen an Cloud IAP. Gilt nur für verwaltete Load Balancer. Die Aktivierung von Cloud IAP auf AuthzPolicy-Ebene ist nicht mit den Cloud IAP-Einstellungen im BackendService kompatibel. Wenn Sie IAP an beiden Stellen aktivieren, schlägt die Anfrage fehl. Achten Sie darauf, dass IAP entweder in der AuthzPolicy oder im BackendService aktiviert ist, aber nicht an beiden Stellen. |
authzExtension |
Optional. Autorisierungsentscheidung an vom Nutzer erstellte Diensterweiterung delegieren. Es kann nur entweder „cloudIap“ oder „authzExtension“ angegeben werden. |
CloudIap
Dieser Typ hat keine Felder.
Optional. Delegiert Autorisierungsentscheidungen an Cloud IAP. Gilt nur für verwaltete Load Balancer. Die Aktivierung von Cloud IAP auf AuthzPolicy-Ebene ist nicht mit den Cloud IAP-Einstellungen im BackendService kompatibel. Wenn Sie IAP an beiden Stellen aktivieren, schlägt die Anfrage fehl. Achten Sie darauf, dass IAP entweder in der AuthzPolicy oder im BackendService aktiviert ist, aber nicht an beiden Stellen.
AuthzExtension
Optional. Autorisierungsentscheidung an vom Nutzer erstellte Erweiterung delegieren. Es kann nur entweder „cloudIap“ oder „authzExtension“ angegeben werden.
JSON-Darstellung |
---|
{ "resources": [ string ] } |
Felder | |
---|---|
resources[] |
Erforderlich. Eine Liste von Referenzen auf Autorisierungserweiterungen, die für Anfragen aufgerufen werden, die dieser Richtlinie entsprechen. Begrenzt auf einen (1) benutzerdefinierten Anbieter. |
Methoden |
|
---|---|
|
Erstellt eine neue AuthzPolicy in einem bestimmten Projekt und an einem bestimmten Standort. |
|
Löscht eine einzelne AuthzPolicy. |
|
Ruft Details zu einer einzelnen AuthzPolicy ab. |
|
Listet AuthzPolicies in einem angegebenen Projekt und an einem angegebenen Standort auf. |
|
Aktualisiert die Parameter einer einzelnen AuthzPolicy. |