REST Resource: projects.locations.endpointPolicies

资源:EndpointPolicy

EndpointPolicy 是一项资源,可帮助在符合特定条件的端点上应用所需配置。例如,此资源可用于为在端口 8080 上提供服务的所有端点应用“authentication config”命令。

JSON 表示法
{
  "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
}
字段
name

string

必需。EndpointPolicy 资源的名称。它与模式 projects/{project}/locations/global/endpointPolicies/{endpointPolicy} 匹配。

createTime

string (Timestamp format)

仅限输出。创建资源时的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

仅限输出。资源更新时的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

labels

map (key: string, value: string)

可选。与 EndpointPolicy 资源关联的标签标记集。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

type

enum (EndpointPolicyType)

必需。端点政策的类型。这主要用于验证配置。

authorizationPolicy

string

可选。此字段指定 AuthorizationPolicy 资源的网址,该资源将授权政策应用于匹配端点的入站流量。请参阅“授权”。如果未指定此字段,系统会停用此端点的授权(不进行 authz 检查)。

endpointMatcher

object (EndpointMatcher)

必需。用于选择应用政策的端点的匹配器。

trafficPortSelector

object (TrafficPortSelector)

可选。(匹配)端点的端口选择器。如果未提供端口选择器,则匹配的配置将应用于所有端口。

description

string

可选。资源的自由文本说明。长度上限为 1024 个字符。

serverTlsPolicy

string

可选。指向 ServerTlsPolicy 资源的网址。ServerTlsPolicy 用于确定要应用的身份验证政策,以终止已标识的后端的入站流量。如果此字段未设置,则此端点的身份验证会停用(开放)。

clientTlsPolicy

string

可选。指向 ClientTlsPolicy 资源的网址。可以设置 ClientTlsPolicy,为从代理到实际端点的流量指定身份验证。更具体地说,它适用于从代理到端点的传出流量。这通常用于 Sidecar 模型,其中代理将自身标识为控制平面的端点,并且 Sidecar 与端点之间的连接需要进行身份验证。如果未设置此字段,则身份验证处于停用状态(打开)。仅在 EndpointPolicyType 为 SIDECAR_PROXY 时适用。

EndpointPolicyType

端点政策的类型。

枚举
ENDPOINT_POLICY_TYPE_UNSPECIFIED 默认值。不得使用。
SIDECAR_PROXY 表示作为 Sidecar 部署的代理。
GRPC_SERVER 表示无代理 gRPC 后端。

EndpointMatcher

匹配器的定义,用于选择应用政策的端点。

JSON 表示法
{

  // 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.
}
字段
联合字段 matcher_type。指定用于此端点匹配器的匹配器类型。matcher_type 只能是下列其中一项:
metadataLabelMatcher

object (MetadataLabelMatcher)

匹配器基于 xDS 客户端提供的节点元数据。

MetadataLabelMatcher

基于 xDS 客户端提供的节点元数据的匹配器。

JSON 表示法
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
字段
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

指定匹配方式。

支持的值包括:MATCH_ANY:匹配器中指定的至少一个标签应与 xDS 客户端提供的元数据相匹配。MATCH_ALL:xDS 客户端呈现的元数据应包含此处指定的所有标签。

系统会根据最佳匹配项进行选择。例如,假设有三个 EndpointPolicy 资源 P1、P2 和 P3,如果 P1 的匹配器为 MATCH_ANY <A:1, B:1>,则 P2 具有 MATCH_ALL <A:1,B:1>,而 P3 具有 MATCH_ALL <A:1,B:1,C:1>。

如果连接了带有标签 <A:1> 的客户端,系统将选择 P1 的配置。

如果连接了带有标签 <A:1,B:1> 的客户端,系统将选择来自 P2 的配置。

如果连接了带有 <A:1,B:1,C:1> 标签的客户端,系统将选择 P3 的配置。

如果有多个最佳匹配项(例如,存在选择器为 <A:1,D:1> 的 config P4,且连接了标签为 <A:1,B:1,D:1> 的客户端),请选择创建时间较旧的那个配置。

metadataLabels[]

object (MetadataLabels)

必须与所提供的元数据中的标签(基于过滤条件匹配)匹配的标签值对列表。此列表最多可包含 64 个条目。如果匹配条件为 MATCH_ANY,则列表可以为空,以指定通配符匹配(即匹配任何客户)。

MetadataLabelMatchCriteria

可能的条件值,用于定义匹配方式的逻辑。

枚举
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED 默认值。不应使用。
MATCH_ANY 匹配器中指定的至少一个标签应与 xDS 客户端提供的元数据匹配。
MATCH_ALL xDS 客户端呈现的元数据应包含此处指定的所有标签。

MetadataLabels

定义单个标签的名称对值。

JSON 表示法
{
  "labelName": string,
  "labelValue": string
}
字段
labelName

string

必需。标签名称在 xDS 节点元数据中以键形式呈现。

labelValue

string

必需。标签值,表示为与上述键对应的值,在 xDS 节点元数据中。

TrafficPortSelector

基于端口的选择器规范。

JSON 表示法
{
  "ports": [
    string
  ]
}
字段
ports[]

string

可选。端口列表。可以是端口号或端口范围(例如,[80-90] 指定 80 到 90 之间的所有端口,包括 80 和 90),也可以是已命名的端口;或者,* 用于指定所有端口。如果列表为空,系统会选择所有端口。

方法

create

在给定的项目和位置中创建新的 EndpointPolicy。

delete

删除单个 EndpointPolicy。

get

获取单个 EndpointPolicy 的详细信息。

list

列出给定项目和位置的 EndpointPolicy。

patch

更新单个 EndpointPolicy 的参数。

setIamPolicy

设置对指定资源的访问权限控制政策。

testIamPermissions

返回调用者对指定资源拥有的权限。