批量密钥轮换
MinIO 版本新增功能:RELEASE.2023-04-07T05-28-58Z
MinIO批处理框架允许您使用YAML格式的作业定义文件(即“批处理文件”)来创建、管理、监控和执行作业。批处理作业直接在MinIO部署上运行,充分利用服务端处理能力,不受本地运行机器的资源限制。MinIO 客户端.
Thekeyrotate批处理作业类型循环SSE-S3 或 SSE-KMS 密钥对于MinIO部署中的加密对象。
YAML配置支持通过过滤器,依据创建日期、标签、元数据或KMS密钥来限定密钥轮换的对象范围。 您还可定义重试次数,或设置通知端点及令牌。
密钥轮换批处理作业参考
MinIO 版本新增功能:RELEASE.2023-04-07T05-28-58Z
使用keyrotate作业类型:创建一个循环执行的批处理作业SSE-S3 或 SSE-KMS 密钥对于加密对象。
必填字段
type:要么
sse-s3orsse-kms.
key:仅限与
sse-kms类型。 用于解封密钥保管库的密钥。
可选字段
对于基于标志的过滤器
|
表示时间长度的字符串 密钥仅对指定时长内新创建的对象进行轮换。
例如, |
|
表示时间长度的字符串 密钥仅对超过指定时长的对象进行轮换。 |
|
一个日期在 密钥仅对在此日期之后创建的对象进行轮换。 |
|
一个日期在 密钥仅对在此日期之前创建的对象进行轮换。 |
|
仅限与 |
|
仅对标签与指定条件匹配的对象进行密钥轮换 |
|
仅对元数据匹配指定条件的对象进行密钥轮换 |
|
仅对具有与指定值匹配的KMS密钥ID的对象进行密钥轮换。
这仅适用于 |
对于通知
|
用于发送通知事件的预定义端点。 |
|
一个可选的JSON Web令牌(JWT)用于访问 |
对于重试次数
如果任务执行被中断,您可以定义最大重试次数。 每次重试时,您还可以定义两次尝试之间的等待时长。
|
在放弃前完成批处理作业的尝试次数。 |
|
每次尝试之间的等待时间。 |
一个示例 YAML 描述文件keyrotate职位类型
使用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 this date and time in RFC3339 format
createdBefore: "date" # match objects created before this date and time in RFC3339 format
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