Lambda リソースのアクセス許可 - AWS Lambda

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lambda リソースのアクセス許可

Lambda API やリソース (関数やレイヤーなど) へのアクセスを管理するために、AWS Identity and Access Management (IAM) を使用できます。アカウント内の Lambda を使用するユーザーとアプリケーションに対して、ユーザー、グループ、またはロールに適用される IAM ポリシーを作成できます。

すべての Lambda 関数には、実行ロールと呼ばれる IAM ロールがあります。このロールでは、関数が他の AWS サービスやリソースにアクセスする際に必要とするアクセス許可を、定義するためのポリシーをアタッチできます。少なくとも、関数はログストリーミングのために Amazon CloudWatch Logs にアクセスする必要があります。関数が AWS SDK を使用して他のサービス API を呼び出す場合は、実行ロールのポリシーに必要な権限を含める必要があります。関数の呼び出しにイベントソースマッピングを使用する場合、Lambda は実行ロールを使用して、イベントソースからの読み取りに関するアクセス許可も取得します。

他のアカウントや AWS のサービスに、Lambda リソースを使用するためのアクセス許可を付与するには、リソースベースのポリシーを使用します。Lambda リソースには、関数、バージョン、エイリアス、レイヤーバージョンが含まれます。ユーザーが Lambda リソースへのアクセスを試みた際、Lambda は、ユーザーのアイデンティティベースのポリシーと、リソースのリソースベースのポリシーの両方を認識しようとします。Amazon Simple Storage Service (Amazon S3) などの AWS のサービスが Lambda 関数を呼び出す際。Lambda はリソースベースのポリシーのみを認識しようとします。

アカウントのユーザーとアプリケーションのためのアクセス許可を管理する場合は、AWSマネージドポリシーの使用を推奨します。これらの管理ポリシーは、そのまま使用することができますが、より制限的なポリシーを記述する際の開始点として使用することもできます。ユーザーのアクセス許可は、アクションが影響を及ぼすリソースごとや、任意の追加条件ごとに制限することができます。詳細については、「Lambda アクションのリソースと条件」を参照してください。

Lambda 関数が、他の AWS リソースへの呼び出しを含んでいる場合、どの関数がそれらのリソースにアクセスできるかを制限する必要性が生じることもあります。これを実行するには、ターゲットリソース用の IAM アイデンティティベースポリシーまたはサービスコントロールポリシー (SCP) に lambda:SourceFunctionArn 条件キーを含めます。詳細については、「Lambda 実行環境での認証情報の使用」を参照してください。

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

Lambda アプリケーションに対するセキュリティプリンシパルの適用の詳細については、Serverless Land の「セキュリティ」を参照してください。