ヤマムギ

growing hard days.

*

AWS Lambda KMSを使って環境変数を暗号化、復号化する(Python)

   

Lambda内で外部APIを使用する場合などをユースケースとして、環境変数をKMS(AWS Key Management Service)を使って暗号化出来ます。

暗号化した環境変数はLambda関数内でboto3のkms.decrypt()を使って復号化します。

これ、忘れがちというか、AWSマネジメントコンソールにログインしないと見えないんだからと、やらない場合もあるかと思いますが、画面を表示しているだけで見えてしまうのもセキュアじゃないと思うのでやっておいたほうがいいと思います。

ここでは、KMSキーを作成(1USD/月)していますが、Lambdaのデフォルトサービスキーを使用すれば、毎月20,000リクエストまで無料で利用出来ます。
20,000リクエストを超えると、10,000 リクエストあたり 0.03 USDが課金されます。
(2018年1月現在)

KMSの作成

IAMマネジメントコンソールで、[暗号化キー]を選択します。

[キーの作成]ボタンをクリックします。

KMSキーのエイリアスと説明を入力します。

タグを設定します。

作成したキーを使うユーザー、ロールを一覧から選択します。
Lambdaで使用しているIAMロールを選択します。

ポリシーが自動生成されます。
至れり尽くせりです。

Lambdaの設定

AWS Lambdaの環境変数のセクションで、[暗号化の設定]を展開します。

「伝送中に暗号化するKMSキー」と「保管時に暗号化するKMSキー」に先ほど作成したKMSキーを選択します。

「伝送中の暗号化のためのヘルパーの有効化」にチェックを入れると環境変数の横に[暗号化]、[コード]のボタンが現れます。

  • [暗号化]ボタンをクリックすると環境変数の値がマスクされ、暗号化されています。
  • [コード]ボタンをクリックすると、暗号化した値を復号化するためのコードが表示されます。至れり尽くせりです。

例えばこれをこのままこのようなコードに挿入すれば、暗号化した環境変数が復号化されているのがわかります。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

特定AWSアカウント特定リージョンのSQSキューを削除するLambda(Python)

やりたいこと 特定アカウント内特定リージョン内のSQSキューを全部削除したいです …

EC2 Amazon Linux 2 にAmazon LinuxからWordPressを移行

このブログを新しいインスタンスに移行することにしました。 2015年5月にAma …

AWS LambdaでS3 Select

RDSスナップショットをS3にエクスポートした、Parquetフォーマットのデー …

Amazon Connectで電話を転送する

かかってきた電話を転送するようにしました。 問い合わせフローで[終了/転送]から …

SageMaker AI StudioでJupyterLab スペースを作成しJupyterLab を起動、S3拡張のインストール

JupyterLab ユーザーガイドとJupyterLab 拡張機能を参照して、 …

API GatewayからLambdaを介さずにSNSトピックへ送信

やりたいこと APIリクエストをまずLambdaで受けて、SNSトピックへ送信す …

AWS認定SAPの執筆開始にあたって環境を構築しました

AWS認定ソリューションアーキテクトプロフェッショナル対策本の執筆開始にあたりま …

新規アカウントでAWS Budgetsの設定をしました

新規で組織を作ってAWS Budgetsを久しぶりに設定しました。 作成してすぐ …

EC2 Instance Connect エンドポイントの作成

このブログのSystems Managerは機能としてセッションマネージャーしか …

Amazon API Gatewayでモックを作る

超シンプルなAPI Gatewayのサンプルがほしかったので、ユーザーガイドの手 …