文件

批次金鑰輪換

新版本:RELEASE.2023-04-07T05-28-58Z

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

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

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

金鑰輪換批次作業參考

新版本:RELEASE.2023-04-07T05-28-58Z

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

必要欄位

類型

sse-s3sse-kms

金鑰

僅適用於 sse-kms 類型。用於解封金鑰保管庫的金鑰。

內容

僅適用於 sse-kms 類型。在其中執行動作的內容。

選用欄位

對於基於旗標的篩選器

newerThan

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

僅針對晚於指定時間長度的物件輪換金鑰。例如,7d24h5d12h30s 是有效的字串。

olderThan

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

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

createdAfter

一個 YYYY-MM-DD 格式的日期。

僅針對晚於此日期的物件輪換金鑰。

createdBefore

一個 YYYY-MM-DD 格式的日期。

僅針對早於此日期的物件輪換金鑰。

標籤

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

中繼資料

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

kmskey

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

對於通知

端點

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

權杖

用於存取 endpoint 的選用 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