密钥加密服务设置
MinIO Server 提供三组环境变量,用于管理 MinIO Server 与 Key Encryption Service (KES)、Key Management Service (KMS) 或静态密钥文件的交互方式。 这三组中只能定义一组。 如果定义了多种类型的环境变量组,MinIO 会返回错误。
说明
这些设置不支持通过 mc admin config set 进行配置。
在启动或重启 MinIO 进程之前,请在宿主系统中定义其中任意一组环境变量。 有关如何定义环境变量,请参考操作系统文档。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
Key Encryption Service
定义以下变量以使用 Key Encryption Service (KES) 连接到 受支持的第三方 Key Management Service 提供商。
MINIO_KMS_KES_ENDPOINT
envvar
MinIO Key Encryption Service (KES) 进程用于支持 SSE-S3 和 MinIO 后端加密操作的 endpoint。 多个 KES endpoint 使用 , 分隔。
MINIO_KMS_KES_KEY_NAME
envvar
KES 服务器上配置的 Key Management system (KMS) 中外部密钥名称,用于执行加密和解密操作。 MinIO 将此密钥用于以下用途:
重要
在 MinIO 部署上启用 SSE 后, 会自动使用默认加密密钥对该部署的后端数据进行加密。
MinIO 必须能够访问 KES 和外部 KMS, 才能解密后端并正常启动。 KMS 必须维护并提供对 MINIO_KMS_KES_KEY_NAME 的访问。 之后你不能再禁用 KES, 也不能在后续“撤销”该 SSE 配置。
MINIO_KMS_KES_API_KEY
envvar
使用通过 kes identity new 命令获取的 KES API key 与加密服务进行身份认证的首选方式。
此环境变量与 MINIO_KMS_KES_KEY_FILE 和 MINIO_KMS_KES_CERT_FILE 环境变量互斥。
MINIO_KMS_KES_KEY_FILE
envvar
与 MINIO_KMS_KES_CERT_FILE x.509 证书关联的私钥,用于向 KES 服务器进行身份认证。 KES 服务器要求客户端提供证书以执行 mutual TLS (mTLS)。
有关 KES 访问控制的完整文档,请参见 KES wiki。
还必须设置 MINIO_KMS_KES_CERT_FILE。 此变量与 MINIO_KMS_KES_API_KEY 互斥。
MINIO_KMS_KES_CERT_FILE
envvar
提供给 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_KMS_KES_CAPATH
envvar
Optional
允许使用自签名或第三方 CA 验证 KES 服务器证书。 指定 KES 部署所使用的 CA 证书路径。
如果使用公共证书颁发机构,则不需要此变量。
MINIO_KMS_KES_KEY_PASSWORD
envvar
Optional
用于加密和解密 TLS 私钥的密码(如果使用)。
MinIO Key Management Server (KMS)
定义以下变量以使用 MinIO KMS 管理密钥。
MINIO_KMS_SERVER
envvar
MinIO Key Management Service (KMS) 进程用于支持 SSE-S3 和 MinIO 后端加密操作的 endpoint。 多个 KMS endpoint 使用 , 分隔。
MINIO_KMS_ENCLAVE
envvar
密钥和身份所在的 MinIO KMS Enclave。
MINIO_KMS_SSE_KEY
envvar
当调用未指定密钥身份时,用于 SSE-S3 加密的默认密钥。
MINIO_KMS_API_KEY
envvar
用于向 MinIO KMS 服务进行身份认证的凭据。
静态密钥文件
警告
这些设置用于在不依赖外部 KMS 的情况下,对对象服务端加密进行早期开发和评估。 不要在长期开发、QA 或生产环境中使用这些设置。 关于如何使用 MinIO Key Encryption Service (KES) 和外部 KMS 部署 SSE,请参见 使用 KES 进行服务端对象加密。
提供静态 KMS 密钥或密钥文件用于加密。
MINIO_KMS_SECRET_KEY
envvar
静态 KMS 密钥的 base64 形式,格式为 <key-name>:<base64-32byte-key>。 实现了部分 KMS API。
MINIO_KMS_SECRET_KEY_FILE
envvar
读取静态 KMS 密钥的文件路径。
本页部分内容改编自 MinIO 对象存储文档,© 2020–至今 MinIO, Inc.,依据 CC BY 4.0 授权,由 Silo 项目转换与维护。归属与署名
本页为非官方中文翻译。如与英文原文有出入,以英文原文为准。