データを暗号化、復号する

このドキュメントでは、gdcloud CLI を使用して Key Management System(KMS)鍵でデータを暗号化および復号する方法について説明します。

このドキュメントは、GDC プロジェクト内で暗号化オペレーションを実行する必要があるアプリケーション オペレーター グループ内のユーザーを対象としています。 詳細については、 GDC エアギャップ ドキュメントの対象読者をご覧ください。

始める前に

データを暗号化または復号する前に、必要な権限を取得して環境を準備する必要があります。

IAM ロールをリクエストする

データを暗号化および復号するには、組織 IAM 管理者に連絡して、プロジェクト Namespace の KMS デベロッパーkms-developer)ロールをリクエストしてください。

環境を準備する

必要な権限

必要な権限を取得するには、組織 IAM 管理者にプロジェクトの KMS デベロッパー(kms-developer)ロールの付与を依頼してください。

データの暗号化

データを暗号化するには、gdcloud kms keys encrypt コマンドを使用します。このコマンドは、指定された平文ファイルを AEAD 鍵を使用して暗号化し、名前付きの暗号テキスト ファイルに書き込みます。

  • データを暗号化するには、鍵名と次のものを渡します。

    gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
      --plaintext-file=PLAINTEXT_PATH \
      --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
      --ciphertext-file=CIPHERTEXT_PATH
    

    次の変数を置き換えます。

    • NAMESPACE:プロジェクト Namespace(例: kms-test1)。
    • KEY_NAME: 平文の暗号化に使用する鍵の名前(例: key-1)。
    • PLAINTEXT_PATH: 暗号化する平文を含むファイルへのパス。
    • ADDITIONAL_AUTHENTICATED_DATA_FILE:追加認証データ(AAD)を含む省略可能な ファイル。AAD は整合性チェックに使用され、混乱した代理攻撃からデータを保護します。AAD と平文のサイズ上限はそれぞれ 64 KB です。
    • CIPHERTEXT_PATH: 暗号化された平文を含むファイルへのパス。

    コマンドを実行すると、--ciphertext-file フラグで指定したファイルに、平文ファイルの暗号化されたコンテンツが表示されます。

データの復号

データを復号するには、gdcloud kms keys decrypt コマンドを使用します。このコマンドは、指定された暗号テキスト ファイルを AEAD 鍵を使用して復号し、名前付きの平文ファイルに書き込みます。

  • 暗号テキストを復号するには、鍵名と次のものを渡します。

    gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
     --ciphertext-file=CIPHERTEXT_PATH \
     --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
     --plaintext-file=PLAINTEXT_PATH
    

    次の変数を置き換えます。

    • NAMESPACE: プロジェクト Namespace。
    • KEY_NAME:平文の暗号化に使用する 鍵の名前。
    • CIPHERTEXT_PATH:復号するファイルのパス。
    • ADDITIONAL_AUTHENTICATED_DATA_FILE:追加認証データ(AAD)を含む省略可能な ファイル。AAD は整合性チェックに使用され、混乱した代理攻撃からデータを保護します。AAD と平文のサイズ上限はそれぞれ 64 KB です。
    • PLAINTEXT_PATH:復号された平文を含むファイルへのパス。

    コマンドを実行すると、--plaintext-file フラグで指定したファイルに、復号されたデータが表示されます。