ス EventBridge ケジューラでのアイデンティティベースのポリシーの使用 - EventBridge スケジューラ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ス EventBridge ケジューラでのアイデンティティベースのポリシーの使用

デフォルトでは、ユーザーとロールにはス EventBridge ケジューラリソースを作成または変更するアクセス許可はありません。また、、 AWS Command Line Interface (AWS CLI) AWS Management Console、または を使用してタスクを実行することはできません AWS API。必要なリソースに対してアクションを実行するアクセス許可をユーザーに付与するために、IAM管理者はIAMポリシーを作成できます。その後、管理者はIAMポリシーをロールに追加し、ユーザーはロールを引き受けることができます。

これらのポリシードキュメント例を使用してIAMアイデンティティベースのJSONポリシーを作成する方法については、「 ユーザーガイド」のIAM「ポリシーの作成IAM」を参照してください。

各リソースタイプの の形式など、スケ EventBridge ジューラで定義されるアクションとリソースタイプの詳細については、「サービス認証リファレンスARNs」の「Amazon EventBridge Scheduler のアクション、リソース、および条件キー」を参照してください。

ポリシーのベストプラクティス

ID ベースのポリシーは、ユーザーのアカウントで誰かがス EventBridge ケジューラリソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する – ユーザーとワークロードにアクセス許可を付与するには、多くの一般的なユースケースにアクセス許可を付与する AWS 管理ポリシーを使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義して、アクセス許可をさらに減らすことをお勧めします。詳細については、「 ユーザーガイド」の「 AWS 管理ポリシーAWS 」または「 ジョブ機能の 管理ポリシーIAM」を参照してください。

  • 最小特権のアクセス許可を適用する – IAMポリシーでアクセス許可を設定する場合は、タスクの実行に必要なアクセス許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用してアクセス許可を適用する方法の詳細については、「 ユーザーガイド」の「 のポリシーとアクセス許可IAMIAM」を参照してください。

  • IAM ポリシーの条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションとリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを を使用して送信する必要があることを指定できますSSL。条件を使用して、 などの特定の を介してサービスアクションが使用される場合に AWS サービス、サービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件IAM」を参照してください。

  • IAM Access Analyzer を使用してIAMポリシーを検証し、安全で機能的なアクセス許可を確保する – IAM Access Analyzer は、ポリシーがポリシー言語 (JSON) とIAMベストプラクティスに準拠するように、新規および既存のIAMポリシーを検証します。IAM Access Analyzer には、安全で機能的なポリシーの作成に役立つ 100 を超えるポリシーチェックと実用的な推奨事項が用意されています。詳細については、「 ユーザーガイド」のIAM「Access Analyzer ポリシーの検証IAM」を参照してください。

  • 多要素認証を要求する (MFA) – でIAMユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化MFAするために をオンにします。API オペレーションが呼び出されるMFAタイミングを要求するには、ポリシーにMFA条件を追加します。詳細については、「 IAMユーザーガイド」のMFA「 で保護されたAPIアクセスの設定」を参照してください。

のベストプラクティスの詳細についてはIAM、「 ユーザーガイド」の「 のセキュリティのベストプラクティスIAMIAM」を参照してください。

EventBridge スケジューラのアクセス許可

IAM プリンシパル (ユーザー、グループ、またはロール) がス EventBridge ケジューラでスケジュールを作成し、コンソールまたは を介してスケ EventBridge ジューラリソースにアクセスするにはAPI、プリンシパルに一連のアクセス許可がアクセス許可ポリシーに追加されている必要があります。これらの権限は、プリンシパルの職務に応じて設定できます。例えば、ス 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 マネージドポリシーを使用して、独自のポリシーを管理することなく、一般的なユースケースに必要なアクセス許可を付与することもできます。

AWS ス EventBridge ケジューラの マネージドポリシー

AWS は、 が AWS 作成および管理するスタンドアロンIAMポリシーを提供することで、多くの一般的なユースケースに対処します。管理ポリシー、つまり事前定義ポリシーは、一般的ユースケースに必要なアクセス許可を付与するため、どの許可が必要なのかをユーザーが調査する必要はありません。詳細については、「 ユーザーガイド」の「 AWS 管理ポリシーIAM」を参照してください。アカウントのユーザーにアタッチできる以下の AWS 管理ポリシーは、スケ EventBridge ジューラに固有です。

AmazonEventBridgeSchedulerFullAccess

AmazonEventBridgeSchedulerFullAccess 管理ポリシーは、スケジュールおよびスケジュールグループに対してすべてのス EventBridge ケジューラアクションを使用するアクセス許可を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "scheduler:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }

AmazonEventBridgeSchedulerReadOnlyAccess

AmazonEventBridgeSchedulerReadOnlyAccess マネージドポリシーは、スケジュールとスケジュールグループに関する詳細を表示する読み取り専用の権限を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "scheduler:ListSchedules", "scheduler:ListScheduleGroups", "scheduler:GetSchedule", "scheduler:GetScheduleGroup", "scheduler:ListTagsForResource" ], "Resource": "*" } ] }

ス EventBridge ケジューラのカスタマー管理ポリシー

