メニュー
AWS Lambda
開発者ガイド

機密情報を保存するために、環境変数を使用して Lambda 関数を作成する

Lambda 関数の構成設定の指定に加えて、環境変数を使用して、データベースパスワード、AWS Key Management Service および Lambda コンソールの暗号化ヘルパーを使用して機密情報を保存できます。詳細については、「環境変数の暗号化」を参照してください。次の例では、これを行う方法に加えて、その情報を復号化する KMS を使用する方法も説明します。

このチュートリアルでは、Lambda コンソールを使用して機密情報を含む環境変数を暗号化する方法と、Lambda 関数で使用する情報を復号化するためのサンプルコードを説明します。

ステップ 1: Lambda 関数を作成する

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/lambda/ にある AWS Lambda コンソールを開きます。

  2. [Create a Lambda function] を選択します。

  3. [Select blueprint] で、[Blank Function] 設計図を選択します。

  4. [Configure triggers] ページで、Lambda 関数を自動的にトリガーするサービスをオプションで選択できます。省略記号 (...) がついたグレーのボックスを選択すると、使用できるサービスのリストが表示されます。この例ではトリガーを設定せず、[Next] を選択します。

  5. [Configure function] で、以下の作業を行います。

    • [Name*] で、Lambda 関数名を指定します。

    • [Runtime] で、 [Node.js4.3] と指定します。

      [Lambda function code] セクションで [Edit code inline] オプションを活用して以下の操作が可能であることを確認してください。

      • Lambda 関数ハンドラーコードをカスタムコードに置き換えます。

      • Lambda が提供する復号化ヘルパーコードを実装する。(この演習の後で学習します)

    • [Enable encryption helpers] チェックボックスをオンにします。

    • すでにユーザーアカウントに関連の KMS キーがある場合は、[Encryption key] フィールドにはそのキーが自動で入力されます。アカウントの KMS キーを作成していない場合、キーを作成するための AWS IAM コンソールへのリンクが提供されます。アカウントにはそのキー用の encrypt および decrypt 許可が必要です。

      注記

      クライアント側で機密情報を暗号化するために、デフォルトの Lambda サービスキーを使用することはできません。

    • [Environment variables] で、キーと値のペアを入力します。指定した値が機密情報である場合は、[Encrypt] ボタンを選択します。これにより入力した値がマスク化され、その結果、AWS KMS が呼び出されて値が暗号化され、Ciphertext として返します。[Encrypt ] ボタンを選択すると、そのボタンは [Decrypt] に切り替わることに注意してください。これにより、情報を更新するオプションが提供されます。これが完了した後は、[Encrypt] ボタンを選択します。

      [Code] ボタンを押すと、アプリケーションで使用可能な Lambda 関数のランタイム固有のサンプル復号コードが提供されます。

    • [Role*] で、[Choose an existing role] を選択します。

    • [Existing role*] で、[lambda_basic_execution] を選択します。

      注記

      実行ロールのポリシーに decrypt アクセス許可が付与されていない場合は追加する必要があります。

  6. [Review] で設定を確認し、[Create Function] を選択します。