メニュー
AWS Lambda
開発者ガイド

Lambda API のアクセス権限: アクション、リソース、条件リファレンス

アクセスコントロール をセットアップし、IAM アイデンティティにアタッチできるアクセス権限ポリシー (アイデンティティベースのポリシー) を作成するときは、以下の表をリファレンスとして使用できます。テーブルには 各 AWS Lambda API オペレーション、アクションを実行するためのアクセス権限を付与できる対応するアクション、およびアクセス権限を付与できる AWS リソースが掲載されています。ポリシーの Action フィールドでアクションを指定し、ポリシーの Resource フィールドでリソースの値を指定します。

注記

次の表の AWS Lambda Invoke API に対するアクセス権限は、リソースベースのポリシーを使用して付与することもできます。詳細については、「AWS Lambda でリソースベースのポリシーを使用する (Lambda 関数ポリシー)」を参照してください。

AWS Lambda ポリシーで AWS 全体の条件キーを使用して、条件を表現することができます。AWS 全体を対象とするすべてのキーのリストについては、『IAM ユーザーガイド』の「条件に利用可能なキー」を参照してください。

注記

アクションを指定するには、API オペレーション名 (lambda:CreateFunction など) の前に lambda: プレフィックスを使用します。

表の右上隅に矢印 () が表示された場合、その表は新しいウィンドウで開くことができます。ウィンドウを閉じるには、右下隅にある閉じるボタン (X) を選択します。

AWS Lambda API とアクションで必要なアクセス権限

Lambda API オペレーション 必要なアクセス権限 (API アクション) リソース

AddPermission

lambda:AddPermission

arn:aws:lambda:region:account-id:function:function-name

CreateAlias

lambda:CreateAlias

arn:aws:lambda:region:account-id:function:function-name

CreateEventSourceMapping

lambda:CreateEventSourceMapping

*

以下のアクセス権限を、Lambda 関数の実行ロール (IAM ロール) に追加する必要があります。

Amazon Kinesis ストリームイベントソースにマッピングした場合:

kinesis:DescribeStreams, kinesis:DescribeStream, kinesis:ListStreams, kinesis:GetShardIterator, および Kinesis:GetRecords

DynamoDB ストリームイベントソースにマッピングした場合:

dynamodb:DescribeStreams, dynamodb:DescribeStream, dynamodb:ListStreams, dynamodb:GetShardIterator, および dynamodb:GetRecords

(AWS Lambda にイベントソースマッピングを作成するには、イベントソースマッピングを作成している既存の Lambda 関数が必要です。Lambda 関数の実行ロール (IAM ロール) には、Lambda 関数がマッピングされているイベントソースの API にアクセスするためのアクセス権限が必要です。

arn:aws:kinesis:region:account-id:stream/stream-name

CreateFunction lambda:CreateFunction

arn:aws:lambda:region:account-id:function:function-name

iam:PassRole

関数を作成するユーザーには、Lambda 関数が作成される際に実行ロールとして指定する IAM ロールに、このアクションのアクセス権限が必要です。これは、Lambda 関数の実行時に AWS Lambda が引き受けるロールです。ユーザーには、AWS Lambda にロールを渡すアクセス権限が必要です。

arn:aws:iam::account-id:role/execution-role-name

ec2:DescribeSecurityGroups

Lambda 関数の作成時に VPC 設定情報を指定する場合のみ必要です。

*

ec2:DescribeSubnets

Lambda 関数の作成時に VPC 設定情報を指定する場合のみ必要です。

*

s3:GetObject

Amazon S3 にでプロパッケージが保存されており、Lambda 関数を作成する際に S3 バケットおよびオブジェクトキーを指定する場合にのみ必要です。

arn:aws:s3:::bucket-name/key-name

DeleteAlias

lambda:DeleteAlias

arn:aws:lambda:region:account-id:function:function-name

DeleteEventSourceMapping

lambda:DeleteEventSourceMapping

*

DeleteFunction

lambda:DeleteFunction

arn:aws:lambda:region:account-id:function:function-name

GetAlias

lambda:GetAlias

arn:aws:lambda:region:account-id:function:function-name

GetEventSourceMapping

lambda:GetEventSourceMapping

*

GetFunction

lambda:GetFunction

arn:aws:lambda:region:account-id:function:function-name

GetFunctionConfiguration

lambda:GetFunctionConfiguration

arn:aws:lambda:region:account-id:function:function-name

GetPolicy lambda:GetPolicy

arn:aws:lambda:region:account-id:function:function-name

Invoke lambda:InvokeFunction

arn:aws:lambda:region:account-id:function:function-name

ListAliases lambda:ListAliases

arn:aws:lambda:region:account-id:function:function-name

ListEventSourceMappings

lambda:ListEventSourceMappings

*

ListFunctions

lambda:ListFunctions

*

ListVersionsByFunction lambda:ListVersionsByFunction

arn:aws:lambda:region:account-id:function:function-name

PublishVersion lambda:PublishVersion

arn:aws:lambda:region:account-id:function:function-name

RemovePermission

lambda:RemovePermission

arn:aws:lambda:region:account-id:function:function-name

UpdateAlias

lambda:UpdateAlias

arn:aws:lambda:region:account-id:function:function-name

UpdateEventSourceMapping

lambda:UpdateEventSourceMapping

*

kinesis:DescribeStreams (needed by function role, not caller)

arn:aws:kinesis:region:account-id:stream/stream-name
UpdateFunctionCode

lambda:UpdateFunctionCode

arn:aws:lambda:region:account-id:function:function-name

s3:GetObject

Lambda 関数を作成するときに S3 バケットおよびオブジェクトキー、デプロイパッケージ、またはキーを指定する場合にのみ必要です。

arn:aws:s3:::bucket-name/key-name

UpdateFunctionConfiguration lambda:UpdateFunctionConfiguration

arn:aws:lambda:region:account-id:function:function-name

iam:PassRole

関数を作成するユーザーには、Lambda 関数の更新時に実行ロールとして指定する IAM ロールに、このアクションのアクセス権限が必要です。これは、Lambda 関数の実行時に AWS Lambda が引き受けるロールです。ユーザーには、AWS Lambda にロールを渡すアクセス権限が必要です。

arn:aws:iam::account-id:role/execution-role-name

ec2:DescribeSecurityGroups

Lambda 関数の作成時に VPC 設定情報を指定する場合のみ必要です。

*
ec2:DescribeSubnets

Lambda 関数の作成時に VPC 設定情報を指定する場合のみ必要です。

*