EventBridge スケジューラでのアイデンティティベースのポリシーの使用
デフォルトでは、ユーザーおよびロールには、EventBridge スケジューラのリソースを作成または変更するアクセス許可がありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。
これらのサンプルの JSON ポリシードキュメントを使用して、IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「IAM ポリシーを作成する (コンソール)」を参照してください。
EventBridge スケジューラが定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、「サービス認可リファレンス」の「Amazon EventBridge スケジューラのアクション、リソース、および条件キー」を参照してください。
トピック
ポリシーに関するベストプラクティス
アイデンティティベースのポリシーは、ユーザーのアカウントで誰かが EventBridge スケジューラのリソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションでは、AWS アカウント に費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
-
AWS マネージドポリシーを使用して開始し、最小特権の許可に移行する – ユーザーとワークロードへの許可の付与を開始するには、多くの一般的なユースケースのために許可を付与する AWS マネージドポリシーを使用します。これらは AWS アカウントで使用できます。ユースケースに固有の AWS カスタマー管理ポリシーを定義して、アクセス許可を絞り込むことをお勧めします。詳細については、「IAM ユーザーガイド」の「AWS マネージドポリシー」または「ジョブ機能の AWS マネージドポリシー」を参照してください。
-
最小特権を適用する – IAM ポリシーで許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、「IAM ユーザーガイド」の「IAM でのポリシーとアクセス許可」を参照してください。
-
IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。また、CloudFormation などの特定の AWS のサービス を介して使用する場合、条件を使用してサービスアクションへのアクセスを許可することもできます。詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素:条件」を参照してください。
-
IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、「IAM ユーザーガイド」の「IAM Access Analyzer でポリシーを検証する」を参照してください。
-
多要素認証 (MFA) を要求する – AWS アカウントで IAM ユーザーまたはルートユーザーを要求するシナリオがある場合は、セキュリティを強化するために MFA をオンにします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、「IAM ユーザーガイド」の「MFA を使用した安全な API アクセス」を参照してください。
IAM でのベストプラクティスの詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。
EventBridge スケジューラのアクセス許可
IAM プリンシパル (ユーザー、グループ、またはロール) が EventBridge スケジューラでスケジュールを作成し、コンソールまたは API から EventBridge スケジューラのリソースにアクセスするには、プリンシパルのアクセス権限ポリシーに一連の権限を追加する必要があります。これらの権限は、プリンシパルの職務に応じて設定できます。例えば、EventBridge スケジューラのコンソールのみを使用して既存のスケジュールのリストを表示するユーザーまたはロールには、CreateSchedule API オペレーションを呼び出すために必要な権限は必要ありません。アイデンティティベースの権限を調整して、最も権限の低いアクセス権のみを提供することをおすすめします。
次のリストは、EventBridge スケジューラのリソースと、それに対応してサポートされているアクションを示しています。
-
スケジュール
-
scheduler:ListSchedules -
scheduler:GetSchedule -
scheduler:CreateSchedule -
scheduler:UpdateSchedule -
scheduler:DeleteSchedule
-
-
スケジュールグループ
-
scheduler:ListScheduleGroups -
scheduler:GetScheduleGroup -
scheduler:CreateScheduleGroup -
scheduler:DeleteScheduleGroup -
scheduler:ListTagsForResource -
scheduler:TagResource -
scheduler:UntagResource
-
EventBridge スケジューラの権限を使用して、EventBridge スケジューラで使用する独自のカスタマー管理ポリシーを作成できます。また、以下のセクションで説明する AWS マネージドポリシーを使用して、独自のポリシーを管理しなくても、一般的なユースケースに必要な権限を付与できます。
EventBridge スケジューラの AWS マネージドポリシー
AWS は、多くの一般的ユースケースに対処するために、AWS が作成および管理するスタンドアロンの IAM ポリシーを用意しています。管理ポリシー、つまり事前定義ポリシーは、一般的ユースケースに必要なアクセス許可を付与するため、どの許可が必要なのかをユーザーが調査する必要はありません。詳細については「IAM ユーザーガイド」の「AWS マネージドポリシー」を参照してください。アカウントのユーザーにアタッチできる以下の AWS マネージドポリシーは、EventBridge スケジューラに固有のものです。
-
AmazonEventBridgeSchedulerFullAccess
スケジュールおよびスケジュールグループのすべての EventBridge スケジューラアクションを使用する権限を付与します。
このポリシーの許可を確認するには、「AWS マネージドポリシーリファレンス」の「AmazonEventBridgeSchedulerFullAccess」を参照してください。
-
AmazonEventBridgeSchedulerReadOnlyAccess
スケジュールとスケジュールグループに関する詳細を表示する読み取り専用の権限を付与します。
このポリシーのアクセス許可を確認するには、「AWS マネージドポリシーリファレンス」の「AmazonEventBridgeSchedulerReadOnlyAccess」を参照してください。
EventBridge スケジューラのカスタマー管理ポリシー
以下の例を使用して、EventBridge スケジューラの独自のカスタマー管理ポリシーを作成します。カスタマー管理ポリシーを使用すると、プリンシパルの職務に応じて、チーム内のアプリケーションとユーザーに必要なアクションとリソースのみにアクセス許可を付与できます。
例:CreateSchedule
新しいスケジュールを作成するときに、EventBridge スケジューラ上のデータを暗号化するのに AWS 所有のキー を使用するか、またはカスタマーマネージドキーを使用するかを選択します。
次のポリシーでは、プリンシパルはスケジュールを作成し、AWS 所有のキー を使用して暗号化を適用できます。AWS 所有のキー を使用すると、AWS が AWS Key Management Service (AWS KMS) 上のリソースを管理するため、AWS KMS とやり取りするための追加の権限は必要ありません。
以下のポリシーを使用して、プリンシパルがスケジュールを作成し、AWS KMS カスタマーマネージドキーを使用して暗号化できるようにします。カスタマーマネージドキーを使用するには、プリンシパルにはアカウントの AWS KMS リソースへのアクセス許可が必要です。このポリシーは、EventBridge スケジューラ上のデータを暗号化するために使用される単一の指定された KMS キーへのアクセスを許可します。または、ワイルドカード (*) 文字を使用して、アカウント内のすべてのキー、または特定の名前パターンに一致するサブセットへのアクセスを許可することもできます。
例:GetSchedule
以下のポリシーを使用して、プリンシパルがスケジュールに関する情報を取得できるようにします。
例:UpdateSchedule
以下のポリシーを使用して、プリンシパルが scheduler:UpdateSchedule アクションを呼び出してスケジュールを更新できるようにします。CreateSchedule と同様に、このポリシーは、スケジュールで暗号化に AWS KMS AWS 所有のキー を使用するか、またはカスタマーマネージドキーを使用するかによって異なります。AWS 所有のキー を使用して設定されたスケジュールの場合は、以下のポリシーを使用します。
カスタマーマネージドキーを使用して設定されたスケジュールの場合は、以下のポリシーを使用します。このポリシーには、プリンシパルがアカウント内の AWS KMS リソースにアクセスできるようにする追加の権限が含まれています。
例:DeleteScheduleGroup
以下のポリシーを使用して、プリンシパルがスケジュールグループを削除できるようにします。グループを削除すると、そのグループに関連付けられているスケジュールも削除されます。グループを削除するプリンシパルには、そのグループに関連付けられているスケジュールも削除する権限が必要です。このポリシーは、指定されたスケジュールグループとグループ内のすべてのスケジュールに対して scheduler:DeleteScheduleGroup アクションを呼び出す権限をプリンシパルに付与します。
注記
EventBridge スケジューラは、個々のスケジュールにリソースレベルの権限を指定することをサポートしていません。例えば、次の記述は無効であり、ポリシーには含めないでください。
"Resource": "arn:aws:scheduler:us-west-2:123456789012:schedule/
my-group/my-schedule-name"
AWS マネージドポリシーの更新
| 変更 | 説明 | 日付 |
|---|---|---|
|
AmazonEventBridgeSchedulerFullAccess – 新しい管理ポリシー |
EventBridge スケジューラは、スケジュールやスケジュールグループを含むすべてのリソースへのフルアクセスをユーザーに許可する新しいマネージドポリシーのサポートを追加しました。 |
2022 年 11 月 10 日 |
|
AmazonEventBridgeSchedulerReadOnlyAccess – 新しい管理ポリシー |
EventBridge スケジューラは、スケジュールやスケジュールグループを含むすべてのリソースへの読み取り専用アクセスをユーザーに許可する新しいマネージドポリシーのサポートを追加しました。 |
2022 年 11 月 10 日 |
|
EventBridge スケジューラが変更の追跡を開始 |
EventBridge が AWS マネージドポリシーの変更の追跡を開始しました。 |
2022 年 11 月 10 日 |