AWS Lambda
開発者ガイド

AWS Lambda アクセス許可

Lambda API やリソース (関数やレイヤーなど) へのアクセスを管理するには、AWS Identity and Access Management (IAM) を使用します。Lambda を使用したアカウントのユーザーやアプリケーションのアクセス許可は、IAM ユーザー、グループ、またはロールに適用できるアクセス許可ポリシーで管理します。Lambda リソースを使用する他のアカウントや AWS のサービスにアクセス許可を付与するには、リソース自体に適用するポリシーを使用します。

また、Lambda 関数には、実行ロールと呼ばれるポリシーもあります。実行ロールは、AWS のサービスやリソースにアクセスするためのアクセス許可を付与します。関数には、少なくとも、ログストリーミング用に Amazon CloudWatch Logs へのアクセスが必要です。AWS X-Ray を使用して関数を追跡するか、AWS SDK で関数を使用してサービスにアクセスする場合は、呼び出すためのアクセス許可を実行ロールで付与します。また、Lambda では、イベントソースマッピングを使用して関数をトリガーする際にイベントソースから読み込むアクセス許可を取得するために、この実行ロールを使用します。

注記

AWS API やインターネット経由でアクセスできないリレーショナルデータベースなどのリソースへのネットワークアクセスが必要な場合は、VPC に接続するように関数を設定します

Lambda リソースを使用するためのアクセス許可を他のアカウントや AWS のサービスに付与するには、リソースベースのポリシーを使用します。Lambda リソースには、関数、バージョン、エイリアス、レイヤーバージョンを含みます。これらの各リソースには、ユーザーに適用されるポリシーに加えて、リソースへのアクセス時に適用されるアクセス許可ポリシーがあります。Amazon S3 などの AWS サービスで Lambda 関数を呼び出すと、リソースベースのポリシーによってアクセス許可が付与されます。

ユーザーおよびアプリケーションのアクセス許可をアカウントで管理するには、Lambda によって提供される管理ポリシーを使用するか、独自のポリシーを記述します。Lambda コンソールでは、複数のサービスを使用して、関数の設定およびトリガーに関する情報を取得します。管理ポリシーは、そのまま、または制限的なポリシーの開始点として使用することができます。

ユーザーのアクセス許可は、アクションが影響を及ぼすリソース (場合によっては追加条件) を使用して制限することができます。たとえば、関数の Amazon リソースネーム (ARN) のパターンとして、作成した関数の名前にユーザー名を含むことをユーザーに求めるように指定することができます。また、特定のレイヤーを使用して、ロギングソフトウェアをプルするなど、関数の設定をユーザーに求める条件を追加することができます。各アクションでサポートされているリソースや条件については、「リソースおよび条件」を参照してください。

IAM の詳細については、『IAM ユーザーガイド』の「IAM とは」を参照してください。