中文文档

服务器端对象加密

MinIO Server-Side Encryption (SSE)在写操作期间保护对象,允许客户端利用服务器处理能力在存储层(即静态加密)保护对象。 SSE还为监管和合规要求提供了关键功能,包括安全锁定和擦除。

MinIO SSE 使用 MinIO Key Encryption Service (KES) 和外部密钥管理服务 (KMS) 来执行大规模的安全加密操作。 MinIO 还支持客户端管理的密钥管理,在这种模式下,应用程序完全负责创建和管理用于 MinIO SSE 的加密密钥。

MinIO SSE 与 AWS 服务器端加密 的功能和 API 兼容,并支持以下加密策略:

MinIO 支持使用存储在外部 KMS 上的特定外部密钥(EK)启用对写入桶中所有对象的自动 SSE-KMS 加密。 客户端可以通过在写操作中指定一个显式的密钥来覆盖桶默认的 EK

对于没有自动 SSE-KMS 加密的桶,客户端可以在写操作中指定一个 EK

MinIO 在启用服务器端加密时会加密后端数据。 一旦启用了SSE-KMS加密,就不能禁用。

SSE-KMS 提供了比 SSE-S3 和 SSE-C 更细粒度和可定制的加密选项,并且建议使用其他支持的加密方法。

有关在本地(非生产)MinIO 部署中启用 SSE-KMS 的教程,请参阅 快速开始。 对于生产环境的 MinIO 部署,请使用以下指南之一:

MinIO 支持使用 EK 对写入存储桶的所有对象启用自动 SSE-S3 加密 存储在外部 KMS 上。 MinIO SSE-S3 支持 一个 EK 对于整个部署。

对于没有自动 SSE-S3 加密的存储桶,客户端可以请求 SSE 加密作为写入操作的一部分。

MinIO 在启用服务器端加密时会加密后端数据。 一旦启用了SSE-KMS加密,就不能禁用。

有关在本地(非生产)MinIO 部署中启用 SSE-s3 的教程, 请阅读 快速开始。 对于生产 MinIO 部署,请使用以下指南之一:

客户端指定 EK 作为对象写入操作的一部分。 MinIO 使用指定的 EK 执行SSE-S3。

SSE-C不支持Bucket-Default加密设置, 并要求客户执行所有密钥管理操作。

MinIO SSE功能开启必须要使用 网络加密(TLS).

安全纠删码和锁定

MinIO 需要访问加密密钥 (EK) 外部密钥管理 系统 (KMS) 用作 SSE 操作的一部分来解密对象。 您可以使用 通过禁用这种依赖关系来安全地擦除和锁定对象以使其无法访问 访问用于加密的 EK 或 KMS。

一般策略包括但不限于:

  • 密封 KMS 这样 MinIO 服务器就无法再访问它了。 这将锁定受任何 EK 保护的所有 SSE-KMS 或 SSE-S3 加密对象。 存储在 KMS 上。 只要 KMS 保持密封状态, 加密的对象就保持不可读。

  • 密封/卸载|EK|。 这将锁定受该 EK 保护的所有 SSE-KMS 或 SSE-S3 加密对象。 只要 CMK(s) 保持密封状态,加密对象就保持不可读。

  • 删除 EK。 这使得受该 EK 保护的所有 SSE-KMS 或 SSE-S3 加密对象永久不可读。 删除 EK 和删除数据的组合可以满足有关数据安全删除的监管要求。

    删除 EK 通常是不可逆的。 在有意删除主密钥之前要格外小心。

了解更多信息请查看:

Join Slack 商业支持购买咨询