AWS Lambda
開発者ガイド

AWS Lambda 実行ロール

AWS Lambda 関数の実行ロールでは、AWS サービスおよびリソースにアクセスするためのアクセス許可を付与します。関数を作成する際にこのロールを指定することで、関数が呼び出されると、Lambda によってこのロールが引き受けられます。Amazon CloudWatch にログを送信するアクセス許可を含む開発用の実行ロールを作成し、トレースデータを AWS X-Ray にアップロードすることができます。

実行ロールを作成するには

  1. IAM コンソールの [Roles] ページを開きます。

  2. [ロールの作成] を選択します。

  3. 次のプロパティでロールを作成します。

    • 信頼されたエンティティAWS Lambda

    • アクセス許可AWSLambdaBasicExecutionRoleAWSXrayWriteOnlyAccess

    • ロール名lambda-role

    詳細な手順については、IAM ユーザーガイドの「ロールの作成」を参照してください。

アクセス許可は、関数の実行ロールからいつでも追加または削除できます。または、別のロールを使用するように関数を設定することもできます。AWS SDK で関数を使用して呼び出すサービスや、オプションの機能を有効にするために Lambda で使用するサービス用のアクセス許可を追加します。

次の管理ポリシーでは、Lambda 機能を使用するために必要なアクセス許可を付与します。

  • AWSLambdaBasicExecutionRole – ログを CloudWatch にアップロードするためのアクセス許可。

  • AWSLambdaKinesisExecutionRole – Amazon Kinesis データストリームまたはコンシューマーからイベントを呼び出すためのアクセス許可。

  • AWSLambdaDynamoDBExecutionRole – Amazon DynamoDB ストリームからレコードを読み出すためのアクセス許可。

  • AWSLambdaSQSQueueExecutionRole – Amazon Simple Queue Service (Amazon SQS) キューからメッセージを読み出すためのアクセス許可。

  • AWSLambdaVPCAccessExecutionRole – 関数を VPC に接続するように Elastic Network Interface を管理するためのアクセス許可。

  • AWSXrayWriteOnlyAccess – トレースデータを X-Ray にアップロードするためのアクセス許可。

イベントソースマッピングを使用して関数を呼び出すと、Lambda は実行ロールを使用してイベントデータを読み出します。たとえば、Amazon Kinesis のイベントソースマッピングでは、データストリームからイベントを読み出し、バッチで関数に送信します。イベントソースマッピングが使用可能なサービスは、次のとおりです。

Lambda がイベントを読み取るサービス

Lambda コンソールには、管理ポリシーに加えて、追加のユースケースに関するアクセス許可を含むカスタムポリシーを作成するためのテンプレートが用意されています。関数を作成する際、1 つ以上のテンプレートのアクセス許可を使用して、新しい実行ロールを作成することができます。これらのテンプレートは、設計図から関数を作成する場合、または他のサービスへのアクセスを必要とするオプションを設定する場合にも自動的に適用されます。サンプルテンプレートは、本ガイドの GitHub リポジトリから入手できます。