AWS Step Functions で IAM を使用する方法 - AWS Step Functions

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

AWS Step Functions で IAM を使用する方法

AWS Step Functions はコードの実行と AWS リソースへのアクセス (AWS Lambda 関数の呼び出しなど) が可能です。セキュリティを維持するために、IAM ロールを使用してこれらのリソースへの Step Functions アクセスを許可する必要があります。

このガイドの Step Functions チュートリアル によって、ステートマシンを作成した AWS リージョンで有効なIAM ロールの自動生成の利用を有効化できます。ただし、ステートマシン独自の IAM ロールを作成できます。

ステートマシンで使用する IAM ポリシーを作成するときは、そのポリシーはステートマシンが引き受けるタスクの許可を含める必要があります。例として、既存の AWS マネージドポリシーを使用することもできます。または、特定のニーズを満たすカスタムポリシーを最初から作成できます。詳細については、次を参照してください。IAM ポリシーの作成IAM ユーザーガイド

ステートマシン独自の IAM ロールを作成するには、このセクションのステップに従います。

この例では、Lambda 関数を呼び出す許可を持つIAM ロールを作成します。

Step Functions のロールの作成

  1. IAM コンソールにサインインし、[Roles] (ロール)、[Create role] (ロール作成))の順に選択します。

  2. リポジトリの []信頼されたエンティティのタイプを選択ページ、AWSサービス、選択Step Functions[] リストから [] を選択します次へ: アクセス許可.

  3. リポジトリの []添付された許可ポリシー[] ページで [次へ: 確認.

  4. [Review] (確認) ページで、StepFunctionsLambdaRole[Role name] (ロール名) に入力し、[Create role] (ロールの作成) を選択します。

    ロールのリストで、IAM ロールが表示されます。

IAM 許可とポリシーの詳細については、IAM ユーザーガイドアクセス管理を参照してください。

サービス間の混乱した代理問題の防止

混乱した代理人は、別のエンティティによってアクションを実行するように強制されるエンティティ(サービスまたはアカウント)です。In (イン)AWSでは、サービス間でのなりすましが 1 つのサービス (通話サービス) は、別のサービス (呼び出されるサービス). 呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別の顧客のリソースに対する処理を実行するように操作される場合があります。この種のなりすましは、アカウント間およびサービス間で行われる可能性があります。

議員の混乱を防ぐために、AWSでは、アカウント内のリソースへのアクセス権が付与されたサービスプリンシパルを持つすべてのサービスのデータ保護に役立つツールを提供しています。このセクションでは、特定のサービス間の混乱した代理問題に焦点を当てます。AWS Step Functions; ただし、このトピックの詳細については、混乱した代理の セクションIAM ユーザーガイド

リソースにアクセスするために IAM が Step Functions に付与する権限を制限するには、aws:SourceArnそしてaws:SourceAccountリソースポリシーのグローバル条件コンテキストキー。これらのグローバル条件コンテキストキーを両方使用すると、aws:SourceArn値にはAWSアカウント ID、aws:SourceAccountvalue and the valueAWSアカウントのaws:SourceArn値は同じものを使わなければならないAWSアカウント ID。

注記

混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定しながら、aws:SourceArn グローバル条件コンテキストキーを使用することです。ARN 全体が不明の場合、または複数のリソースを指定する場合には、aws:SourceArnワイルドカード付きのグローバルコンテキスト条件キー (*) を ARN の不明な部分に対して指定します。例えば、arn:aws:states:*:111122223333:*です。

以下に例を示します。信頼されたポリシーそれはあなたがどのように使うことができるかを示していますaws:SourceArnそしてaws:SourceAccount混乱した代理問題を防ぐための Step Functions。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "states.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:states:us-east-1:111122223333:stateMachine:*" }, "StringEquals":{ "aws:SourceAccount":"111122223333" } } } ] }

インラインポリシーを添付する

Step Functions は他のサービスを直接管理します。Task状態。制御する必要があるサービスの API アクションに Step Functions からのアクセス許可がでるように、インラインポリシーを添付します。

  1. IAM コンソール を開いて [Roles] (ロール) を選択し、Step Functions ロールを検索したら、そのロールを選択します。

  2. [Add inline policy] (インラインポリシーの追加) を選択します。

  3. ロールのポリシーを作成するには、[Visual editor] (ビジュアルエディタ) または [JSON] タブを使用します。

‭AWS Step Functions‬ で他の ‭AWS のサービスを制御する方法の詳細については、‭他のサービスで AWS Step Functions を使用する を参照してください。

注記

Step Functions コンソールで作成された IAM ポリシーの例については、統合サービスの IAM ポリシー を参照してください。