密钥加密服务设置
MinIO Server 提供三组环境变量,用于管理 MinIO Server 与 Key Encryption Service (KES)、Key Management Service (KMS) 或静态密钥文件的交互方式。 这三组中只能定义一组。 如果定义了多种类型的环境变量组,MinIO 会返回错误。
Note
这些设置不支持通过 mc admin config set 进行配置。
在启动或重启 MinIO 进程之前,请在宿主系统中定义其中任意一组环境变量。 有关如何定义环境变量,请参考操作系统文档。
Important
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
Key Encryption Service
定义以下变量以使用 Key Encryption Service (KES) 连接到 受支持的第三方 Key Management Service 提供商。
- MINIO_KMS_KES_ENDPOINT
MinIO Key Encryption Service (KES) 进程用于支持 SSE-S3 和 MinIO 后端加密操作的 endpoint。 多个 KES endpoint 使用
,分隔。
- MINIO_KMS_KES_KEY_NAME
KES 服务器上配置的 Key Management system (KMS) 中外部密钥名称,用于执行加密和解密操作。 MinIO 将此密钥用于以下用途:
Important
在 MinIO 部署上启用 SSE 后, 会自动使用默认加密密钥对该部署的后端数据进行加密。
MinIO 必须能够访问 KES 和外部 KMS, 才能解密后端并正常启动。 KMS 必须维护并提供对
MINIO_KMS_KES_KEY_NAME的访问。 之后你不能再禁用 KES, 也不能在后续“撤销”该 SSE 配置。
- MINIO_KMS_KES_API_KEY
使用通过 kes identity new 命令获取的 KES API key 与加密服务进行身份认证的首选方式。
此环境变量与
MINIO_KMS_KES_KEY_FILE和MINIO_KMS_KES_CERT_FILE环境变量互斥。
- MINIO_KMS_KES_KEY_FILE
与
MINIO_KMS_KES_CERT_FILEx.509 证书关联的私钥,用于向 KES 服务器进行身份认证。 KES 服务器要求客户端提供证书以执行 mutual TLS (mTLS)。有关 KES 访问控制的完整文档,请参见 KES wiki。
还必须设置
MINIO_KMS_KES_CERT_FILE。 此变量与MINIO_KMS_KES_API_KEY互斥。
- MINIO_KMS_KES_CERT_FILE
提供给 KES 服务器的 x.509 证书。 KES 服务器要求客户端提供证书以执行 mutual TLS (mTLS)。
KES 服务器会根据证书计算 identity,并将其与已配置策略进行比对。 KES 服务器仅向
minio服务器授予策略中明确允许的操作访问权限。有关 KES 访问控制的完整文档,请参见 KES wiki。
还必须设置
MINIO_KMS_KES_KEY_FILE。 此变量与MINIO_KMS_KES_API_KEY互斥。
MinIO Key Management Server (KMS)
定义以下变量以使用 MinIO KMS 管理密钥。
静态密钥文件
Warning
这些设置用于在不依赖外部 KMS 的情况下,对对象服务端加密进行早期开发和评估。 不要在长期开发、QA 或生产环境中使用这些设置。 关于如何使用 MinIO Key Encryption Service (KES) 和外部 KMS 部署 SSE,请参见 使用 KES 进行服务端对象加密。
提供静态 KMS 密钥或密钥文件用于加密。