目次

AWS Lambdaのセキュリティレイヤ

Application Security は、 Lambda 機能を保護するように設定できるセキュリティ層を提供することで、サーバレス機能を内部から実行時に保護します。その結果、機能コードとその機能コードで利用されるサードパーティのパッケージの両方が自動的に保護されます。

AWS Lambda では、サーバレス機能をパッケージ化してデプロイする方法が2つあります。

  • アーカイブとしてパッケージされた関数
  • コンテナイメージとしてパッケージされた関数

Application Security は、両方のパッケージオプションにセキュリティソリューションを提供します。

アーカイブとしてパッケージ化された関数の保護

Lambda 関数がアーカイブとしてパッケージ化されている場合は、 Lambda関数 を設定して、関数を保護するセキュリティアルゴリズムを含む Application Security 層を含めることで、ランタイム保護を有効にできます。

以前のリリースのPythonおよびNodeJS用の Application Security 層には、次の2つのバージョンが含まれていました。

  • カスタムランタイム
  • ベアレイヤ

これら2つのバージョンは、AWS Lambda 拡張機能を利用する単一の保護層に置き換えられています。新しい保護層にはカスタムランタイムと同じ利点がありますが(関数のコードを変更する必要はありません)、カスタムランタイムよりもサイズがはるかに小さいという利点があります。以前のバージョンのカスタムランタイムとベアレイヤは非推奨です。これらはレイヤリポジトリに残りますが、新しいバージョンは導入されません。代わりに、新しい保護レイヤは今後アップデートされます。

AWS Lambda では、 Lambda関数を使用してレイヤを設定できます。設定されたすべてのレイヤは、ランタイムパッケージと同じフォルダに解凍されます。 Lambda関数の場合、最大5つの階層があり、すべての階層の最大サイズは250MB(非圧縮)です。この最大数は、公式のAWSランタイムとカスタムランタイムのどちらを使用しているかに関係なく適用されます。 Application Security 層のサイズは約30MBです。

手順の詳細については、「Application Securityレイヤを使用したAWS Lambda関数の保護」を参照してください。

コンテナとしてパッケージ化された関数の保護

AWS Lambda を使用すると、 Lambda 関数をコンテナイメージとしてパッケージ化およびデプロイできます。Application Security は、コンテナイメージとしてパッケージ化された Lambda 関数を保護するために利用できるカスタム保護イメージを提供します。 カスタムコンテナイメージを使用してAWS Lambda 関数を保護するを参照してください