このページのトピック
カスタムランタイムコンテナイメージを使用して、コンテナイメージとしてパッケージ化された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リポジトリにあります。
使用可能なすべてのベースイメージのリストを表示するには
検索対象: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ランタイム保護の設定オプションを参照してください。