REST Resource: projects.locations.endpointPolicies

Ressource: EndpointPolicy

EndpointPolicy ist eine Ressource, mit der Sie die gewünschte Konfiguration auf Endpunkte anwenden können, die bestimmten Kriterien entsprechen. Mit dieser Ressource kann beispielsweise die „authentication config“ auf alle Endpunkte angewendet werden, die über 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. Er 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, 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: "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. Sie wird hauptsächlich zur Validierung der Konfiguration verwendet.

authorizationPolicy

string

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

endpointMatcher

object (EndpointMatcher)

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

trafficPortSelector

object (TrafficPortSelector)

Optional. Portauswahl für die (übereinstimmenden) Endpunkte. Wenn keine Portauswahl 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 ServerTlsPolicy-Ressource verweist. Mit ServerTlsPolicy wird die Authentifizierungsrichtlinie ermittelt, die angewendet werden soll, um den eingehenden Traffic an den identifizierten Backends 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 normalerweise für Sidecar-Modelle verwendet, bei denen sich der Proxy gegenüber der Steuerungsebene als Endpunkt identifiziert, 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 Abgleichers, 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 Abgleichstool basiert auf Knotenmetadaten, die von xDS-Clients bereitgestellt werden.

MetadataLabelMatcher

Der Matcher, 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 die Übereinstimmung erfolgen soll.

Folgende Werte sind zulässig: MATCH_ANY: Mindestens eines der im Matcher angegebenen Labels muss 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 bestimmt. Angenommen, es gibt die drei EndpointPolicy-Ressourcen P1, P2 und P3 und wenn P1 den Matcher als VERGLEICH_ANY <A:1, B:1> hat, P2 hat VERGLEICH_ALL <A:1,B:1> und P3 hat VERGLEICH_ALL <A:1,B:1,C:1>.

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

Wenn ein Kunde mit dem Label <A:1,B:1> verbindet, wird die Konfiguration von P2 ausgewählt.

Wenn ein Kunde mit dem Label <A:1,B:1,C:1> verbindet, wird die Konfiguration von P3 ausgewählt.

Wenn es mehrere Übereinstimmungen gibt (z. B. wenn eine Konfiguration P4 mit der Auswahl <A:1,D:1> vorhanden ist und ein Client mit dem Label <A:1,B:1,D:1> eine Verbindung herstellt), wird diejenige mit dem älteren Erstellungsdatum ausgewählt.

metadataLabels[]

object (MetadataLabels)

Die Liste der Labelwertpaare, die den Labels in den bereitgestellten Metadaten basierend auf filterMatchCriteria entsprechen müssen. Diese Liste darf höchstens 64 Einträge enthalten. Die Liste kann leer sein, wenn das Abgleichkriterium MATCH_ANY ist, um einen Platzhalterabgleich anzugeben (d. h., es wird mit jedem Kunden übereinstimmt).

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 muss mit den vom xDS-Client bereitgestellten Metadaten übereinstimmen.
MATCH_ALL Die vom xDS-Client bereitgestellten Metadaten sollten alle hier angegebenen Labels enthalten.

MetadataLabels

Hiermit wird ein Name-Paare-Wert für ein einzelnes Label definiert.

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

string

Erforderlich. Labelname, der in den xDS-Knotenmetadaten als Schlüssel angegeben ist.

labelValue

string

Erforderlich. Labelwert, der in den xDS-Knotenmetadaten als Wert für den obigen Schlüssel dargestellt wird.

TrafficPortSelector

Spezifikation eines portbasierten Selektors.

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

string

Optional. Eine Liste von Ports. Es können Portnummern oder Portbereiche sein (z. B. [80–90] für alle Ports von 80 bis 90, einschließlich 80 und 90) oder benannte Ports oder * für alle Ports. Wenn die Liste leer ist, sind 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 angegebenen Projekt und an einem angegebenen Standort auf.

patch

Aktualisiert die Parameter einer einzelnen EndpointPolicy.

setIamPolicy

Legt die Zugriffskontrollrichtlinie für die angegebene Ressource fest.

testIamPermissions

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