旋轉明細表 - AWS Secrets Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

旋轉明細表

當您開啟自動輪換時,您可以使用 cron() 或者 rate() 表達式來設定輪換秘密的排程。使用 rate 表達式,您可以建立一個在幾小時或幾天間隔內重複的輪換排程。使用 cron 表達式,您可以建立比輪換間隔更詳細的輪換排程。Secrets Manager 輪換排程使用 UTC 時區。您可以每四小時輪換一次機密。Secrets Manager 在輪換時段的任何時間輪換您的機密。

若要開啟輪換,請參閱:

Rate 運算式

Secrets Manager rate 表達式的格式如下,Value 是正整數,Unit 可以是 hourhoursdaydays

rate(Value Unit)

您可以每四小時輪換機密一次。範例:

  • rate(4 hours) 表示每四小時輪換機密一次。

  • rate(1 day) 表示每天輪換機密一次。

  • rate(10 days) 表示每 10 天輪換機密一次。

對於以小時為單位的速率,預設輪換時段在午夜開始,並在一小時後關閉。您可以設定 Window duration (時段持續時間) 以變更輪換時段。輪換時段不得延伸到下一個輪換時段。檢查此情況的一種方法是確認輪換時段小於或等於輪換之間的小時數。

對於以為單位的速率,預設輪換時段在午夜開始,並在一天結束時關閉。您可以設定 Window duration (時段持續時間) 以變更輪換時段。輪換時段不得延伸到第二天 (以 UTC 為準)。檢查此情況的一種方法是確認開始時刻加上時段持續時間小於或等於 24 小時。

Cron 表達式

Cron 表達式格式如下:

cron(Minutes Hours Day-of-month Month Day-of-week Year)

包含小時增量的 cron 表達式會每天重設。例如,cron(0 4/12 * * ? *) 表示凌晨 4:00 和下午 4:00,然後是第二天凌晨 4:00 和下午 4:00。Secrets Manager 輪換排程使用 UTC 時區。

對於以小時為單位的排程,預設輪換時段在一小時後關閉。您可以設定 Window duration (時段持續時間) 以變更輪換時段。輪換時段不得進入下一個輪換時段。您可以每四小時輪換一次秘密。

範例排程 表達式

每隔八小時在午夜開始。

cron(0 /8 * * ? *)

每隔八小時在上午 8:00 開始。

cron(0 8/8 * * ? *)

每隔十小時在凌晨 2:00 開始。

輪換時段將在 2:00、12:00 和 22:00 開始,然後在第二天 2:00、12:00 和 22:00 開始。

cron(0 2/10 * * ? *)

每天上午 10:00。

cron(0 10 * * ? *)

每週六下午 6:00。

cron(0 18 ? * SAT *)

每個月第一天上午 8:00。

cron(0 8 1 * ? *)

每三個月第一個星期天的凌晨 1:00。

cron(0 1 ? 1/3 SUN#1 *)

每個月最後一天下午 5:00。

cron(0 17 L * ? *)

每週一至週五上午 8:00。

cron(0 8 ? * MON-FRI *)

每月的第一天和第十五天下午 4:00。

cron(0 16 1,15 * ? *)

每個月的第一個週日午夜。

cron(0 0 ? * SUN#1 *)

Secrets Manager 中的 cron 表達式要求

Secrets Manager 對您可以用於 cron 表達式的內容有一些限制。Secrets Manager 的 cron 表達式在分鐘欄位中必須有 0,因為 Secrets Manager 輪換時段會在整點時刻開始。在年份欄位中必須有 *,因為 Secrets Manager 不支援相隔一年以上的輪換排程。下列資料表顯示您可以使用的選項。

欄位 Values (數值) 萬用字元

分鐘

必須為 0

小時

0–23

使用 / (正斜線) 指定增量。例如,2/10 表示從凌晨 2:00 開始每隔 10 小時一次。您可以每四小時輪換一次秘密。

D ay-of-month

1–31

使用 , (逗號) 來包含其他值。例如,1,15 表示一個月的第 1 天和第 15 天。

使用 - (破折號) 指定範圍。例如,1–15 表示一個月的第 1 天至第 15 天。

使用 * (星號) 來包含欄位中的所有值。例如,* 表示一個月的每一天。

? (問號) 萬用字元用於表示不限定任何一個。您無法在同一個 cron 表達式中指定 Day-of-monthDay-of-week 欄位。如果您在其中一個欄位指定了數值,就必須在另一個欄位中使用 ? (問號)​。

使用 / (正斜線) 指定增量。例如,1/2 表示每兩天從第 1 天開始,換句話說,第 1 天、第 3 天、5 天等。

使用 L 指定一個月的最後一天。

使用 DAYL 指定一個月的最後一個命名日期。例如,SUNL 表示一個月的最後一個週日。

1-12 或 JAN-DEC

使用 , (逗號) 來包含其他值。例如,JAN,APR,JUL,OCT 表示 1 月、4 月、7 月 和 10 月。

使用 - (破折號) 指定範圍。例如,1–3 表示一年的第 1 個月至第 3 個月。

使用 * (星號) 來包含欄位中的所有值。例如,* 表示每個月。

使用 / (正斜線) 指定增量。例如,1/3 表示每第三個月,從第 1 個月開始,換句話說第 1 個月、第 4 個月、第 7 個月和第 10 個月。

D ay-of-week

1-7 或 SUN-SAT

使用 # 指定一個月內的星期幾。例如:TUE#3 表示當月的第三個週二。

使用 , (逗號) 來包含其他值。例如,1,4 表示一週的第 1 天和第 4 天。

使用 - (破折號) 指定範圍。例如,1–4 表示一週的第 1 天至第 4 天。

使用 * (星號) 來包含欄位中的所有值。例如,* 表示一週的每一天。

? (問號) 萬用字元用於表示不限定任何一個。您無法在同一個 cron 表達式中指定 Day-of-monthDay-of-week 欄位。如果您在其中一個欄位指定了數值,就必須在另一個欄位中使用 ? (問號)​。

使用 / (正斜線) 指定增量。例如,1/2 表示一週的每隔一天,從第一天開始,則第 1 天、第 3 天、第 5 天和第 7 天。

使用 L 指定一週的最後一天。

必須為 *