SSL 政策指定 Google Cloud 负载均衡器在与客户端协商 SSL 时使用的一组 SSL 功能。在本文档中,术语“SSL”是指 SSL 和 TLS 协议。
以下负载均衡器支持 SSL 政策:
- 全球 SSL 政策
- 全球外部应用负载均衡器
- 传统应用负载均衡器
- 外部代理网络负载均衡器(使用目标 SSL 代理)
- 跨区域内部应用负载均衡器
- 区域 SSL 政策
- 区域级外部应用负载均衡器
- 区域级内部应用负载均衡器
如需详细了解 SSL 政策的工作原理,请参阅 SSL 政策概览。
您可以在创建 HTTPS 或 SSL 负载均衡器时,或者在创建负载均衡器之后的任何时间,使用 Google Cloud 控制台或 Google Cloud CLI 创建和管理 SSL 政策。
创建 SSL 政策
您可以创建使用 Google 管理的配置文件或自定义配置文件的 SSL 政策。
创建使用 Google 管理的配置文件的 SSL 政策
控制台
全球 SSL 政策
如需创建使用 Google 管理的配置文件的全球 SSL 政策,请执行以下操作:
在 Google Cloud 控制台中,转到 SSL 政策页面。
点击创建政策。
对于全球 SSL 政策,请点击它旁边的创建按钮。系统会显示创建政策页面。
输入名称。
选择最低的 TLS 版本。
对于配置文件,请选择兼容、新型或受限。相应配置文件的已启用的功能和已停用的功能会显示在页面的右侧。
如果存在一个负载均衡器,并且您要向其中附加政策,请点击应用到目标,然后选择转发规则作为 SSL 政策的目标。如有必要,请添加更多目标。
点击创建。
区域级 SSL 政策
如需创建使用 Google 管理的配置文件的区域级 SSL 政策,请执行以下操作:
在 Google Cloud 控制台中,转到 SSL 政策页面。
点击创建政策。
对于区域 SSL 政策,请点击它旁边的创建按钮。系统会显示创建政策页面。
输入名称。
选择区域。
选择最低的 TLS 版本。
对于配置文件,请选择兼容、新型或受限。相应配置文件的已启用的功能和已停用的功能会显示在页面的右侧。
如果存在一个负载均衡器,并且您要向其中附加政策,请点击应用到目标,然后选择转发规则作为 SSL 政策的目标。如有必要,请添加更多目标。
点击创建。
gcloud
全球 SSL 政策
以下是创建使用 Google 管理的配置文件的全球 SSL 政策的一般语法:
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile COMPATIBLE | MODERN | RESTRICTED \ --min-tls-version 1.0 | 1.1 | 1.2
以下命令创建使用 MODERN
配置文件的全球 SSL 政策:
gcloud compute ssl-policies create my-ssl-policy \ --profile MODERN \ --min-tls-version 1.0
区域级 SSL 政策
以下是创建使用 Google 管理的配置文件的区域 SSL 政策的一般语法:
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile COMPATIBLE | MODERN | RESTRICTED \ --min-tls-version 1.0 | 1.1 | 1.2 \ --region REGION
以下命令创建使用 COMPATIBLE
配置文件的区域 SSL 政策:
gcloud compute ssl-policies create my-ssl-policy \ --profile COMPATIBLE \ --min-tls-version 1.1 \ --region us-west1
创建使用自定义配置文件的 SSL 政策
控制台
全球 SSL 政策
如需创建使用自定义配置文件的全球 SSL 政策,请执行以下操作:
在 Google Cloud 控制台中,转到 SSL 政策页面。
点击创建政策。
对于全球 SSL 政策,请点击它旁边的创建按钮。系统会显示创建政策页面。
输入名称。
选择最低的 TLS 版本。
在配置文件字段中,选择自定义。所有功能都会在页面右侧显示为已停用的功能。
在功能列表中,选择要启用的每个加密套件。 您启用的加密套件会被列为已启用的功能。
如果存在一个负载均衡器,并且您要向其中附加政策,请点击应用到目标,然后选择转发规则作为 SSL 政策的目标。如有必要,请添加更多目标。
点击创建。
区域级 SSL 政策
如需创建使用自定义配置文件的区域级 SSL 政策,请执行以下操作:
在 Google Cloud 控制台中,转到 SSL 政策页面。
点击创建政策。
对于区域 SSL 政策,请点击它旁边的创建按钮。系统会显示创建政策页面。
输入名称。
选择区域。
选择最低的 TLS 版本。
在配置文件字段中,选择自定义。所有功能都会在页面右侧显示为已停用的功能。
在功能列表中,选择要启用的每个加密套件。 您启用的加密套件会被列为已启用的功能。
如果存在一个负载均衡器,并且您要向其中附加政策,请点击应用到目标,然后选择转发规则作为 SSL 政策的目标。如有必要,请添加更多目标。
点击创建。
gcloud
在创建使用自定义配置文件的 SSL 政策时,仅支持您在 create
命令中指定的功能,其他功能均不受支持。
全球 SSL 政策
以下是创建使用自定义配置文件的全球 SSL 政策的一般语法:
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.0 | 1.1 | 1.2 \ --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3]
以下示例创建了一个全球 SSL 政策,该政策使用自定义配置文件、最低 TLS 版本 1.2 以及 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
和 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
功能。
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.2 \ --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
区域级 SSL 政策
以下是创建使用自定义配置文件的区域 SSL 政策的一般语法:
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.0 | 1.1 | 1.2 \ --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3] \ --region REGION
以下示例创建了一个区域 SSL 政策,该政策使用自定义配置文件、最低 TLS 版本 1.2 以及 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
和 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
功能。
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.2 \ --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --region us-west1
列出 SSL 政策
控制台
在 Google Cloud 控制台中,转到 SSL 政策页面。
您可以查看所有可用 SSL 政策的列表。范围字段指示 SSL 政策是全局性还是区域性的。
gcloud
如需列出全局 SSL 政策和区域 SSL 政策,请运行以下命令:
gcloud compute ssl-policies list
如需仅列出全局 SSL 政策,请运行以下命令:
gcloud compute ssl-policies list --global
如需仅列出区域 SSL 政策,请运行以下命令:
gcloud compute ssl-policies list --regions REGION
列出 SSL 政策中提供的功能
控制台
在 Google Cloud 控制台中,转到 SSL 政策页面。
点击您想要查看其功能的政策的名称。 此时页面右侧将显示已启用和已停用的加密套件。
gcloud
如需列出全球 SSL 政策中可用的功能,请运行以下命令:
gcloud compute ssl-policies list-available-features
如需列出区域 SSL 政策中可用的功能,请运行以下命令:
gcloud compute ssl-policies list-available-features \ --region REGION
修改 SSL 政策
控制台
如需修改 全局 SSL 政策或 区域 SSL 政策,请执行以下操作:
在 Google Cloud 控制台中,转到 SSL 政策页面。
点击要修改的政策的名称。
点击修改。
根据需要进行更改。
点击保存。
gcloud
要修改现有的 SSL 政策,请传递与要更新的字段对应的任何或所有标记。请注意,未指定的字段不会更新。
如果您要更新功能,则先前启用的功能会被删除,并且会替换为您指定的新功能。
全球 SSL 政策
gcloud compute ssl-policies update SSL_POLICY_NAME \ --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \ --min-tls-version 1.0|1.1|1.2 \ --custom-features FEATURES
区域 SSL 政策
gcloud compute ssl-policies update SSL_POLICY_NAME \ --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \ --min-tls-version 1.0|1.1|1.2 \ [--custom-features FEATURES \] --region REGION
创建使用 SSL 政策的目标代理
控制台
创建或更新负载均衡器时,您可以使用 Google Cloud 控制台创建目标代理,如以下文档所示:
gcloud
如需创建使用全球 SSL 政策的目标 SSL 代理,请运行以下命令:
gcloud compute target-ssl-proxies create TARGET_SSL_PROXY_NAME \ --backend-service BACKEND_SERVICE_NAME \ --ssl-certificate SSL_CERTIFICATE_NAME \ --ssl-policy SSL_POLICY_NAME
如需创建使用全球 SSL 政策的全球目标 HTTPS 代理,请运行以下命令:
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificate SSL_CERTIFICATE_NAME \ --url-map URL_MAP_NAME \ --ssl-policy SSL_POLICY_NAME
如需创建使用区域 SSL 政策的区域目标 HTTPS 代理,请运行以下命令:
gcloud compute target-https-proxies create REGIONAL_TARGET_HTTPS_PROXY_NAME \ --ssl-certificates SSL_CERTIFICATE_NAME \ --url-map URL_MAP_NAME \ --url-map-region REGION \ --ssl-policy SSL_POLICY_NAME \ --region REGION
将现有 SSL 政策附加到现有目标代理
控制台
gcloud
可使用以下命令将现有 SSL 政策附加到 SSL 代理或 HTTPS 代理。
如需查找组织中具有目标 SSL 代理的所有项目,请运行以下命令:
gcloud asset search-all-resources \ --scope=organizations/ORGANIZATION_ID \ --asset-types=compute.googleapis.com/TargetSslProxy
如需查找组织中具有目标 HTTPS 代理的所有项目,请运行以下命令:
gcloud asset search-all-resources \ --scope=organizations/ORGANIZATION_ID \ --asset-types=compute.googleapis.com/TargetHttpsProxy
如需列出项目中的所有全球目标 SSL 代理,请使用
targetSslProxies.aggregatedList
方法。然后,使用filter
查询参数搜索未引用 SSL 政策的目标 SSL 代理。curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
如需列出项目中的所有 全球和 区域级目标 HTTPS 代理,请使用
targetHttpsProxies.aggregatedList
方法,并将includeAllScopes
查询参数设置为true
。然后,使用filter
查询参数搜索未引用 SSL 政策的目标 HTTPS 代理。curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/targetHttpsProxies?filter=sslPolicy%3D%22%22&includeAllScopes=true&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
如需将现有全球 SSL 政策附加到目标 SSL 代理,请运行以下命令:
gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \ --ssl-policy SSL_POLICY_NAME
如需将现有全球 SSL 政策附加到全球目标 HTTPS 代理,请运行以下命令:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --ssl-policy SSL_POLICY_NAME
如需将现有区域 SSL 政策附加到区域目标 HTTPS 代理,请运行以下命令:
gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \ --ssl-policy SSL_POLICY_NAME \ --region REGION
如果您在更新目标代理时(例如,更新 SSL 证书时)未提供 --ssl-policy
标志或 --clear-ssl-policy
标志,则 SSL 政策会保持不变。从目标代理中删除 SSL 政策中介绍了 --clear-ssl-policy
标志。
API
如需为全球目标代理设置全球 SSL 政策,请使用 targetHttpsProxies.patch
方法。
如需为区域目标代理设置区域 SSL 政策,请使用 regionTargetHttpsProxies.patch
方法。
从目标代理中删除 SSL 政策
控制台
gcloud
可使用以下命令从 SSL 代理或 HTTPS 代理中移除 SSL 政策。如果您未将其他 SSL 政策附加到目标代理,则负载均衡器会使用默认 SSL 政策。请注意,使用 --clear-ssl-policy
标志相当于将 SSL 政策替换为默认 SSL 政策。
如需从目标 SSL 代理中移除全球 SSL 政策,请运行以下命令:
gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \ --clear-ssl-policy
如需从全球目标 HTTPS 代理中移除全球 SSL 政策,请运行以下命令:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --clear-ssl-policy
如需从区域目标 HTTPS 代理中移除区域 SSL 政策,请运行以下命令:
gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \ --clear-ssl-policy \ --region REGION
如果您在更新命令中提供 --clear-ssl-policy
标志,SSL 政策将从代理中移除。
如果您在更新目标代理时(例如,更新 SSL 证书时)未提供 --clear-ssl-policy
标志或 --ssl-policy
标志,则 SSL 政策会保持不变。将现有 SSL 政策附加到现有目标代理中介绍了 --ssl-policy
标志。
管理 SSL 政策
如果您使用自定义限制条件限制 TLS 功能,请手动检查附加到目标 SSL 代理和目标 HTTPS 代理的现有 SSL 政策是否符合 TLS 合规性要求。
请按照以下示例步骤查找和更新不符合您的安全目标的 SSL 政策。
如需查找组织中具有 SSL 政策资源的所有项目,请运行以下命令:
gcloud asset search-all-resources \ --scope=organizations/ORGANIZATION_ID \ --asset-types=compute.googleapis.com/SslPolicy
如需列出项目中的所有 全球和 区域 SSL 政策,请使用
sslPolicies.aggregatedList
方法,并将includeAllScopes
查询参数设置为true
。然后,使用filter
查询参数搜索不符合您的安全目标的 SSL 政策。例如,若要查找 TLS 版本低于
1.2
的 SSL 政策,请使用过滤条件minTlsVersion="TLS_1_0" OR minTlsVersion="TLS_1_1"
:curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/sslPolicies?filter=minTlsVersion%3D%22TLS_1_0%22%20OR%20minTlsVersion%3D%22TLS_1_1%22&includeAllScopes=true&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
如需获取 API 密钥,请参阅使用 API 密钥进行身份验证。如需获取访问令牌,请使用
projects.serviceAccounts.generateAccessToken
方法。然后,更新不符合最低 TLS 要求的 SSL 政策。
如需更新全局 SSL 政策,您可以使用以下命令:
gcloud compute ssl-policies update SSL_POLICY_NAME \ --min-tls-version=TLS_1_2 \ --global
如需更新区域 SSL 政策,您可以使用以下命令:
gcloud compute ssl-policies update SSL_POLICY_NAME \ --min-tls-version=TLS_1_2 \ --region REGION
如需列出项目中与 SSL 政策无关联的所有目标 SSL 代理,请运行以下命令:
curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
如需将 SSL 政策附加到这些目标代理,请参阅将现有 SSL 政策附加到现有目标代理
您还可以使用 Cloud Asset Inventory 或 Google APIs Explorer 查找和更新不符合您的安全要求的资源。
例如,如需查找与 SSL 政策不相关联的目标 SSL 代理的列表,您可以在 Cloud Asset Inventory 中按照以下步骤操作:
在 Google Cloud 控制台中,前往资产库存页面。
点击素材资源查询。
在修改查询字段中,输入以下查询,然后点击运行。
select * from `compute_googleapis_com_TargetSslProxy` where resource.data.sslPolicy IS NULL
如需将 SSL 政策附加到这些目标代理,请参阅将现有 SSL 政策附加到现有目标代理。
在 Cloud Asset Inventory 中运行查询,直到看到空响应。
限制
请参阅负载均衡器配额和限制。
API 参考文档
如需了解通过 REST API 使用 SSL 政策时可用的属性和方法的说明,请参阅以下内容:
产品 | API 文档 |
---|---|
|
sslPolicies |
|
regionSslPolicies |
gcloud CLI 参考文档
对于 Google Cloud CLI 参考文档,请参阅以下内容:
-
- 全球:
--global
- 区域级:
--region=[REGION]
- 全球:
后续步骤
- 如需了解 SSL 政策的概念性信息,请参阅 SSL 和 TLS 协议的 SSL 政策。
- 如需了解外部代理网络负载均衡器,请参阅外部代理网络负载均衡器概览。
- 如需了解外部应用负载均衡器,请参阅外部应用负载均衡器概览。