3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Lambda関数コードの参照とダウンロードをブロックする方法

Last updated at Posted at 2020-05-06

Lambda特有の情報漏洩リスク

AWS Lambdaベースのサーバレスアプリケーションならではの情報漏洩リスクとして、AWSマネジメントコンソールまたはAWS CLI経由で関数のコードが漏洩したり、zipファイルごとダウンロードされるケースが考えられます。

AWS CodeCommit等リポジトリ側の情報漏洩リスクに比べて、Lambda関数 (Function) 自体の情報漏洩リスクは言及すらされずに放置されるケースが多いようで、以下に備忘を兼ねてまとめてみました。

対応策

IAMユーザが上記の操作をしてもブロック (拒否) するためには、以下のIAMポリシーを設定します。

IAMPolicy
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyDownloadLambdaFunctionCode",
            "Effect": "Deny",
            "Action": "lambda:GetFunction",
            "Resource": "*"
        }
    ]
}

効果

AWSマネジメントコンソールの「設定」タブでは、本来は以下画像のDesignerより下に表示されるはずのLambda関数コード等の詳細情報が、全く表示されなくなります。
image.png

また、Lambda関数をzipファイルでダウンロードできなくなります。
image.png

補足

  • IAMユーザ・グループ単位で設定すれば、特定のユーザ・グループのみ適用できます。
  • AWS OrganizationsやIAM Permissions Boundaryを併用すると、一元的に権限を適用できます。
  • Lambda関数としてデプロイされたコードの対策であり、デプロイ前のコードについては別途対策が必要です。

参考文献

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?