批量密钥轮换
新增于版本 MinIO: RELEASE.2023-04-07T05-28-58Z
MinIO 批量框架允许您使用 YAML 格式的作业定义文件(“批处理文件”)创建、管理、监控和执行作业。批处理作业直接在 MinIO 部署上运行,以利用服务器端处理能力,而无需您运行 MinIO 客户端 的本地机器的限制。
该 keyrotate
批处理作业类型循环 MinIO 部署上加密对象的 sse-s3 或 sse-kms 密钥。
YAML 配置支持过滤器,以通过创建日期、标签、元数据或 kms 密钥将密钥轮换限制为特定的一组对象。您还可以定义重试次数,或设置通知端点和令牌。
密钥轮换批量作业参考
新增于版本 MinIO: RELEASE.2023-04-07T05-28-58Z
使用 keyrotate
作业类型来创建一个批处理作业,该作业循环 sse-s3 或 sse-kms 密钥 用于加密对象。
必需字段
类型
要么是
sse-s3
或者是sse-kms
。
密钥
仅用于
sse-kms
类型。用于解封密钥库的密钥。
上下文
仅用于
sse-kms
类型。在其中执行操作的上下文。
可选字段
对于 **基于标志的过滤器**
|
一个表示 密钥仅针对比指定时间长度更新的对象进行轮换。例如, |
|
一个表示 密钥仅针对比指定时间长度更旧的对象进行轮换。 |
|
一个 密钥仅针对创建日期晚于该日期的对象进行轮换。 |
|
一个 密钥仅针对创建日期早于该日期的对象进行轮换。 |
|
仅针对具有与指定的 |
|
仅针对具有与指定的 |
|
仅针对具有与指定值匹配的 KMS 密钥 ID 的对象进行轮换密钥。这仅适用于 |
对于 **通知**
|
发送通知事件的预定义端点。 |
|
一个可选的 JSON Web 令牌 (JWT),用于访问 |
对于 **重试次数**
如果某些事件中断作业,您可以定义最大重试次数。对于每次重试,您还可以定义在每次尝试之间等待多长时间。
|
在放弃之前完成批处理作业的尝试次数。 |
|
每次尝试之间等待的时间长度。 |
用于 keyrotate
作业类型的示例 YAML 描述文件
使用 mc batch generate
创建一个基本的 keyrotate
批量作业,以供进一步定制。
keyrotate:
apiVersion: v1
bucket: BUCKET
prefix: PREFIX
encryption:
type: sse-s3 # valid values are sse-s3 and sse-kms
key: <new-kms-key> # valid only for sse-kms
context: <new-kms-key-context> # valid only for sse-kms
# optional flags based filtering criteria
# for all objects
flags:
filter:
newerThan: "7d" # match objects newer than this value (e.g. 7d10h31s)
olderThan: "7d" # match objects older than this value (e.g. 7d10h31s)
createdAfter: "date" # match objects created after "date"
createdBefore: "date" # match objects created before "date"
tags:
- key: "name"
value: "pick*" # match objects with tag 'name', with all values starting with 'pick'
metadata:
- key: "content-type"
value: "image/*" # match objects with 'content-type', with all values starting with 'image/'
kmskey: "key-id" # match objects with KMS key-id (applicable only for sse-kms)
notify:
endpoint: "https://notify.endpoint" # notification endpoint to receive job status events
token: "Bearer xxxxx" # optional authentication token for the notification endpoint
retry:
attempts: 10 # number of retries for the job before giving up
delay: "500ms" # least amount of delay between each retry