Amazon Inspector を使用して Lambda のセキュリティ評価を自動化する
Amazon Inspector
Amazon Inspector サポートにより、Lambda 関数とレイヤーのセキュリティ脆弱性評価が継続的かつ自動的に行われます。Amazon Inspector では、2 種類の Lambda スキャンを提供しています。
Amazon Inspector を有効にするには、Amazon Inspector コンソール
Amazon Inspector をセットアップするときに、複数のアカウントで Amazon Inspector を有効にし、組織の Amazon Inspector を管理するためのアクセス権限を特定のアカウントに委任できます。有効にする際には、AWSServiceRoleForAmazonInspector2
ロールを作成して Amazon Inspector にアクセス権限を付与する必要があります。Amazon Inspector コンソールで、ワンクリックオプションを使用してこのロールを作成できます。
Lambda の標準スキャンでは、Amazon Inspector は、次のような状況で Lambda 関数の脆弱性スキャンを開始します。
-
Amazon Inspector が既存の Lambda 関数を検出した時。
-
新しい Lambda 関数をデプロイした時。
-
既存の Lambda 関数またはそのレイヤーのアプリケーションコードまたは依存関係に更新がデプロイされた場合。
-
Amazon Inspector がデータベースに新しい共通脆弱性識別子 (CVE) 項目を追加し、その CVE が関数に関連している場合。
Lambda コードスキャンでは、Amazon Inspector は、自動推論と機械学習を使用して Lambda 関数のアプリケーションコードを評価し、アプリケーションコードを分析して全体的なセキュリティコンプライアンスを確認します。Amazon Inspector が Lambda 関数のアプリケーションコードに脆弱性を検出すると、Amazon Inspector は詳細な [コード脆弱性] の検出結果を生成します。可能な検出のリストについては、「Amazon CodeGuru Detector Library」を参照してください。
結果を確認するには、Amazon Inspector コンソール
Lambda 関数を標準スキャンから除外するには、関数に次のキーと値のペアをタグ付けします。
-
Key:InspectorExclusion
-
Value:LambdaStandardScanning
コードスキャンから Lambda 関数を除外するには、関数に次のキーと値のペアをタグ付けします。
-
Key:InspectorCodeExclusion
-
Value:
LambdaCodeScanning
例えば、以下の画像では、Amazon Inspector は脆弱性を自動的に検出し、検出結果を [コード脆弱性] という種類に分類しています。これは、脆弱性がコード依存ライブラリのいずれにもなく、関数のコードにあることを示します。特定の機能または複数の機能について、これらの詳細を一度に確認できます。
これらの検出結果を 1 つずつ詳しく調べて、問題を解決する方法を知ることができます。
Lambda 関数を使用する際は、必ず Lambda 関数の命名規則に準拠するようにしてください。詳細については、「Lambda 環境変数を作成する」を参照してください。
修復案を承認する責任はユーザーにあります。修復案を受け入れる前に、必ず確認してください。コードが意図したとおりに動作するように、修正案の編集が必要となる場合があります。