AWS 実行ロールとリソースベースのポリシーの違いについて
解決したいこと
AWS認定デベロッパーのサンプル問題の解説がわかりません。
問題
ある企業が、Amazon Elastic Container Service (Amazon ECS) でウェブアプリケーションバックエンドをホストしています。
アプリケーションの Amazon ECS タスクは、Application Load Balancer (ALB) の背後で実行されます。
このアプリケーションは、本番、テスト、開発の 3 つの環境をサポートしています。
アプリケーションは、ALB を使用してトラフィックを正しい環境に送信します。
同社は、ポート番号 (本番用ターゲットグループのポート 80、テスト用ターゲットグループのポート 8080、開発用ターゲットグループのポート 8081)
に基づいてトラフィックを別のターゲットグループに転送する ALB に、 3 つのリスナールールを設定しました。
同社は、AWS Lambda 関数にサポートされた Amazon API Gateway API を使用して、アプリケーションバックエンドをサーバーレスアーキテクチャに移行することにしました。
同社は、ポート番号の代わりに URI パスパターンを使用して、目的の環境にアクセスすることを計画しています。
同社は、アプリケーションバックエンド用の Lambda 関数を作成しました。
各 Lambda 関数には、3 つのエイリアス (本番、テスト、開発) があります。
同社がプロセスを完了するために、次のステップを含むオプションはどれですか。
正解の回答
API Gateway API を作成し、Lambda プロキシ統合を使用するようにルートを設定する。
$ {stageVariables.LambdaAlias} という式と連結した、対応する Lambda 関数の Amazon Resource Name (ARN) をターゲットにする。
アクセス許可 lambda: InvokeFunction を追加して、Lambda リソースベースのポリシーを変更する。
本番、テスト、開発の各ステージを作成する。対応するステージに、LambdaAlias ステージ変数を追加する。
わからない回答
API Gateway API を作成し、Lambda プロキシ統合を使用するようにルートを設定する。
$ {stageVariables.LambdaAlias} という式と連結した、対応する Lambda 関数の Amazon Resource Name (ARN) をターゲットにする。
アクセス許可 apigateway: * を追加して Lambda 実行ロールを変更する。
本番、テスト、開発の各ステージを作成する。対応するステージに、LambdaAlias ステージ変数を追加する。
対応するステージに、LambdaAlias ステージ変数を追加する。
←これが違うことは解説読んで理解しました
AWSの解説
Lambda 実行ロールを使用して、AWS リソースに Lambda アクセス許可を付与します。
リソースベースのポリシーでは、他のサービスで Lambda 関数を呼び出すことができます。
↑これがわかりません
Lambda 実行ロールと リソースベースのポリシーの違い
調べてわかったこと
- どちらも AWS リソースへのアクセスを制御するために使用されるが、役割と適用範囲が異なる。
Lambda 実行ロール
役割
: Lambda 関数が AWS リソースにアクセスできるようにする
適用範囲
: 特定の Lambda 関数
リソースベースのポリシー
役割
: 特定の AWS リソースへのアクセスを制御する
適用範囲
: 特定の AWS リソース
まだわかんないです
アクセス許可 apigateway: * を追加して Lambda 実行ロールを変更する。
←これは別に間違ってない?
アクセス許可 lambda: InvokeFunction を追加して、Lambda リソースベースのポリシーを変更する。
これが必要ってことでしょうか...?
0