文件

批次金鑰輪換

新增於版本 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 權杖 (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