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

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

アイデンティティベースのポリシーを使用する

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

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

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

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

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

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

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

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

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

  • 多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化するために 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 マネージドポリシーを使用して、独自のポリシーを管理することなく、一般的なユースケースに必要なアクセス許可を付与することもできます。

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

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