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. 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.

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. 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. In diesem Feld wird die URL der Autorisierungsrichtlinienressource 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 Autorisierungsüberprü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. Mit ClientTlsPolicy können Sie die Authentifizierung für Traffic vom Proxy zu den tatsächlichen Endpunkten angeben. 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 Kontrollebene identifiziert. Für die Verbindung zwischen Sidecar und Endpunkt ist eine Authentifizierung erforderlich. 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-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 Matcher 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 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 MATCH_ALL <A:1,B:1> und P3 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 Ü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 Label/Wert-Paare, die gemäß den FilterMatchCriteria-Kriterien mit Labels in den bereitgestellten Metadaten übereinstimmen müssen. Diese Liste kann maximal 64 Einträge enthalten. Die Liste kann leer sein, wenn MATCH_ANY als Abgleichskriterien festgelegt ist. Dies gibt einen Platzhalterabgleich an, d. h., es wird mit allen Kunden abgeglichen.

MetadataLabelMatchCriteria

Mögliche Kriterienwerte, die die Logik der Übereinstimmung 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

Angabe einer portbasierten Auswahl.

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, 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 Endpunktrichtlinie 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.