REST Resource: projects.locations.serverTlsPolicies

资源:ServerTlsPolicy

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

应用负载均衡器接受的 ServerTlsPolicy 形式只能通过 EXTERNALEXTERNAL_MANAGEDINTERNAL_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)

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

时间戳采用 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 政策。对于应用负载平衡器政策,此值必须设为 false。

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

如果您希望将部署就地升级为 TLS,同时有混合 TLS 和非 TLS 流量到达端口 80,不妨考虑使用此方法。

serverCertificate

object (CertificateProvider)

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

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

mtlsPolicy

object (MTLSPolicy)

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

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

MTLSPolicy

MTLSPolicy 的规范。

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

enum (ClientValidationMode)

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

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

clientValidationCa[]

object (ValidationCA)

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

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

clientValidationTrustConfig

string

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

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

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

ClientValidationMode

双向 TLS 证书验证模式。

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

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

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

方法

create

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

delete

删除单个 ServerTlsPolicy。

get

获取单个 ServerTlsPolicy 的详细信息。

getIamPolicy

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

list

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

patch

更新单个 ServerTlsPolicy 的参数。

setIamPolicy

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

testIamPermissions

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