REST Resource: projects.locations.serverTlsPolicies

资源:ServerTlsPolicy

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

外部 HTTPS 负载平衡器接受形式的 ServerTlsPolicy 只能通过 EXTERNALEXTERNAL_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)
  },
  "internalCaller": boolean,
  "minTlsVersion": enum (TlsVersion),
  "maxTlsVersion": enum (TlsVersion),
  "cipherSuites": [
    string
  ],
  "subjectAltNames": [
    string
  ]
}
字段
name

string

必需。ServerTlsPolicy 资源的名称。它与模式 projects/*/locations/{location}/serverTlsPolicies/{serverTlsPolicy} 匹配

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" }

allowOpen

boolean

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

确定服务器是否允许明文连接。如果设置为 true,则服务器允许连接纯文本。默认情况下,该属性设置为 false。此设置并不排除其他加密模式。例如,如果设置了 allowOpenmtlsPolicy,则服务器同时允许纯文本和 mTLS 连接。请参阅介绍其他加密模式的文档,确认兼容性。

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

serverCertificate

object (CertificateProvider)

(可选)如果要将政策与 Traffic Director 搭配使用。对于外部 HTTPS 负载均衡器,必须为空。

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

mtlsPolicy

object (MTLSPolicy)

如果此政策用于外部 HTTPS 负载平衡器,则此字段为必填字段。对于 Traffic Director,此字段可以为空。

定义了一种机制,以便为点对点身份验证(相互 TLS - mTLS)配置对等验证证书。如果未指定,系统将不会请求客户端证书。连接被视为 TLS,而非 mTLS。如果设置了 allowOpenmtlsPolicy,则服务器允许建立纯文本和 mTLS 连接。

internalCaller

boolean

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

minTlsVersion

enum (TlsVersion)

可选。仅用于 Envoy 的 TLS 最低版本。如果未指定,Envoy 将使用默认版本。Envoy 最新版本:https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto

maxTlsVersion

enum (TlsVersion)

可选。仅用于 Envoy 的 TLS 最高版本。如果未指定,Envoy 将使用默认版本。Envoy 最新版本:https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto

cipherSuites[]

string

可选。仅在 CSM 中使用的 TLS 自定义加密套件。支持以下加密:ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-CHLY1A20

subjectAltNames[]

string

可选。针对客户端 SAN 的服务器端验证,仅在 CSM 中使用。如果未指定,服务器将不会检查客户端 SAN。

MTLSPolicy

MTLSPolicy 的规范。

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

enum (ClientValidationMode)

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

如果要将政策与外部 HTTPS 负载均衡搭配使用,则需要。对于 Traffic Director,此字段必须为空。

clientValidationCa[]

object (ValidationCA)

如果要将政策与 Traffic Director 搭配使用,则必须填写此字段。对于外部 HTTPS 负载平衡器,此字段必须为空。

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

clientValidationTrustConfig

string

对 Certificatemanager.googleapis.com 命名空间中的 TrustConfig 的引用。

如果指定,系统将针对给定 TrustConfig 中配置的证书执行链验证。

仅当政策要与外部 HTTPS 负载平衡器搭配使用时允许。

tier

enum (Tier)

双向 TLS 层级。

仅当政策要与外部 HTTPS 负载平衡器搭配使用时允许。

ClientValidationMode

双向 TLS 证书验证模式。

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

要求客户端证书,并且仅当客户端证书通过验证时才允许连接到后端。

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

层级

XLB 的双向 TLS 层级。

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

TlsVersion

CSM 网关 TLS 版本设置的 TLS 版本设置。

枚举
TLS_VERSION_UNSPECIFIED
TLS_V1_0
TLS_V1_1
TLS_V1_2
TLS_V1_3

方法

create

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

delete

删除单个 ServerTlsPolicy。

get

获取单个 ServerTlsPolicy 的详细信息。

getIamPolicy

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

list

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

patch

更新单个 ServerTlsPolicy 的参数。

setIamPolicy

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

testIamPermissions

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