REST Resource: projects.locations.endpointPolicies

Ressource: EndpointPolicy

EndpointPolicy ist eine Ressource, mit der die gewünschte Konfiguration auf die Endpunkte angewendet werden kann, die bestimmten Kriterien entsprechen. Diese Ressource kann beispielsweise verwendet werden, um die Authentifizierungskonfiguration auf alle Endpunkte anzuwenden, die auf Port 8080 bereitgestellt werden.

JSON-Darstellung
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "type": enum (EndpointPolicyType),
  "authorizationPolicy": string,
  "endpointMatcher": {
    object (EndpointMatcher)
  },
  "trafficPortSelector": {
    object (TrafficPortSelector)
  },
  "description": string,
  "serverTlsPolicy": string,
  "clientTlsPolicy": string
}
Felder
name

string

Erforderlich. Name der EndpointPolicy-Ressource. Sie entspricht dem Muster projects/{project}/locations/global/endpointPolicies/{endpointPolicy}.

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Optional. Satz von Label-Tags, die mit der EndpointPolicy-Ressource verknüpft sind.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

type

enum (EndpointPolicyType)

Erforderlich. Der Typ der Endpunktrichtlinie. Dies wird hauptsächlich verwendet, um die Konfiguration zu validieren.

authorizationPolicy

string

Optional. Dieses Feld gibt die URL der AuthorizationPolicy-Ressource an, die Autorisierungsrichtlinien auf den eingehenden Traffic an den übereinstimmenden Endpunkten anwendet. Siehe Autorisierung. Wenn dieses Feld nicht angegeben ist, wird die Autorisierung für diesen Endpunkt deaktiviert(keine Autorisierungsprüfungen).

endpointMatcher

object (EndpointMatcher)

Erforderlich. Ein Abgleich, der Endpunkte auswählt, auf die die Richtlinien angewendet werden sollen.

trafficPortSelector

object (TrafficPortSelector)

Optional. Portauswahl für die (übereinstimmenden) Endpunkte. Wenn kein Portselektor angegeben ist, wird die übereinstimmende Konfiguration auf alle Ports angewendet.

description

string

Optional. Eine Freitextbeschreibung der Ressource. Maximale Länge: 1.024 Zeichen.

serverTlsPolicy

string

Optional. Eine URL, die auf die Ressource „ServerTlsPolicy“ verweist. Mit ServerTlsPolicy wird die Authentifizierungsrichtlinie bestimmt, die angewendet werden soll, um den eingehenden Traffic an den identifizierten Back-Ends zu beenden. Wenn dieses Feld nicht festgelegt ist, ist die Authentifizierung für diesen Endpunkt deaktiviert(offen).

clientTlsPolicy

string

Optional. Eine URL, die auf eine ClientTlsPolicy-Ressource verweist. ClientTlsPolicy kann festgelegt werden, um die Authentifizierung für Traffic vom Proxy zu den tatsächlichen Endpunkten anzugeben. Genauer gesagt wird sie auf den ausgehenden Traffic vom Proxy zum Endpunkt angewendet. Dies wird in der Regel für ein Sidecar-Modell verwendet, bei dem sich der Proxy als Endpunkt der Steuerungsebene ausweist, wobei die Verbindung zwischen Sidecar und Endpunkt eine Authentifizierung erfordert. Wenn dieses Feld nicht festgelegt ist, ist die Authentifizierung deaktiviert(offen). Gilt nur, wenn EndpointPolicyType SIDECAR_PROXY ist.

EndpointPolicyType

Der Typ der Endpunktrichtlinie.

Enums
ENDPOINT_POLICY_TYPE_UNSPECIFIED Standardwert. Darf nicht verwendet werden.
SIDECAR_PROXY Stellt einen Proxy dar, der als Sidecar bereitgestellt wird.
GRPC_SERVER Stellt ein proxyloses gRPC-Back-End dar.

EndpointMatcher

Eine Definition eines Abgleichs, der Endpunkte auswählt, auf die die Richtlinien angewendet werden sollen.

JSON-Darstellung
{

  // Union field matcher_type can be only one of the following:
  "metadataLabelMatcher": {
    object (MetadataLabelMatcher)
  }
  // End of list of possible types for union field matcher_type.
}
Felder
Union-Feld matcher_type. Gibt den Typ des Matchers an, der für diesen Endpunkt-Matcher verwendet wird. Für matcher_type ist nur einer der folgenden Werte zulässig:
metadataLabelMatcher

