統合サービスの IAM ポリシー - AWS Step Functions

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

統合サービスの IAM ポリシー

ステートマシンを作成するときにAWS Step Functionsコンソールでは、Step FunctionsAWS Identity and Access Management(IAM) ポリシーを適用します。これは、ステートマシンの定義で使用されるリソースに基づいています。

以下の例では、Step Functions により、ステートマシンの定義に基づいて IAM ポリシーが生成される様子を示します。サンプルコードの項目 (例: [[resourceName]]) は、ステートマシンの定義に表示されている静的リソースに置き換えられています。複数の静的リソースがある場合は、IAM ロールにそれぞれのエントリが存在します。

動的リソースと静的リソース

静的リソースは、ステートマシンのタスク状態で直接定義されます。タスク状態で直接呼び出す API アクションに関する情報を含めると、Step Functions はそのリソースのみの IAM ロールを作成します。

動的リソースは、状態入力に渡され、Path を使用してアクセスされるリソースです (Paths 参照)。動的リソースをタスクに渡す場合、Step Functions により、以下を指定する権限の高いポリシーが作成されます。"Resource": "*"

[Job 実行] パターンを使用したタスクの追加のアクセス許可

使用するタスクの場合ジョブを実行するパターン (.sync)、接続されたサービスの API アクションからのレスポンスを監視および受信するための追加のアクセス権が必要です。関連するポリシーには、Request Response または Wait for Callback パターンを使用するタスクよりも多くのアクセス許可が含まれます。「」を参照してください。サービス統合パターン同期タスクの詳細については、「」を参照してください。

Step Functions では、接続されたサービスでジョブが実行されたときに、ポーリングとイベントという 2 つのメソッドを使用してジョブのステータスを監視します。

ポーリングには、DescribeまたはGetなどの API アクションecs:DescribeTasksまたはglue:GetJobRun。これらの権限がロールから欠落している場合、Step Functions はジョブのステータスを判断できない可能性があります。これは、Run a Job サービスの統合の中には EventBridge イベントをサポートしていないものと、ベストエフォート方式でのみイベントを送信するサービスがあるためです。

から送信されたイベントAWSサービスが Amazon EventBridge に送信される場合は、マネージドルールを使用して Step Functions に転送され、events:PutTargets,events:PutRule, およびevents:DescribeRule。これらの権限がロールから欠落している場合、Step Functions がジョブの完了を認識するまでに、遅延が発生する可能性があります。EventBridge イベントの詳細については、「」を参照してください。からのイベントAWSのサービス

注記

ポーリングとイベントの両方をサポートする Run a Job タスクの場合、タスクはイベントを使用して正常に完了することがあります。これは、ロールにポーリングに必要な権限がない場合でも発生します。この場合、ポーリングのアクセス許可が正しくないか、不足していることにすぐに気付かないことがあります。まれに、イベントが Step Functions に配信または処理されなかった場合、実行が停止することがあります。ポーリング権限が正しく構成されていることを確認するには、次の方法で EventBridge イベントのない環境で実行を実行できます。

  • EventBridge から管理対象ルールを削除します。EventBridge は、イベントをStep Functions に転送します。この管理ルールはアカウント内のすべての状態マシンで共有されるため、他の状態マシンに意図しない影響を避けるために、このアクションはテストアカウントまたは開発アカウントでのみ実行する必要があります。削除する特定の管理ルールを特定するには、Resourceに使用されるフィールドevents:PutRuleをターゲットサービスのポリシーテンプレートに入力します。管理対象ルールは、そのサービス統合を使用するステートマシンを次回作成または更新するときに再作成されます。EventBridge ルールの削除の詳細については、「」を参照してください。ルールの無効化と削除

  • [Step Functions Local] を使用してテストします。これは、Job 実行タスクを完了するためのイベントの使用をサポートしていません。Step Functions Local を使用するには、ステートマシンで使用されている IAM ロールを想定します。信頼関係の編集が必要になる場合があります。設定:AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, およびAWS_SESSION_TOKEN環境変数を引き受けたロールの値に設定Step Functionsjava -jar StepFunctionsLocal.jar。最後に、AWS CLIと--endpoint-urlパラメーターを使用して、ステートマシンの作成、実行の開始、実行履歴を取得します。詳細については、「Step Functions ローカル設定 (ダウンロード可能バージョン)」を参照してください。

Run a Job パターンを使用するタスクが停止した場合、Step Functions はベストエフォートでタスクのキャンセルを試みます。これには、次の権限が必要です。Cancel,Stop,Terminate, またはDeleteなどの API アクションbatch:TerminateJobまたはeks:DeleteCluster。これらの権限がロールから欠落している場合、Step Functions はタスクをキャンセルできず、タスクの実行中に追加料金が発生する可能性があります。タスクの停止の詳細については、」ジョブを実行する

IAM ロールの作成に使用されるポリシーテンプレート

以下のトピックでは、Step Functions で新しいロールを作成することを選択するときに使用するポリシーテンプレートについて説明します。

注記

これらのテンプレートは、Step Functions によって IAM ポリシーが作成される仕組みを理解するため、他のAWSのサービス。Step Functions サービスの統合の詳細については、「」を参照してください。他のサービスで AWS Step Functions を使用する