次の例を使用して、スケ EventBridge ジューラ用の独自のカスタマー管理ポリシーを作成します。カスタマー管理ポリシーを使用すると、プリンシパルの職務に応じて、チーム内のアプリケーションとユーザーに必要なアクションとリソースのみにアクセス許可を付与できます。

例: CreateSchedule

新しいスケジュールを作成するときは、 またはカスタマーマネージドキー を使用してAWS 所有のキース EventBridge ケジューラでデータを暗号化するかどうかを選択します。

次のポリシーでは、プリンシパルはスケジュールを作成し、 AWS 所有のキーを使用して暗号化を適用できます。では AWS 所有のキー、 が AWS Key Management Service (AWS KMS) のリソース AWS を管理するため、 を操作するための追加のアクセス許可は必要ありません AWS KMS。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:CreateSchedule" ], "Effect": "Allow", "Resource": [ "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }

次のポリシーを使用して、プリンシパルがスケジュールを作成し、 AWS KMS カスタマーマネージドキーを暗号化に使用できるようにします。カスタマーマネージドキーを使用するには、プリンシパルにアカウントの AWS KMS リソースへのアクセス許可が必要です。このポリシーは、スケ EventBridge ジューラ上のデータの暗号化に使用する 1 つの指定されたKMSキーへのアクセスを許可します。または、ワイルドカード (*) 文字を使用して、アカウント内のすべてのキー、または特定の名前パターンに一致するサブセットへのアクセスを許可することもできます。

{ "Version": "2012-10-17" "Statement": [ { "Action": [ "scheduler:CreateSchedule" ], "Effect": "Allow", "Resource": [ "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name" ] }, { "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Effect": "Allow", "Resource": [ "arn:aws:kms:us-west-2:123456789012:key/my-key-id" ], "Conditions": { "StringLike": { "kms:ViaService": "scheduler.amazonaws.com", "kms:EncryptionContext:aws:scheduler:schedule:arn": "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name" } } { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }

例: GetSchedule

以下のポリシーを使用して、プリンシパルがスケジュールに関する情報を取得できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:GetSchedule" ], "Effect": "Allow", "Resource": [ "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name" ] } ] }

例: UpdateSchedule

以下のポリシーを使用して、プリンシパルが scheduler:UpdateSchedule アクションを呼び出してスケジュールを更新できるようにします。と同様にCreateSchedule、ポリシーは、スケジュールが暗号化に AWS KMS AWS 所有のキー を使用するか、カスタマーマネージドキーを使用するかによって異なります。で設定されたスケジュールの場合は AWS 所有のキー、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:UpdateSchedule" ], "Effect": "Allow", "Resource": [ "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }

カスタマーマネージドキーを使用して設定されたスケジュールの場合は、以下のポリシーを使用します。このポリシーには、プリンシパルがアカウントの AWS KMS リソースにアクセスできるようにする追加のアクセス許可が含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:UpdateSchedule" ], "Effect": "Allow", "Resource": [ "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name }, { "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Effect": "Allow", "Resource": [ "arn:aws:kms:us-west-2:123456789012:key/my-key-id" ], "Conditions": { "StringLike": { "kms:ViaService": "scheduler.amazonaws.com", "kms:EncryptionContext:aws:scheduler:schedule:arn": "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name" } } { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }

例: DeleteScheduleGroup

以下のポリシーを使用して、プリンシパルがスケジュールグループを削除できるようにします。グループを削除すると、そのグループに関連付けられているスケジュールも削除されます。グループを削除するプリンシパルには、そのグループに関連付けられているスケジュールも削除する権限が必要です。このポリシーは、指定されたスケジュールグループとグループ内のすべてのスケジュールに対して scheduler:DeleteScheduleGroup アクションを呼び出す権限をプリンシパルに付与します。

注記

EventBridge スケジューラは、個々のスケジュールのリソースレベルのアクセス許可の指定をサポートしていません。例えば、次の記述は無効であり、ポリシーには含めないでください。

"Resource": "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/my-schedule-name"

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "scheduler:DeleteSchedule", "Resource": "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group/*" }, { "Effect": "Allow", "Action": "scheduler:DeleteScheduleGroup", "Resource": "arn:aws:scheduler:us-west-2:123456789012:schedule/my-group" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }

AWS マネージドポリシーの更新

変更 説明 日付

AmazonEventBridgeSchedulerFullAccess – 新しいマネージドポリシー

EventBridge スケジューラは、スケジュールやスケジュールグループを含むすべてのリソースへのフルアクセスをユーザーに付与する新しい マネージドポリシーのサポートを追加します。

2022 年 11 月 10 日

AmazonEventBridgeSchedulerReadOnlyAccess – 新しいマネージドポリシー

EventBridge スケジューラは、スケジュールやスケジュールグループを含むすべてのリソースへの読み取り専用アクセスをユーザーに許可する新しい マネージドポリシーのサポートを追加します。

2022 年 11 月 10 日

EventBridge スケジューラが変更の追跡を開始しました

EventBridge スケジューラが AWS マネージドポリシーの変更の追跡を開始しました。

2022 年 11 月 10 日