# 数据加密（SSE）

LLMS 索引： [llms.txt](/zh/llms.txt)

---

<a id="sse"></a>
<a id="minio-sse-data-encryption"></a>

MinIO Server-Side Encryption (SSE) 在对象写入过程中为其提供保护， 使客户端能够利用服务端的处理能力， 在存储层实现对象静态加密（encryption-at-rest）。 SSE 还为围绕安全锁定和擦除的监管与合规要求提供关键能力。

MinIO SSE 使用 [MinIO Key Encryption Service (KES)](https://github.com/minio/kes) 和外部 Key Management Service (KMS)， 以大规模执行安全的密码学操作。 MinIO 还支持由客户端管理密钥的模式， 在这种模式下，应用程序完全负责创建和管理供 MinIO SSE 使用的加密密钥。

MinIO 支持将以下 <abbr title="Key Management System">KMS</abbr> 作为中心密钥存储：

- [HashiCorp KeyVault](/zh/operations/server-side-encryption/configure-minio-kes/#minio-sse-vault)
- [AWS SecretsManager](/zh/operations/server-side-encryption/configure-minio-kes/#minio-sse-aws)
- [Google Cloud SecretManager](/zh/operations/server-side-encryption/configure-minio-kes/#minio-sse-gcp)
- [Azure Key Vault](/zh/operations/server-side-encryption/configure-minio-kes/#minio-sse-azure)
- [Fortanix SDKMS](https://github.com/minio/kes/wiki/Fortanix-SDKMS)
- [Thales Digital Identity and Security (formerly Gemalto)](https://github.com/minio/kes/wiki/Gemalto-KeySecure)

MinIO SSE 需要启用 [网络加密（TLS）](/zh/operations/network-encryption/#minio-tls)。

## 支持的加密类型 {#id2}

MinIO SSE 在功能和 API 上兼容 [AWS Server-Side Encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/server-side-encryption.html)， 并支持以下加密策略：

**SSE\-KMS Recommended**

MinIO 支持使用存储在外部 <abbr title="Key Management System">KMS</abbr> 中的特定 External Key (EK)， 对写入某个存储桶的所有对象自动启用 SSE-KMS 加密。 客户端可以在写入操作中显式指定密钥， 以覆盖存储桶默认使用的 <abbr title="External Key">EK</abbr>。

对于未启用自动 SSE-KMS 加密的存储桶， 客户端也可以在写入操作中指定 <abbr title="External Key">EK</abbr>。

启用服务端加密时，MinIO 也会加密后端数据。 SSE-KMS 一旦启用便无法禁用。

相比 SSE-S3 和 SSE-C， SSE-KMS 提供更细粒度、可定制性更强的加密能力， 因此推荐优先使用。

关于如何在本地（非生产）MinIO 部署中启用 SSE-KMS， 请参见 [快速开始](/zh/administration/server-side-encryption/server-side-encryption-sse-kms/#minio-encryption-sse-kms-quickstart)。

**SSE\-S3**

MinIO 支持使用存储在外部 <abbr title="Key Management System">KMS</abbr> 中的 <abbr title="External Key">EK</abbr>， 对写入某个存储桶的所有对象自动启用 SSE-S3 加密。 MinIO SSE-S3 在整个部署范围内仅支持 *一个* <abbr title="External Key">EK</abbr>。

对于未启用自动 SSE-S3 加密的存储桶， 客户端也可以在写入操作中请求使用 SSE 加密。

启用服务端加密时，MinIO 也会加密后端数据。 SSE-KMS 一旦启用便无法禁用。

关于如何在本地（非生产）MinIO 部署中启用 SSE-S3， 请参见 [快速开始](/zh/administration/server-side-encryption/server-side-encryption-sse-s3/#minio-encryption-sse-s3-quickstart)。

**SSE\-C**

客户端在对象写入操作中指定 <abbr title="External Key">EK</abbr>。 MinIO 使用指定的 <abbr title="External Key">EK</abbr> 执行 SSE-S3。

SSE-C 不支持存储桶默认加密设置， 并要求客户端自行执行全部密钥管理操作。

---

本节页面：

- [使用 KES 进行服务端对象加密](/zh/operations/server-side-encryption/configure-minio-kes/): 为 Silo 部署服务端对象加密
