AWS Lambda関数コードの参照とダウンロードをブロックする方法
Lambda特有の情報漏洩リスク
AWS Lambdaベースのサーバレスアプリケーションならではの情報漏洩リスクとして、AWSマネジメントコンソールまたはAWS CLI経由で関数のコードが漏洩したり、zipファイルごとダウンロードされるケースが考えられます。
AWS CodeCommit等リポジトリ側の情報漏洩リスクに比べて、Lambda関数 (Function) 自体の情報漏洩リスクは言及すらされずに放置されるケースが多いようで、以下に備忘を兼ねてまとめてみました。
対応策
IAMユーザが上記の操作をしてもブロック (拒否) するためには、以下のIAMポリシーを設定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyDownloadLambdaFunctionCode",
"Effect": "Deny",
"Action": "lambda:GetFunction",
"Resource": "*"
}
]
}
効果
AWSマネジメントコンソールの「設定」タブでは、本来は以下画像のDesignerより下に表示されるはずのLambda関数コード等の詳細情報が、全く表示されなくなります。
また、Lambda関数をzipファイルでダウンロードできなくなります。
補足
- IAMユーザ・グループ単位で設定すれば、特定のユーザ・グループのみ適用できます。
- AWS OrganizationsやIAM Permissions Boundaryを併用すると、一元的に権限を適用できます。
-
Lambda関数としてデプロイされたコードの対策であり、デプロイ前のコードについては別途対策が必要です。
参考文献
-
GetFunction (From AWS Lambda 開発ガイド)
- GetFunction (From AWS Lambda 開発ガイド)
Author And Source
この問題について(AWS Lambda関数コードの参照とダウンロードをブロックする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/nasuvitz/items/c45e38d0e05686d38022著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .