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. Mit dieser Ressource kann beispielsweise die Authentifizierungskonfiguration auf alle Endpunkte angewendet werden, 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

Kennung. Name der EndpointPolicy-Ressource. Sie stimmt mit dem Muster projects/{project}/locations/global/endpointPolicies/{endpointPolicy} überein.

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Optional. Eine Reihe 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 zur Validierung der Konfiguration verwendet.

authorizationPolicy

string

Optional. In diesem Feld wird die URL der AuthorizationPolicy-Ressource angegeben, mit der Autorisierungsrichtlinien auf den eingehenden Traffic an den übereinstimmenden Endpunkten angewendet werden. 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 (abgeglichenen) 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 ServerTlsPolicy-Ressource verweist. Mit ServerTlsPolicy wird die Authentifizierungsrichtlinie festgelegt, die zum Beenden des eingehenden Traffics an den identifizierten Back-Ends angewendet werden soll. 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. Mit ClientTlsPolicy kann die Authentifizierung für Traffic vom Proxy zu den tatsächlichen Endpunkten festgelegt werden. Genauer gesagt wird sie auf den ausgehenden Traffic vom Proxy zum Endpunkt angewendet. Dies wird in der Regel für das Sidecar-Modell verwendet, bei dem sich der Proxy als Endpunkt für die Steuerungsebene identifiziert und für die Verbindung zwischen Sidecar und Endpunkt eine Authentifizierung erforderlich ist. 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 proxylose gRPC-Backend dar.

EndpointMatcher

Eine Definition eines Matchers, 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 präsentiert 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 muss mit den vom xDS-Client präsentierten Metadaten übereinstimmen. MATCH_ALL: Die vom xDS-Client präsentierten Metadaten müssen alle hier angegebenen Labels enthalten.

Die Auswahl erfolgt anhand der besten Übereinstimmung. Angenommen, es gibt drei EndpointPolicy-Ressourcen P1, P2 und P3. P1 hat den Matcher MATCH_ANY <A:1, B:1>, 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 von P1 ausgewählt.

Wenn ein Client mit dem Label <A:1,B:1> eine Verbindung herstellt, wird die Konfiguration von 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 mehrere beste Übereinstimmungen 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), wählen Sie die Konfiguration mit dem älteren Erstellungsdatum aus.

metadataLabels[]

object (MetadataLabels)

Die Liste der Label-Wert-Paare, die mit den Labels in den bereitgestellten Metadaten übereinstimmen müssen, basierend auf „filterMatchCriteria“. Diese Liste darf höchstens 64 Einträge enthalten. Die Liste kann leer sein, wenn das Abgleichskriterium MATCH_ANY ist, um einen Platzhalterabgleich anzugeben (d. h. es wird mit jedem Client abgeglichen).

MetadataLabelMatchCriteria

Mögliche Kriterienwerte, die die Logik des Abgleichs definieren.

Enums
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Standardwert. Sollte nicht verwendet werden.
MATCH_ANY Mindestens eines der im Abgleich angegebenen Labels muss mit den vom xDS-Client präsentierten Metadaten übereinstimmen.
MATCH_ALL Die vom xDS-Client präsentierten Metadaten sollten alle hier angegebenen Labels enthalten.

MetadataLabels

Definiert einen Namen/Wert-Paar für ein einzelnes Label.

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

string

Erforderlich. Der Labelname wird als Schlüssel in den xDS-Knotenmetadaten präsentiert.

labelValue

string

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

TrafficPortSelector

Angabe eines portbasierten Selektors.

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

string

Optional. Eine Liste von Ports. Kann Portnummern oder einen Portbereich (z. B. [80–90] für alle Ports von 80 bis 90, einschließlich 80 und 90), benannte Ports oder * für alle Ports sein. Wenn die Liste leer ist, werden alle Ports ausgewählt.

Methoden

create

Erstellt eine neue EndpointPolicy in einem angegebenen Projekt und an einem angegebenen Ort.

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.