Lambda関数を呼び出すIAMポリシー
特定のLambda関数の呼び出しを許可するIAMポリシーを作成します。関数を呼び出すだけで良いサービスやユーザーのための最小限の権限です。
Compute
詳細な説明
Lambda呼び出し専用ポリシー
サービス(API Gateway、別のLambda、アプリケーションなど)がLambda関数を呼び出す必要があるが、コードの表示、設定の確認、変更ができないようにする場合、最小限の呼び出し専用ポリシーが適切です。
ポリシーJSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowLambdaInvoke",
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:my-function"
}
]
}
リソースのスコープ
- 特定の関数:
arn:aws:lambda:us-east-1:123456789012:function:my-function— 1つの関数に制限。 - すべてのバージョンとエイリアス: 末尾に
:*を追加。 - アカウント内のすべての関数:
arn:aws:lambda:us-east-1:123456789012:function:*— より広範ですが時に必要。 - クロスリージョン: ARNでリージョンを指定するか、すべてのリージョンに
*を使用。
InvokeFunctionがカバーする範囲
lambda:InvokeFunctionアクションは同期(RequestResponse)と非同期(Event)の両方の呼び出しをカバーします。検証に使用されるDryRun呼び出しもカバーします。
実行ロールとは別
このポリシーは呼び出し元(関数を呼び出すエンティティ)に付与されます。Lambda関数自体の権限(アクセスできるAWSサービス)はその実行ロールで定義され、これは別のIAMロールです。
ユースケース
API Gatewayバックエンド、イベント駆動型マイクロサービス、Step Functionワークフロー、コードや設定を管理せずにLambda関数をトリガーする必要があるアプリケーションサーバー。