セキュリティおよびアクセス許可 - AWS Lambda

セキュリティおよびアクセス許可

Lambda マネージドインスタンスは、キャパシティープロバイダーを信頼境界として使用します。関数はこれらのインスタンス内のコンテナで実行されますが、コンテナはワークロード間のセキュリティ分離を提供しません。同じキャパシティープロバイダーに割り当てられたすべての関数は相互に信頼されている必要があります。

主要なセキュリティの概念

  • キャパシティープロバイダー: Lambda 関数の信頼レベルを定義するセキュリティ境界

  • コンテナの分離: コンテナはセキュリティ境界ではないため、信頼できないワークロード間のセキュリティ対策としてコンテナに依存しない

  • 信頼の分離: 異なるキャパシティープロバイダーを使用して、相互に信頼されていないワークロードを分離する

必要な許可

PassCapacityProvider アクション

ユーザーには、キャパシティープロバイダーに関数を割り当てるためのlambda:PassCapacityProviderアクセス許可が必要です。このアクセス許可はセキュリティゲートとして機能し、承認されたユーザーのみが特定のキャパシティープロバイダーに関数を配置できるようにします。

アカウント管理者は、lambda:PassCapacityProvider IAM アクションを通じて特定のキャパシティープロバイダーを使用できる関数を制御します。このアクションは、次の場合に必要です。

  • Lambda マネージドインスタンスを使用する関数の作成

  • キャパシティープロバイダーを使用するように関数設定を更新する

  • Infrastructure as Code による関数のデプロイ

IAM ポリシーの例

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:PassCapacityProvider", "Resource": "arn:aws:lambda:*:*:capacity-provider:trusted-workloads-*" } ] }

サービスにリンクされたロール

AWS Lambda は、AWSServiceRoleForLambda サービスリンクロールを使用して、キャパシティープロバイダー内の Lambda マネージドインスタンス ec2 リソースを管理します。

ベストプラクティス

  1. 信頼レベル別で分ける: セキュリティ要件が異なるワークロードごとに別々のキャパシティープロバイダーを作成する

  2. わかりやすい名前を使用する: 使用目的と信頼レベルを明確に示すために、キャパシティープロバイダーに名前を付ける (例: production-trusteddev-sandbox)

  3. 最小特権を適用する: 必要なキャパシティプロバイダーにのみ PassCapacityProvider アクセス許可を付与する

  4. 使用状況をモニタリングする: AWS CloudTrail を使用してキャパシティープロバイダーの割り当てとアクセスパターンをモニタリングする

次のステップ