Cloud One Application Security(Preview)をAPI Gateway + Lambdaの環境に導入してみた
こんにちは、コンサル部@大阪オフィスのTodaです。
トレンドマイクロ社が提供しているCloud One Application Security(Preview)を試す機会がありましたのでAPI Gateway + Lambdaの環境に導入をしてみました。
Cloud One Application Security(Preview)の詳細は下記記事を合わせてご覧ください。
前提条件
- 2020/11/27時点ではPreview版であり、今後変更される予定があるため、ご注意ください。
- Cloud One トライアル版アカウント登録し、トライアルで簡単にテストしています。
- API Gateway(REST API)にてLambdaを利用するようにしています。
- Lambda処理はPOSTの値をそのまま出力するプログラムにしています。
目標
- Cloud One Application Securityの画面上にリクエストが検知される状態にする。
事前に対応が必要な事
LambdaレイヤーにTrend Micro Cloud One Application SecurityのARNを利用します。
ARNの利用はトレンドマイクロ社のアクセス許可が必要になりますのでご注意ください。
実際やってみる
導入方法は「カスタムランタイムを利用するパターン」と「AWSランタイムを利用するパターン」がございます。
今回は「カスタムランタイムを利用するパターン」で進めるようにします。
レイヤーに使用するKeyとSecretの確認
Cloud OneのApplication Security画面からグループ資格情報のKeyとSecretを確認します。
ユーザガイドからARNの内容を確認
LambdaレイヤーにはPython3.6, 3.7, 3.8 / NodeJS 10, 12 のバージョンが用意されています。 公開されているマニュアルを元にARNの内容を確認します。
(Cloud One) Latest Downloads - Python / NodeJS Agent
今回私が作成したLambdaはPython3.8になりますので下記のようになります。
arn:aws:lambda:ap-northeast-1:80[一部非表示]56:layer:CloudOne-ApplicationSecurity-bare-python3_8:1 arn:aws:lambda:ap-northeast-1:80[一部非表示]56:layer:CloudOne-ApplicationSecurity-runtime-python3_8:1 ※上記ARNは変更される場合もございますので公式マニュアルから取得ください。
環境変数の設定
Lambda関数の編集画面に移動して環境変数の[編集]をクリックします。
内容は[TREND_AP_KEY]と[TREND_AP_SECRET]の2点で事前に取得したKeyとSecretを設定します。
レイヤーの追加
デザイナー画面の中にある[Layers]をクリックして一覧を表示します。
上部の[レイヤーの追加]をクリックします。
レイヤーの設定画面では[ARNの指定]を選び、上記で確認をしたARNを入力します。
Pythonの場合は2点設定をする必要があります。
トレンドマイクロ社のアクセス許可がない場合は、エラーになります。
ランタイムの変更
カスタムランタイムでプログラムを実行するように設定を変更します。
Lambdaのテストで動作確認
カスタムランタイムの変更ができれば設定完了です。
1度Lambdaのテストイベントを使ってプログラムが動くことを確認します。
試しにAPIにPOST通信をしてみる
Google Chromeのアドオンで「Talend API Tester」を利用してPOST通信を行ってみます。
出力としてPOSTで送信した内容が表示されます。
Cloud Oneの画面を確認
上記API通信をおこなった後にCloud Oneの画面を確認するとリクエストのグラフが動いている事を確認しました。
またPHPの時と違いアクティブのマークは通信があったときのみ緑に変わるようです。
さいごに
今回はLambda処理にCloud One Application Securityを導入してみました。
以前PHPに導入したときと動きが変わるのかどうか利点等を調査して記事で案内したいと思います。