入门指南
本快速入门指南将展示如何设置一个本地KES服务器,该服务器将密钥存储在内存中。
快速入门
对于快速开发测试服务器,请使用
kes server --dev
这将启动一个KES服务器127.0.0.1:7373并将密钥存储在内存中。
-
安装 KES 二进制文件
您可以通过以下方式安装 KES 二进制文件:
- 下载预编译版本二进制版本
- 拉取Docker图像
- 发出一个Homebrew命令
- 从源代码编译源使用你的 Go 工具链
请根据您要使用的方法选择下方的选项卡。
通过在提示符或终端中运行以下命令来确认命令的可用性:
kes --help您可能需要根据您的操作系统结构和PATH调整命令,例如使用
./kes --help. -
生成 KES 服务器私钥和证书
为 KES 服务器生成 TLS 私钥和证书。 该密钥用于域名验证。
KES服务器是默认安全并且只能通过 TLS 运行。 在本指南中,为简化操作,我们使用自签名证书。
以下命令生成一个新的 TLS 私钥(
private.key) 和一个自签名的 X.509 证书 (public.crt) 为该 IP 地址签发127.0.0.1和 DNS 名称localhost:$ kes identity new --ip "127.0.0.1" --key "private.key" --cert "public.crt" localhost Private key: private.key Certificate: public.crt Identity: 2e897f99a779cf5dd147e58de0fe55a494f546f4dcae8bc9e5426d2b5cd35680现有密钥与证书如果你已经有 TLS 私钥和证书,例如来自 WebPKI 或内部证书颁发机构的证书,你可以直接使用它们。 请记得调整tls配置部分。 -
生成客户端凭据
客户端应用程序需要凭据才能访问KES服务器。 从客户端的密钥和证书生成API密钥,以向KES服务器验证客户端应用程序。
以下命令生成一个新的TLS私钥/公钥对
MyApp:$ kes identity new --key=client.key --cert=client.crt MyApp Private key: client.key Certificate: client.crt Identity: 02ef5321ca409dbc7b10e7e8ee44d1c3b91e4bf6e2198befdebee6312745267b身份
02ef5321ca409dbc7b10e7e8ee44d1c3b91e4bf6e2198befdebee6312745267b是公钥的唯一指纹client.crt您可以随时重新计算指纹:$ kes identity of client.crt Identity: 02ef5321ca409dbc7b10e7e8ee44d1c3b91e4bf6e2198befdebee6312745267b -
配置 KES 服务器
创建 KES 服务器配置文件:
config.yml确保身份在policysection 与您的匹配client.crt身份。address: 0.0.0.0:7373 # Listen on all network interfaces on port 7373 admin: identity: 02ef5321ca409dbc7b10e7e8ee44d1c3b91e4bf6e2198befdebee6312745267b # The client.crt identity tls: key: private.key # The KES server TLS private key cert: public.crt # The KES server TLS certificate -
启动 KES 服务器
启动 KES 服务器实例:
kes server --config config.yml
KES CLI 访问
-
Set
KES_SERVER端点此变量告知 KES CLI 要访问哪个 KES 服务器。
export KES_SERVER=https://127.0.0.1:7373 -
使用客户端凭据
这些变量告诉 KES CLI 使用哪些凭据来访问 KES 服务器。
export KES_CLIENT_CERT=client.crtexport KES_CLIENT_KEY=client.key -
执行操作
现在,我们可以执行任何 API 操作。 由于我们使用的是管理员身份,因此无需担心策略权限问题。
kes key create my-key-1然后,我们可以使用该密钥生成新的数据加密密钥:
$ kes key dek my-key-1 { plaintext : UGgcVBgyQYwxKzve7UJNV5x8aTiPJFoR+s828reNjh0= ciphertext: eyJhZWFkIjoiQUVTLTI1Ni1HQ00tSE1BQy1TSEEtMjU2IiwiaWQiOiIxMTc1ZjJjNDMyMjNjNjNmNjY1MDk5ZDExNmU3Yzc4NCIsIml2IjoiVHBtbHpWTDh5a2t4VVREV1RSTU5Tdz09Iiwibm9uY2UiOiJkeGl0R3A3bFB6S21rTE5HIiwiYnl0ZXMiOiJaaWdobEZrTUFuVVBWSG0wZDhSYUNBY3pnRWRsQzJqWFhCK1YxaWl2MXdnYjhBRytuTWx0Y3BGK0RtV1VoNkZaIn0= }
升级 KES
要升级 KES,请按照入门步骤操作,并在每个 KES 服务器节点上用新版本替换 KES 二进制文件。
2024-02-29T08-12-28Z或更高版本。
MinIO 建议在生产环境升级前,始终在较低层级的环境(如预发布或开发环境)中进行测试。