目次

カスタムランタイムコンテナイメージを使用して、コンテナイメージとしてパッケージ化されたAWS Lambda 関数を保護する

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

コンテナイメージとしてパッケージ化された関数に保護を追加するのは簡単です Application Securityのカスタムランタイムコンテナイメージをコンテナイメージのベースイメージとして使用し、環境変数を設定します。

Python機能による顧客保護イメージの活用

コンテナイメージパッケージの次の機能コード部分を想定します。

app.py

import ...


def handler(event, context):
    <Your function handler code here>

コンテナイメージとしてパッケージ化された関数に対する Application Securityの保護を利用するために、 Application Securityのカスタムランタイムコンテナイメージが関数イメージのベースイメージとして使用されます。たとえば、機能コードを含むコンテナイメージを作成するDockerファイルは次のようになります。

Dockerfile

FROM **public.ecr.aws/cloudone_application_security/lambda-python:3.7.10-9**
...
COPY app.py .
...
CMD ["app.handler"]

Nodejs機能を使用した顧客保護イメージの活用

コンテナイメージパッケージの次の機能コード部分を想定します。

app.js

...
exports.handler = async (event, context) => {
    // Implement code here
    return response;
};
コンテナイメージとしてパッケージ化された関数に対する Application Securityの保護を利用するために、 Application Securityのカスタムランタイムコンテナイメージが関数イメージのベースイメージとして使用されます。たとえば、機能コードを含むコンテナイメージを作成するDockerファイルは次のようになります。

Dockerfile

FROM public.ecr.aws/cloudone_application_security/lambda-node:12.22.1-9
...
COPY app.js package.json ./
RUN npm install
...
CMD ["app.handler"]

Application Security 保護のベースコンテナイメージは、AWS ECRパブリックギャラリーの lambda-node および lambda-pythonリポジトリにあります。

使用可能なすべてのベースイメージのリストを表示するには

https://gallery.ecr.aws/

検索対象:lambda-nodeまたはlambda-python

次の表に、 Application Security ベースイメージを使用できるプログラミング言語を示します。

プログラミング言語 ベースイメージの場所
python https://gallery.ecr.aws/cloudone_application_security/lambda-python
Node.js https://gallery.ecr.aws/cloudone_application_security/lambda-node

コンテナイメージを作成したら、AWS Lambdaでデプロイできます。コンテナイメージを配信するときは、 Application Security 保護コンテナイメージを Application Security サービスに接続するために必要な設定を指定する必要があります。 Application Securityランタイム保護の設定オプションを参照してください。