AWS Lambda アクセス権限 - 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 に接続するように関数を設定します

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

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

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

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

Lambda アプリケーションへのセキュリティ原則の適用の詳細については、Lambda オペレータガイドの「セキュリティ」を参照してください。