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関数をトリガーする必要があるアプリケーションサーバー。

試してみる — AWS IAM Policy Generator

フルツールを開く