REST Resource: projects.locations.clientTlsPolicies

资源:ClientTlsPolicy

ClientTlsPolicy 是一项资源,用于指定客户端应如何对与服务后端的连接进行身份验证。除非此资源附加到后端服务资源,否则它本身不会影响配置。

JSON 表示法
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "sni": string,
  "clientCertificate": {
    object (CertificateProvider)
  },
  "serverValidationCa": [
    {
      object (ValidationCA)
    }
  ],
  "targets": [
    string
  ],
  "workloadContextSelectors": [
    {
      object (WorkloadContextSelector)
    }
  ],
  "subjectAltNames": [
    string
  ],
  "internalCaller": boolean
}
字段
name

string

必需。ClientTlsPolicy 资源的名称。它与模式 projects/*/locations/{location}/clientTlsPolicies/{clientTlsPolicy} 匹配

description

string

可选。资源的自由文本说明。

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)

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

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

sni

string

可选。在 TLS 握手期间向服务器显示的服务器名称指示字符串。例如:“secure.example.com”。

clientCertificate

object (CertificateProvider)

可选。定义了一种机制,用于为点对点身份验证配置客户端身份(公钥和私钥)。其存在将决定 mTLS。

serverValidationCa[]

object (ValidationCA)

可选。定义了获取证书授权机构证书以验证服务器证书的机制。如果为空,则客户端不会验证服务器证书。

targets[]

string

可选。定义此政策应投放的目标的列表。目标只能是 BackendService,并且应该是 BackendService 的完全限定名称,例如:projects/xxx/backendServices/locations/global/xxx。注意:ClientTlsPolicy 和引用的 BackendService 必须存在于同一项目中。这仅适用于 Google 服务网格 (GSM) 产品。

workloadContextSelectors[]

object (WorkloadContextSelector)

可选。选择应将政策应用于其目标的工作负载。如果没有冲突,应始终将没有 WorkloadContextSelector 的政策应用于其目标。如果有多个 WorkloadContextSelector,则只要其中有任何 WorkloadContextSelector 匹配,该政策就会应用于所有目标。因此,这些选择器可以按 OR 方式进行组合。

如果有多个 ClientTlsPolicy 定位到同一 BackendService,则应该仅有一个有效的 ClientTlsPolicy,且优先顺序如下:1) 包含 WorkContextSelectors 的 ClientTlsPolicy 优先。2) 如果有多个匹配的 ClientTlsPolicy,其中 WorkContextSelectors 匹配,则最早创建的那一个将优先。3) 则不带 WorkSelector 的 ClientTlsPolicy 将优先。目前,我们不允许在没有 WorkloadSelector 的情况下关联同一 backendService 的多个 ClientTlsPolicy。

注意:仅限 GSM 使用。

subjectAltNames[]

string

可选。用于验证证书中的服务器身份的备用名称列表。如果指定,客户端将验证服务器证书的主题替代名称是否与指定值之一匹配。如果指定,此列表将覆盖 BackendService.securitySettings.subjectAltNames[] 中 subjectAltNames 的值。域名可以是完全匹配类型(例如 foo),也可以是后缀匹配(例如 foo* 或 foo/*)

internalCaller

boolean

可选。一个用于识别内部控制器的标志。如果设置此字段,即使未设置其他选填字段,系统也将触发 P4SA 检查,以验证调用方是否来自列入许可名单的服务的 P4SA。

WorkloadContextSelector

确定政策适用于哪些工作负载。

JSON 表示法
{
  "metadataSelectors": [
    {
      object (MetadataSelector)
    }
  ]
}
字段
metadataSelectors[]

object (MetadataSelector)

必需。用于选择工作负载的元数据标签值的映射。如果提供了多个 MetadataSelector,则所有 MetadataSelector 都必须匹配,这样才能将政策应用于此工作负载。因此,这些选择器必须按 AND 方式组合。

MetadataSelector

与使用映射相反,存在此消息类型支持今后使用更多字段(例如优先级)。

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

必需。在

value

string

必需。用于比较的此元数据字段的值

方法

create

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

delete

删除单个 ClientTlsPolicy。

get

获取单个 ClientTlsPolicy 的详细信息。

getIamPolicy

获取资源的访问权限控制政策。

list

列出给定项目和位置中的 ClientTlsPolicies。

patch

更新单个 ClientTlsPolicy 的参数。

setIamPolicy

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

testIamPermissions

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