メニュー
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] で、[Author from scratch] ボタンを選択します。

  4. [Basic information] で、以下の操作を行います。

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

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

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

      注記

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

    • [Create function] を選択します。

ステップ 2: Lambda 関数を設定する

  1. [Configuration] の [Runtime] で、[nodejs6.10] または [nodejs4.3] を指定します。

  2. [Lambda function code] セクションで [Edit code inline] オプションを活用して Lambda 関数ハンドラコードを独自のカスタムコードに置き換えることができます。

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

  4. [Monitoring] タブを選択します。このページでは、Lambda 関数呼び出しに今すぐ使用できる CloudWatch メトリクスを説明するとともに、「Lambda ベースのアプリケーションのトラブルシューティング」など他の有益なガイドへのリンクを紹介します。

  5. [Environment variables] セクションを展開します。

  6. キーと値のペアを入力します。[Encryption configuration] セクションを展開します。Lambda には、デフォルトのサービスキーが [KMS key to encrypt at rest] に用意されており、これがアップロードされると情報が暗号化されます。指定した情報が重要な場合は、さらに [Enable helpers for encryption in transit] チェックボックスをオンにして、カスタムキーを提供できます。これにより入力した値がマスク化され、その結果、AWS KMS が呼び出されて値が暗号化され、Ciphertext として返します。アカウントの KMS キーを作成していない場合、キーを作成するための AWS IAM コンソールへのリンクが提供されます。アカウントにはそのキー用の encrypt および decrypt 許可が必要です。[Encrypt ] ボタンを選択すると、そのボタンは [Decrypt] に切り替わることに注意してください。これにより、情報を更新するオプションが提供されます。これが完了した後は、[Encrypt] ボタンを選択します。

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

    注記

    クライアント側で機密情報を暗号化するために、デフォルトの Lambda サービスキーを使用することはできません。詳細については、「環境変数の暗号化」を参照してください。