object (MetadataLabelMatcher)

Der Abgleich basiert auf Knotenmetadaten, die von xDS-Clients bereitgestellt werden.

MetadataLabelMatcher

Der Abgleich, der auf Knotenmetadaten basiert, die von xDS-Clients bereitgestellt werden.

JSON-Darstellung
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
Felder
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

Gibt an, wie der Abgleich erfolgen soll.

Unterstützte Werte: MATCH_ANY: Mindestens eines der im Matcher angegebenen Labels sollte mit den vom xDS-Client bereitgestellten Metadaten übereinstimmen. MATCH_ALL: Die vom xDS-Client bereitgestellten Metadaten sollten alle hier angegebenen Labels enthalten.

Die Auswahl wird anhand der besten Übereinstimmung ermittelt. Angenommen, es gibt drei EndpointPolicy-Ressourcen P1, P2 und P3 und wenn P1 einen Matcher als MATCH_ANY <A:1, B:1> hat, P2 hat MATCH_ALL <A:1;B:1> und P3 hat MATCH_ALL <A:1;B:1,C:1>.

Wenn ein Client mit dem Label <A:1> eine Verbindung herstellt, wird die Konfiguration aus P1 ausgewählt.

Wenn ein Client mit dem Label <A:1;B:1> eine Verbindung herstellt, wird die Konfiguration aus P2 ausgewählt.

Wenn ein Client mit dem Label <A:1;B:1,C:1> eine Verbindung herstellt, wird die Konfiguration von P3 ausgewählt.

Wenn es mehr als eine beste Übereinstimmung gibt (z. B. wenn eine Konfiguration P4 mit dem Selektor <A:1,D:1> vorhanden ist und ein Client mit dem Label <A:1,B:1,D:1> eine Verbindung herstellt), nehmen Sie die Datei mit der älteren Erstellungszeit auf.

metadataLabels[]

object (MetadataLabels)

Die Liste der Labelwert-Paare, die basierend auf filterMatchCriteria mit den Labels in den bereitgestellten Metadaten übereinstimmen müssen. Diese Liste kann maximal 64 Einträge enthalten. Die Liste kann leer sein, wenn das Übereinstimmungskriterium MATCH_ANY ist, um eine Platzhalterübereinstimmung anzugeben (d. h. die Liste entspricht allen Clients).

MetadataLabelMatchCriteria

Mögliche Kriterienwerte, die die Logik für den Abgleich definieren.

Enums
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Standardwert. Sollte nicht verwendet werden.
MATCH_ANY Mindestens eines der im Matcher angegebenen Labels sollte mit den vom xDS-Client bereitgestellten Metadaten übereinstimmen.
MATCH_ALL Die vom xDS-Client bereitgestellten Metadaten sollten alle hier angegebenen Labels enthalten.

MetadataLabels

Definiert einen Namenpaar-Wert für ein einzelnes Label.

JSON-Darstellung
{
  "labelName": string,
  "labelValue": string
}
Felder
labelName

string

Erforderlich. Labelname, der in den xDS-Knotenmetadaten als Schlüssel dargestellt wird.

labelValue

string

Erforderlich. Labelwert, der dem obigen Schlüssel in den xDS-Knotenmetadaten als Wert entspricht.

TrafficPortSelector

Spezifikation einer portbasierten Auswahl.

JSON-Darstellung
{
  "ports": [
    string
  ]
}
Felder
ports[]

string

Optional. Eine Liste der Ports. Dies können Portnummern oder ein Portbereich (z. B. [80-90] für alle Ports von 80 bis 90, einschließlich 80 und 90) oder benannte Ports oder * zur Angabe aller Ports sein. Wenn die Liste leer ist, werden alle Ports ausgewählt.

Methoden

create

Erstellt eine neue EndpointPolicy in einem bestimmten Projekt und an einem bestimmten Standort.

delete

Löscht eine einzelne EndpointPolicy.

get

Ruft Details zu einer einzelnen EndpointPolicy ab.

list

Listet EndpointPolicies in einem bestimmten Projekt und an einem bestimmten Standort auf.

patch

Aktualisiert die Parameter einer einzelnen EndpointPolicy.

setIamPolicy

Legt die Richtlinie für die Zugriffssteuerung für die angegebene Ressource fest.

testIamPermissions

Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück.