
# 限制TLS版本以保护通信安全
#### 使用场景
OBS广泛应用于企业数据存储、备份、静态网站托管、视频点播等场景，客户端与OBS之间的数据传输过程依赖TLS协议实现加密防护，保障数据传输安全。OBS支持多个TLS版本（包括TLS 1.0、TLS 1.1、TLS1.2、TLS1.3），同时支持使用桶策略限制访问OBS的TLS版本。
#### 背景介绍
在进行TLS相关配置操作前，您可能需要了解TLS及其版本的相关知识。
TLS（传输层安全协议）是一种用于加密网络通信、保障数据机密性与完整性，并验证通信双方身份的标准化安全协议。如[表1]所示，不同TLS版本在安全特性和应用场景上存在差异，TLS协议本身默认优先使用高版本进行TLS版本协商。
 表1TLS版本介绍 
| 协议      | 适用场景                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|
| TLS 1.0 | TLS 1.0和TLS 1.1存在安全漏洞，不推荐广泛使用，建议升级到更安全的TLS版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| TLS 1.1 | TLS 1.0和TLS 1.1存在安全漏洞，不推荐广泛使用，建议升级到更安全的TLS版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| TLS 1.2 | 主流的安全通信协议，应用于大多数常规的网络数据传输场景，包括网站访问、电商交易、电子邮件等。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| TLS 1.3 | 应用于对安全性、性能有较高要求场景，比如移动端APP通信、视频会议、实时支付，也适用于政府机构、大型互联网平台等对数据安全有严格要求的领域。 TLS1.3支持的加密套件: - TLS_AES_128_GCM_SHA256  - TLS_AES_256_GCM_SHA384  - TLS_CHACHA20_POLY1305_SHA256   |
   
#### 注意事项
![](https://support.huaweicloud.com/usermanual-obs/public_sys-resources/caution_3.0-zh-cn.png)
当前功能仅部分区域支持（例如西南-贵阳一等），具体支持情况以控制台实际展示为准。
- 并行文件系统不支持配置 TlsVersion 条件键约束客户端请求使用的 TLS 协议版本。
- 如果客户端使用控制台、SDK、OBS Browser+ 访问，约束 TLS 协议版本时需至少允许 1.2 版本的 TLS 协议访问，否则请求会被拒绝。注意，用户通过控制台访问时，不会携带用户原始链接的 TLS 协议版本，OBS感知到的是控制台系统使用的 TLS 协议版本。
- TlsVersion可以应用于桶策略和IAM策略，不能应用于VPCEP终端节点策略。
- getBucketLocation（获取桶区域位置）接口不支持通过 TlsVersion 约束请求。
- 如果您的自定义域名绑定了国密证书，那么基于国密证书的访问请求不支持桶策略、IAM策略、VPC策略使用TlsVersion条件键进行访问控制。
 
#### 使用桶策略限制TLS版本
为了增强安全性，您可以根据业务场景需要，使用桶策略中的TlsVersion条件键限制请求的TLS协议版本。
以下桶策略示例展示了如何使用TlsVersion条件键拒绝TLS版本低于1.2的请求（其中"YourBucketName"是您的桶名，请根据实际情况替换）：
```
{
    "Sid": "TLSTest01",
    "Effect": "Deny",
    "Principal": {
        "ID": [
            "*"
        ]
    },
    "Action": [
        "*",
        "Get*",
        "Put*",
        "List*"
    ],
    "Resource": [
        "YourBucketName",
        "YourBucketName/*"
    ],
    "Condition": {
        "NumericLessThan": {
            "TlsVersion": [
                "1.2"
            ]
        }
    }
}
```
以下桶策略示例展示了如何使用TlsVersion条件键允许TLS版本高于1.1的请求（其中"YourBucketName"是您的桶名，请根据实际情况替换）：
```
{
    "Sid": "TLSTest02",
    "Effect": "Allow",
    "Principal": {
        "ID": [
            "*"
        ]
    },
    "Action": [
        "*",
        "Get*",
        "Put*",
        "List*"
    ],
    "Resource": [
        "YourBucketName",
        "YourBucketName/*"
    ],
    "Condition": {
        "NumericGreaterThan": {
            "TlsVersion": [
                "1.1"
            ]
        }
    }
}
```
#### 相关文档
了解更多桶策略相关详情请参见[桶策略](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0004.html)，了解更多桶策略条件键请参见[桶策略参数说明](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0041.html)。
