REST Resource: projects.locations.serverTlsPolicies

资源:ServerTlsPolicy

ServerTlsPolicy 是一项资源,用于指定服务器应如何对传入请求进行身份验证。除非此资源附加到目标 HTTPS 代理或端点配置选择器资源,否则它本身不会影响配置。

应用负载均衡器接受的 ServerTlsPolicy 形式只能通过 EXTERNAL、EXTERNAL_MANAGED 或 INTERNAL_MANAGED 负载均衡方案附加到 TargetHttpsProxy。与 Traffic Director 兼容的 ServerTlsPolicy 可以通过 Traffic Director INTERNAL_SELF_MANAGED 负载均衡方案附加到 EndpointPolicy 和 TargetHttpsProxy。

JSON 表示法
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "allowOpen": boolean,
  "serverCertificate": {
    object (CertificateProvider)
  },
  "mtlsPolicy": {
    object (MTLSPolicy)
  }
}
字段
name

string

必需。ServerTlsPolicy 资源的名称。它符合格式 projects/*/locations/{location}/serverTlsPolicies/{serverTlsPolicy}

description

string

资源的自由文本说明。

createTime

string (Timestamp format)

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

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

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

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

labels

map (key: string, value: string)

与资源关联的一组标签标记。

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

allowOpen

boolean

此字段仅适用于 Traffic Director 政策。对于应用负载均衡器政策,必须将其设置为 false。

确定服务器是否允许打开纯文本连接。如果设置为 true,则服务器将允许打开纯文本连接。默认情况下,此字段设置为 false。此设置并不排斥其他加密模式。例如,如果设置了 allowOpen 和 mtlsPolicy,服务器会允许打开纯文本连接和 mTLS 连接。请参阅其他加密模式的文档,以确认兼容性。

如果您希望将部署升级到 TLS,同时让混合 TLS 和非 TLS 流量到达端口 80,请考虑使用此字段。

serverCertificate

object (CertificateProvider)

如果政策将与 Traffic Director 搭配使用,则此字段为可选字段。对于应用负载均衡器,此字段必须为空。

定义用于预配服务器身份(公钥和私钥)的机制。不能与 allowOpen 结合使用,因为不支持同时允许纯文本和 TLS 的宽松模式。

mtlsPolicy

object (MTLSPolicy)

如果政策与应用负载均衡器搭配使用,则此字段为必填字段。对于 Traffic Director,此字段可以为空。

定义了一种机制,用于为点对点身份验证(双向 TLS - mTLS)预配对等方验证证书。如果未指定,将不会请求客户端证书。连接将被视为 TLS,而不是 mTLS。如果设置了 allowOpen 和 mtlsPolicy,服务器会允许打开纯文本连接和 mTLS 连接。

MTLSPolicy

MTLSPolicy 的规范。

JSON 表示法
{
  "clientValidationMode": enum (ClientValidationMode),
  "clientValidationCa": [
    {
      object (ValidationCA)
    }
  ],
  "clientValidationTrustConfig": string,
  "tier": enum (Tier)
}
字段
clientValidationMode

enum (ClientValidationMode)

当客户端向负载均衡器提供无效证书或没有证书时,clientValidationMode 指定客户端连接的处理方式。

如果政策将与应用负载均衡器搭配使用,则此字段为必填字段。对于 Traffic Director,此字段必须为空。

clientValidationCa[]

object (ValidationCA)

如果政策将与 Traffic Director 搭配使用,则此字段为必填字段。对于应用负载均衡器,此字段必须为空。

定义用于获取证书授权机构证书以验证客户端证书的机制。

clientValidationTrustConfig

string

引用来自 certificatemanager.googleapis.com 命名空间的 TrustConfig。

如果指定了此字段,系统会针对在给定 TrustConfig 中配置的证书执行链验证。

仅当政策将与应用负载均衡器搭配使用时才允许。

tier

enum (Tier)

双向 TLS 层级。

仅当政策将与应用负载均衡器搭配使用时才允许。

ClientValidationMode

双向 TLS 证书验证模式。

枚举
CLIENT_VALIDATION_MODE_UNSPECIFIED 不允许。
ALLOW_INVALID_OR_MISSING_CLIENT_CERT 即使客户端证书的证书链验证失败或未提供客户端证书,也允许进行连接。如果提供了客户端证书,系统始终会检查私钥的所有权证明。此模式要求后端实现对从客户端证书中提取的数据进行处理,以验证对等方身份,或者在缺少客户端证书指纹时拒绝连接。
REJECT_INVALID

需要客户端证书,并且仅在客户端证书验证通过的情况下才允许连接到后端。

如果设置,则需要引用 clientValidationTrustConfig 中指定的非空 TrustConfig。

层级

XLB 的双向 TLS 层级。

枚举
TIER_UNSPECIFIED 如果请求中未指定层级,系统将选择默认值,目前默认为 STANDARD 层级。
STANDARD 默认层级。主要面向软件提供商(服务到服务/服务到 API 通信)。
ADVANCED 高级层级。对于监管环境非常严格的客户,可以指定较长的密钥及复杂的证书链。

方法

create

在给定的项目和位置中创建一个新 ServerTlsPolicy。

delete

删除单个 ServerTlsPolicy。

get

获取单个 ServerTlsPolicy 的详细信息。

list

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

patch

更新单个 ServerTlsPolicy 的参数。