文件

批次金鑰輪換

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

一個選用的 JSON Web Token (JWT),用於存取 endpoint

針對重試次數

如果某個因素中斷了任務,您可以定義最大重試次數。對於每次重試,您還可以定義每次嘗試之間等待的時間長度。

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