文件

批次金鑰輪換

在版本 MinIO 中新增:RELEASE.2023-04-07T05-28-58Z

MinIO 批次框架可讓您使用 YAML 格式的作業定義檔案(「批次檔案」)來建立、管理、監控和執行作業。批次作業直接在 MinIO 部署上執行,以利用伺服器端處理能力,而不會受到執行 MinIO Client 的本機限制。

keyrotate 批次作業類型會循環 MinIO 部署上加密物件的 sse-s3 或 sse-kms 金鑰

YAML 配置支援篩選器,以按建立日期、標籤、中繼資料或 kms 金鑰將金鑰輪換限制為一組特定的物件。您也可以定義重試次數或設定通知端點和權杖。

金鑰輪換批次作業參考

在版本 MinIO 中新增:RELEASE.2023-04-07T05-28-58Z

使用 keyrotate 作業類型來建立批次作業,以循環加密物件的 sse-s3 或 sse-kms 金鑰

必要欄位

type

不是 sse-s3 就是 sse-kms

key

僅與 sse-kms 類型搭配使用。用於解鎖金鑰庫的金鑰。

context

僅與 sse-kms 類型搭配使用。執行動作的內容。

選用欄位

對於基於旗標的篩選器

newerThan

表示時間長度的字串,格式為 #d#h#s

金鑰僅輪換指定時間長度之後建立的物件。例如,7d24h5d12h30s 是有效的字串。

olderThan

表示時間長度的字串,格式為 #d#h#s

金鑰僅針對早於指定時間長度的物件進行輪換。

createdAfter

格式為 YYYY-MM-DD 的日期。

金鑰僅針對在此日期之後建立的物件進行輪換。

createdBefore

格式為 YYYY-MM-DD 的日期。

金鑰僅針對在此日期之前建立的物件進行輪換。

tags

金鑰僅針對具有符合指定 key:value: 的標籤的物件進行輪換。

metadata

金鑰僅針對具有符合指定 key:value: 的中繼資料的物件進行輪換。

kmskey

金鑰僅針對具有符合指定值的 KMS 金鑰 ID 的物件進行輪換。這僅適用於 sse-kms 類型。

關於通知

endpoint

用於傳送通知事件的預定義端點。

token

用於存取 endpoint 的選用 JSON Web 權杖 (JWT)。

關於重試嘗試

如果作業中斷,您可以定義最大重試次數。對於每次重試,您還可以定義每次嘗試之間要等待的時間長度。

attempts

在放棄之前完成批次作業的嘗試次數。

delay

每次嘗試之間要等待的時間長度。

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