REST Resource: projects.locations.serverTlsPolicies

资源:ServerTlsPolicy

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

应用负载平衡器接受的形式的 ServerTlsPolicy 只能附加到使用 EXTERNALEXTERNAL_MANAGEDINTERNAL_MANAGED 负载均衡方案的 TargetHttpsProxy。使用 Traffic Director INTERNAL_SELF_MANAGED 负载均衡方案,可将与 Traffic Director 兼容的 ServerTlsPolicy 附加到 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

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