Secrets Manager ローテーションのスケジュール式 - AWS Secrets Manager

Secrets Manager ローテーションのスケジュール式

自動ローテーションをオンにすると、Cron() または Rate() 式を使用して、シークレットをローテーションするスケジュールを設定できます。Rate 式を使用すると、一定の時間間隔や日数間隔で繰り返されるローテーションスケジュールを作成できます。Cron 式を使用すると、ローテーション間隔よりも詳細なローテーションスケジュールを作成できます。Secrets Manager のローテーションスケジュールでは、UTC タイムゾーンが使用されます。シークレットが 4 時間ごとにローテーションされるように設定できます。Secrets Manager は、ローテーションウィンドウ中の任意の時刻にシークレットをローテーションします。

ローテーションの有効化については、以下を参照してください。

Rate 式

Secrets Manager の Rate 式は、次のような形式です。Value は正の整数で、Unithourhoursday、または days にできます。

rate(Value Unit)

シークレットが 4 時間ごとにローテーションされるように設定できます。例:

  • rate(4 hours) は、シークレットが 4 時間ごとにローテーションされることを意味します。

  • rate(1 day) は、シークレットが毎日ローテーションされることを意味します。

  • rate(10 days) は、シークレットが 10 日ごとにローテーションされることを意味します。

Rate 式の hours の場合、デフォルトのローテーションウィンドウは午前 0 時に開始され、1 時間後に終了します。ウィンドウ期間を設定して、ローテーションウィンドウを変更できます。ローテーションウィンドウが次のローテーションウィンドウに重ならないようにしてください。これをチェックする方法の 1 つは、ローテーションウィンドウの時間数がローテーション間の時間数以下であることを確認することです。

Rate 式の days の場合、デフォルトのローテーションウィンドウは午前 0 時に開始され、1 日の終わりに終了します。ウィンドウ期間を設定して、ローテーションウィンドウを変更できます。ウィンドウが次の UTC 日に入ってはなりません。これをチェックする方法の 1 つは、開始時間にウィンドウ期間を加えた時間が 24 時間以下であることを確認することです。

Cron 式

Cron 式の形式は次のようになります。

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

時間の増分を含む cron 式は、毎日リセットされます。例えば、cron(0 4/12 * * ? *) は午前 4 時、および午後 4 時、次いで翌日の午前 4 時、および午後 4 時を意味します。Secrets Manager のローテーションスケジュールでは、UTC タイムゾーンが使用されます。

時間単位のスケジュールの場合、デフォルトのローテーションウィンドウは 1 時間後に終了します。ウィンドウ期間を設定して、ローテーションウィンドウを変更できます。ローテーションウィンドウが次のローテーションウィンドウに重ならないようにしてください。

スケジュールの例

8 時間ごと、午前 0 時から開始。

cron(0 /8 * * ? *)

8 時間ごと、午前 8 時から開始。

cron(0 8/8 * * ? *)

10 時間ごと、午前 2 時から開始。

ローテーションウィンドウは 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 *)

毎月 1 日の午前 8:00。

cron(0 8 1 * ? *)

3 か月ごとに第 1 日曜日の午前 1:00。

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

毎月最終日の午後 5:00。

cron(0 17 L * ? *)

月曜日から金曜日までの午前 8:00。

cron(0 8 ? * MON-FRI *)

毎月 1 日と 15 日の午後 4:00。

cron(0 16 1,15 * ? *)

毎月第 1 日曜日の午前 0:00。

cron(0 0 ? * SUN#1 *)

Secrets Manager の cron 式要件

Secrets Manager では、cron 式に使用できる設定値にはいくつかの制限があります。Secrets Manager の cron 式では、分フィールドに 0 が必要です。これは、Secrets Manager のローテーションウィンドウが正時に開始されるためです。年フィールドには、* が必要です。これは、Secrets Manager では 1 年以上離れているローテーションスケジュールがサポートされていないためです。次の表に、使用できるオプションを示します。

フィールド ワイルドカード

0 を指定 なし

時間

0~23

/ (フォワードスラッシュ) を使用して増分を指定します。例えば、2/10 は午前 2 時から 10 時間ごとを意味します。

1~31

, (カンマ) を使用して追加の値を含めます。例えば、1,15 は月の 1 日と 15 日を意味します。

(ダッシュ) を使用して範囲を指定します。例えば、1–15 は月の 1 日から 15 日までの日を意味します。

* (アスタリスク) を使用してフィールド内のすべての値を含めます。例えば、* は月のすべての日を意味します。

[?] (疑問符) のワイルドカードは、任意を意味します。Cron 式の Day-of-month フィールドと Day-of-week フィールドを同時に指定することはできません。一方のフィールドに値を指定する場合、もう一方のフィールドで [?] (疑問符) を使用する必要があります。

/ (フォワードスラッシュ) を使用して増分を指定します。例えば、1/2 は 1 日目から 2 日おき、つまり 1 日目、3 日目、5 日目などを意味します。

L を使用して月の最終日を指定します。

DAYL を使用して、月の最終曜日を指定します。例えば、SUNL は月の最終日曜日を意味します。

1~12 または JAN~DEC

, (カンマ) を使用して追加の値を含めます。例えば、JAN,APR,JUL,OCT は 1 月、4 月、7 月、および 10 月を意味します。

(ダッシュ) を使用して範囲を指定します。例えば、1–3 とは1 年の 1 か月目から 3 か月目までを意味します。

* (アスタリスク) を使用してフィールド内のすべての値を含めます。例えば、* はすべての月を意味します。

/ (フォワードスラッシュ) を使用して増分を指定します。例えば、1/3 は、1 か月目から 3 か月おき、つまり 1 か月目、4 か月目、7 か月目、10 か月目などを意味します。

曜日

1~7 または SUN~SAT

# を使用して月内の曜日を指定します。例えば、TUE#3 は月の第 3 火曜日を意味します。

, (カンマ) を使用して追加の値を含めます。例えば、1,4 は 1 日目の曜日と 4 日目の曜日を意味します。

(ダッシュ) を使用して範囲を指定します。例えば、1–4 は 1 日目から 4 日目までの曜日を意味します。

* (アスタリスク) を使用してフィールド内のすべての値を含めます。例えば、* はすべての曜日を意味します。

[?] (疑問符) のワイルドカードは、任意を意味します。Cron 式の Day-of-month フィールドと Day-of-week フィールドを同時に指定することはできません。一方のフィールドに値を指定する場合、もう一方のフィールドで [?] (疑問符) を使用する必要があります。

/ (フォワードスラッシュ) を使用して増分を指定します。例えば、1/2 は 1 日目の曜日から 2 日おき、つまり 1 日目、3 日目、5 日目、7 日目などの曜日を意味します。

L を使用して最終曜日を指定します。

* を指定してください なし