文件

批次金鑰輪換

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 金鑰

必填欄位

type

可以是 sse-s3sse-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