限制 TLS 加密套件
本页介绍了如何通过拒绝使用某些安全性较低的传输层安全协议 (TLS) 加密套件发出的请求,来阻止访问 Google Cloud 资源。
概览
Google Cloud 支持多个 TLS 加密套件。为了满足安全性或合规性要求,您可能需要拒绝使用安全性较低的 TLS 加密套件的客户端发来的请求。
此功能由 gcp.restrictTLSCipherSuites
组织政策限制条件提供。此限制条件可应用于资源层次结构中的组织、文件夹或项目。
您可以将 gcp.restrictTLSCipherSuites
约束条件用作许可名单或禁止名单:
由于组织政策层次结构评估的行为,限制 TLS 加密套件限制条件会应用于指定的资源节点及其所有子节点。例如,如果您仅允许某个组织使用特定的 TLS 加密套件,那么来自该组织的所有文件夹和项目(子级)也会受到此限制。
准备工作
如需获得设置、更改或删除组织政策所需的权限,请让您的管理员为您授予组织的 Organization Policy Administrator (roles/orgpolicy.policyAdmin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
设置组织政策
“限制 TLS 加密套件”限制条件是一种列表限制条件。您可以通过“限制 TLS 加密套件”限制条件的 allowed_values
或 denied_values
列表添加和移除加密套件。为防止组织政策过于严格并简化政策管理,请使用值组。值组是 Google 精选的推荐 TLS 密码套件。
控制台
在 Google Cloud 控制台中打开组织政策页面。
选择页面顶部的项目选择器。
在项目选择器中,选择要为其设置组织政策的资源。
从组织政策页面上的列表中选择限制 TLS 加密套件这一限制。
如需为该资源更新组织政策,请点击管理政策。
在修改页面,选择自定义。
在强制执行下,选择强制执行选项:
要合并和评估组织政策,请选择与父资源规则合并。如需详细了解继承机制与资源层次结构,请参阅了解层次结构评估。
如需覆盖从父资源继承的政策,请选择替换。
点击添加规则。
在政策值下方,选择自定义。
在政策类型下,选择允许以创建允许的密码套件的列表,或者选择拒绝以创建拒绝的密码套件的列表。
在自定义值下,输入
in:
前缀和值组字符串,然后按 Enter 键。例如
in:NIST-800-52-recommended-ciphers
。您可以点击添加值来输入多个值组字符串。您还可以使用
is:
前缀输入特定的密码套件字符串。如需查看支持的值列表,请参阅支持的密码套件。
如需强制执行政策,请点击设置政策。
gcloud
如需创建强制执行“限制 TLS 密码套件”限制条件的组织政策,请创建引用该限制条件的政策 YAML 文件:
constraint: constraints/gcp.restrictTLSCipherSuites
listPolicy:
allowedValues:
- in:CNSA-2.0-recommended-ciphers
- is:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
如需强制执行包含限制条件的组织政策,请运行以下命令:
gcloud resource-manager org-policies set-policy \ --RESOURCE_TYPE RESOURCE_ID \ POLICY_PATH
替换以下内容:
将
RESOURCE_TYPE
替换为organization
、folder
或project
。将
RESOURCE_ID
替换为您的组织 ID、文件夹 ID、项目 ID 或项目编号。POLICY_PATH
替换为包含组织政策的 YAML 文件的完整路径。
系统会返回一条响应,其中包含新组织政策的结果:
constraint: constraints/gcp.restrictTLSCipherSuites etag: COS9qr0GELii6o0C listPolicy: allowedValues: - in:CNSA-2.0-recommended-ciphers - is:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA updateTime: '2025-02-11T00:50:44.565875Z'
值组
值组是由 Google 精心挑选的一组加密套件,可让您更轻松地定义首选或推荐的 TLS 加密套件。值组包含多个密码套件,并会随着时间的推移由 Google 扩展。您无需更改组织政策即可适应新的密码套件。
如需在组织政策中使用值组,请在您的条目前面添加 in:
字符串作为前缀。如需详细了解如何使用值前缀,请参阅使用限制条件。调用以设置组织政策时,系统会验证值组名称。如果使用无效的群组名称,则会导致政策设置失败。
下表包含最新的可用组列表:
组 | 详情 | 直接成员 |
---|---|---|
CNSA-2.0-recommended-ciphers | Google Cloud 支持的 CNSA 2.0 推荐密码:in:CNSA-2.0-recommended-ciphers |
值:
|
NIST-800-52-recommended-ciphers | Google Cloud 支持 NIST SP 800-52 推荐的加密算法:in:NIST-800-52-recommended-ciphers |
值:
|
支持的加密套件
以下是 Google Cloud支持的加密套件列表。
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
错误消息
支持“限制 TLS 加密套件”限制条件的服务会拒绝违反该限制条件的请求。
错误消息示例
错误消息的格式类似于以下示例:
Request is disallowed by organization's constraints/gcp.restrictTLSCipherSuites constraint for 'projects/PROJECT_NUMBER'. Access to service 'SERVICE_NAME.googleapis.com' attempted with a disallowed TLS Cipher Suite: 'TLS_Cipher_Suite_X` To access this resource, please use an allowed TLS Cipher Suite.
此输出包括以下值:
PROJECT_NUMBER
:托管上一个命令中提及的资源的项目编号。SERVICE_NAME
:被“限制 TLS 加密套件”政策屏蔽的受限范围内服务的名称。TLS_Cipher_Suite_X
:请求中使用的 TLS 加密套件。
Cloud Audit Logs 示例
此外还会生成一个审核日志条目以进一步监控、提醒或调试。审核日志条目类似于以下示例:
{ logName: "projects/my-project-number/logs/cloudaudit.googleapis.com%2Fpolicy" protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" status: { code: 7 message: "Request is disallowed by organization's TLS Cipher Suite Restriction Org Policy for 'projects/my-project-number'. Attempting to use service 'bigquery.googleapis.com' with a disallowed TLS Cipher Suite: 'TLS_Cipher_Suite_X`." } serviceName: "bigquery.googleapis.com" methodName: "google.cloud.bigquery.v2.TableDataService.InsertAll" resourceName: "projects/my-project-number" authenticationInfo: { principalEmail: "user_or_service_account@example.com" } } requestMetadata: { callerIp: "123.123.123.123" } policyViolationInfo: { orgPolicyViolationInfo: { violationInfo: [ { constraint: "constraints/gcp.restrictTlsCipherSuites" errorMessage: "TLS Cipher Suite Restriction Org Policy is violated" policyType: "LIST_CONSTRAINT" } ] } } resource: { type: "audited_resource" labels: { project_id: "my-project-number" method: "google.cloud.bigquery.v2.TableDataService.InsertAll" service: "bigquery.googleapis.com" } } severity: "ERROR" timestamp: "2023-10-27T19:27:24.633477924Z" receiveTimestamp: "2023-10-27T19:27:25.071941737Z" insertId "42" }
测试政策
您可以针对任何受限服务测试 TLS 加密限制政策限制条件。以下示例 curl
命令会验证 Cloud Key Management Service 密钥环的“限制 TLS 加密套件”设置。
curl --ciphers TLS_CIPHER_SUITE --tls_max 1.2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/global/keyRings" --verbose
执行以下变量替换操作:
TLS_CIPHER_SUITE
:OpenSSL 命名惯例中的 TLS 加密套件名称,例如ECDHE-ECDSA-AES128-SHA
,是TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
的 OpenSSL 名称。PROJECT_ID
:包含密钥环的项目的名称
以下 curl
请求示例显示了 PROJECT_ID 设置为 my-project-id
,TLS_CIPHER_SUITE 设置为 ECDHE-ECDSA-AES128-SHA
:
curl --ciphers ECDHE-ECDSA-AES128-SHA --tls-max 1.2 \ GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudkms.googleapis.com/v1/projects/my-project-id/locations/global/keyRings" --verbose
如果“my-project-id”的组织政策配置为拒绝 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
,那么在本示例命令中,如果尝试使用受政策限制的项目中的密码访问资源,则会失败。系统会返回类似于以下示例的错误消息,说明失败的原因。
Request is disallowed by organization's constraints/gcp.restrictTLSCipherSuites constraint for 'projects/my-project-id'. Access to service cloudkms.googleapis.com attempted with a disallowed TLS Cipher Suite: `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA`. To access this resource, please use an allowed TLS Cipher Suite.
在试运行模式下创建组织政策
处于试运行模式的组织政策是一种组织政策,其中违反政策的行为会记录在审核日志中,但系统不会拒绝违规操作。您可以在试运行模式下使用 TLS 密码套件限制限制条件创建组织政策,以便在强制执行正式版政策之前监控该政策对组织的影响。如需了解详情,请参阅在试运行模式下创建组织政策。
支持的服务
以下服务支持“限制 TLS 加密套件”设置。此约束条件适用于 API 端点的所有变体,包括全球端点、位置端点和区域端点。如需了解详情,请参阅 API 端点类型页面。
产品 | API 端点 |
---|---|
API Gateway |
apigateway.googleapis.com |
API 密钥 |
apikeys.googleapis.com |
Access Context Manager |
accesscontextmanager.googleapis.com |
Apigee |
apigee.googleapis.com |
Apigee API Hub |
apihub.googleapis.com |
Apigee API Management API |
apim.googleapis.com |
Apigee Connect API |
apigeeconnect.googleapis.com |
Apigee portal API |
apigeeportal.googleapis.com |
Apigee Registry API |
apigeeregistry.googleapis.com |
App Config Manager API |
appconfigmanager.googleapis.com |
Application Design Center |
designcenter.googleapis.com |
Application Integration |
integrations.googleapis.com |
Artifact Analysis |
containeranalysis.googleapis.com ondemandscanning.googleapis.com |
Artifact Registry |
artifactregistry.googleapis.com |
Assured Open Source Software |
assuredoss.googleapis.com |
Assured Workloads |
assuredworkloads.googleapis.com |
Audit Manager |
auditmanager.googleapis.com |
Authorization Toolkit API |
authztoolkit.googleapis.com |
批量 |
batch.googleapis.com |
Chrome 企业进阶版 |
beyondcorp.googleapis.com |
BigLake |
biglake.googleapis.com |
BigQuery |
bigquery.googleapis.com |
BigQuery 连接 |
bigqueryconnection.googleapis.com |
BigQuery 数据政策 |
bigquerydatapolicy.googleapis.com |
BigQuery Data Transfer |
bigquerydatatransfer.googleapis.com |
BigQuery 迁移 |
bigquerymigration.googleapis.com |
BigQuery Reservation |
bigqueryreservation.googleapis.com |
BigQuery 已保存的查询 API |
bigquery-sq.googleapis.com |
BigQuery 存储 |
bigquerystorage.googleapis.com |
Bigtable |
bigtable.googleapis.com bigtableadmin.googleapis.com |
Binary Authorization |
binaryauthorization.googleapis.com |
区块链分析 |
blockchain.googleapis.com |
Blockchain Node Engine |
blockchainnodeengine.googleapis.com |
Blockchain Validator Manager |
blockchainvalidatormanager.googleapis.com |
容量规划工具 |
capacityplanner.googleapis.com |
Certificate Authority Service |
privateca.googleapis.com |
Certificate Manager |
certificatemanager.googleapis.com |
Cloud Asset Inventory |
cloudasset.googleapis.com |
Cloud Build |
cloudbuild.googleapis.com |
Cloud CDN |
compute.googleapis.com |
Cloud Commerce Producer API |
cloudcommerceproducer.googleapis.com |
Cloud Composer |
composer.googleapis.com |
Cloud Controls Partner API |
cloudcontrolspartner.googleapis.com |
Cloud DNS |
dns.googleapis.com |
Cloud Data Fusion |
datafusion.googleapis.com |
Cloud Deployment Manager |
runtimeconfig.googleapis.com deploymentmanager.googleapis.com |
Cloud Domains |
domains.googleapis.com |
Cloud Healthcare API |
healthcare.googleapis.com |
Cloud Interconnect |
compute.googleapis.com |
Cloud Intrusion Detection System |
ids.googleapis.com |
Cloud Key Management Service |
cloudkms.googleapis.com |
Cloud Life Sciences |
lifesciences.googleapis.com |
Cloud Load Balancing |
compute.googleapis.com |
Cloud Logging |
logging.googleapis.com |
Cloud Monitoring |
monitoring.googleapis.com |
Cloud NAT |
compute.googleapis.com |
Cloud Natural Language API |
language.googleapis.com |
Cloud 新一代防火墙基本功能版 |
compute.googleapis.com networksecurity.googleapis.com |
Cloud 新一代防火墙标准版 |
compute.googleapis.com networksecurity.googleapis.com |
Cloud OS Login API |
oslogin.googleapis.com |
Cloud Router |
compute.googleapis.com |
Cloud Run |
run.googleapis.com |
Cloud SQL |
sqladmin.googleapis.com |
Cloud Service Mesh |
meshconfig.googleapis.com networksecurity.googleapis.com |
Cloud Support API |
cloudsupport.googleapis.com |
Cloud Tool Results API |
toolresults.googleapis.com |
Cloud VPN |
compute.googleapis.com |
Cloud Workstations |
workstations.googleapis.com |
Commerce Agreement Publishing API |
commerceagreementpublishing.googleapis.com |
Commerce Business Enablement API |
commercebusinessenablement.googleapis.com |
Commerce Price Management API |
commercepricemanagement.googleapis.com |
Compute Engine |
compute.googleapis.com |
机密计算 |
confidentialcomputing.googleapis.com |
连接 |
gkeconnect.googleapis.com |
Connect 网关 |
connectgateway.googleapis.com |
Contact Center AI 平台 API |
contactcenteraiplatform.googleapis.com |
Container Threat Detection |
containerthreatdetection.googleapis.com |
Content Warehouse API |
contentwarehouse.googleapis.com |
Continuous Validation API |
continuousvalidation.googleapis.com |
Data Labeling API |
datalabeling.googleapis.com |
Data Security Posture Management API |
dspm.googleapis.com |
数据库迁移服务 |
datamigration.googleapis.com |
Dataflow |
dataflow.googleapis.com |
Dataproc on GDC |
dataprocgdc.googleapis.com |
Google Distributed Cloud |
opsconfigmonitoring.googleapis.com gdcvmmanager.googleapis.com gdchardwaremanagement.googleapis.com |
Distributed Cloud Edge Container API |
edgecontainer.googleapis.com |
Distributed Cloud Edge Network API |
edgenetwork.googleapis.com |
Enterprise Knowledge Graph |
enterpriseknowledgegraph.googleapis.com |
Error Reporting |
clouderrorreporting.googleapis.com |
重要联系人 |
essentialcontacts.googleapis.com |
Eventarc |
eventarc.googleapis.com |
Filestore |
file.googleapis.com |
Financial Services API |
financialservices.googleapis.com |
Firebase App Hosting |
firebaseapphosting.googleapis.com |
Firebase Data Connect |
firebasedataconnect.googleapis.com |
Firebase 安全规则 |
firebaserules.googleapis.com |
GKE Dataplane Management |
gkedataplanemanagement.googleapis.com |
GKE Enterprise Edge API |
anthosedge.googleapis.com |
GKE Multi-Cloud |
gkemulticloud.googleapis.com |
GKE On-Prem API |
gkeonprem.googleapis.com |
Gemini for Google Cloud API |
cloudaicompanion.googleapis.com |
Google Cloud API |
cloud.googleapis.com |
Google Cloud Armor |
compute.googleapis.com |
Google Cloud Migration Center |
migrationcenter.googleapis.com |
Google Cloud Observability |
stackdriver.googleapis.com |
Google Kubernetes Engine |
container.googleapis.com configdelivery.googleapis.com |
Google Security Operations SIEM |
chronicle.googleapis.com chronicleservicemanager.googleapis.com |
Google Security Operations Partner API |
chroniclepartner.googleapis.com |
Google Workspace 插件 |
gsuiteaddons.googleapis.com |
Identity and Access Management |
iam.googleapis.com |
Identity-Aware Proxy |
iap.googleapis.com |
Immersive Stream |
stream.googleapis.com |
Infrastructure Manager |
config.googleapis.com |
Integration Connectors |
connectors.googleapis.com |
KRM API Hosting |
krmapihosting.googleapis.com |
Live Stream API |
livestream.googleapis.com |
适用于 Apache Flink 的 BigQuery 引擎 |
managedflink.googleapis.com |
Managed Kafka API |
managedkafka.googleapis.com |
Media Asset Manager |
mediaasset.googleapis.com |
Memorystore for Memcached |
memcache.googleapis.com |
Memorystore for Redis |
redis.googleapis.com |
Message Streams API |
messagestreams.googleapis.com |
Microservices API |
microservices.googleapis.com |
Model Armor |
modelarmor.googleapis.com |
Network Connectivity Center |
networkconnectivity.googleapis.com |
Network Intelligence Center |
networkmanagement.googleapis.com |
Network Service Tiers |
compute.googleapis.com |
Persistent Disk |
compute.googleapis.com |
Oracle Database@Google Cloud |
oracledatabase.googleapis.com |
Parallelstore |
parallelstore.googleapis.com |
Policy Analyzer |
policyanalyzer.googleapis.com |
政策问题排查工具 |
policytroubleshooter.googleapis.com |
渐进式发布 |
progressiverollout.googleapis.com |
Pub/Sub |
pubsub.googleapis.com |
Public Certificate Authority 机构 |
publicca.googleapis.com |
Recommender |
recommender.googleapis.com |
Remote Build Execution |
remotebuildexecution.googleapis.com |
Retail API |
retail.googleapis.com |
网络保险中心 |
riskmanager.googleapis.com |
SaaS Service Management API |
saasservicemgmt.googleapis.com |
SecLM API |
seclm.googleapis.com |
Secret Manager |
secretmanager.googleapis.com |
Security Command Center |
securitycenter.googleapis.com securitycentermanagement.googleapis.com securityposture.googleapis.com |
Cloud Data Loss Prevention |
dlp.googleapis.com |
Service Account Credentials API |
iamcredentials.googleapis.com |
Service Directory |
servicedirectory.googleapis.com |
Service Networking |
servicenetworking.googleapis.com |
Spanner |
spanner.googleapis.com |
Speaker ID |
speakerid.googleapis.com |
Speech-to-Text |
speech.googleapis.com |
存储空间分析 |
storageinsights.googleapis.com |
Storage Transfer Service |
storagebatchoperations.googleapis.com |
Text-to-Speech |
texttospeech.googleapis.com |
Timeseries Insights API |
timeseriesinsights.googleapis.com |
Transcoder API |
transcoder.googleapis.com |
Transfer Appliance |
transferappliance.googleapis.com |
虚拟机管理器 |
osconfig.googleapis.com |
Vertex AI API |
aiplatform.googleapis.com |
Vertex AI Workbench |
notebooks.googleapis.com |
Vertex AI in Firebase |
firebasevertexai.googleapis.com |
Virtual Private Cloud (VPC) |
compute.googleapis.com |
Video Search API |
cloudvideosearch.googleapis.com |
Video Stitcher API |
videostitcher.googleapis.com |
Web Risk |
webrisk.googleapis.com |
Web Security Scanner |
websecurityscanner.googleapis.com |
Workflows |
workflows.googleapis.com |
Workload Certificate API |
workloadcertificate.googleapis.com |
不支持的服务
“限制 TLS 加密套件”组织政策限制条件不适用于以下服务:
- App Engine (
*.appspot.com
) - Cloud Run 函数 (
*.cloudfunctions.net
) - Cloud Run (
*.run.app
) - Private Service Connect
- 自定义网域
如需限制这些服务的 TLS 加密套件,请将 Cloud Load Balancing 与 SSL 安全政策搭配使用。
Google Cloud cipher suite preference
受支持的服务的端点优先使用 AES-256,其次是 AES-128,最后是 ChaCha20。支持 AES-256 的客户端应能成功协商到该算法,而无需更改任何配置。