このドキュメントでは、gdcloud CLI で鍵管理システム(KMS)鍵を使用してデータを暗号化および復号する方法について説明します。
このドキュメントは、GDC プロジェクト内で暗号オペレーションを実行する必要があるアプリケーション オペレーター グループのユーザーを対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
データを暗号化または復号する前に、必要な権限を取得して環境を準備する必要があります。
IAM ロールをリクエストする
データを暗号化および復号するには、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: プロジェクトの名前空間(例:
kms-test1)。 - KEY_NAME: 平文の暗号化に使用された鍵の名前(例:
key-1)。 - PLAINTEXT_PATH: 暗号化する平文を含むファイルへのパス。
- ADDITIONAL_AUTHENTICATED_DATA_FILE: 追加の認証データ(AAD)を含むオプションのファイル。AAD は整合性チェックに使用され、混乱した代理攻撃からデータを保護します。AAD と平文のサイズ上限はそれぞれ 64 KB です。
- CIPHERTEXT_PATH: 暗号化された平文を含むファイルへのパス。
コマンドを実行すると、
--ciphertext-fileフラグで指定したファイルに、平文ファイルの内容が暗号化されて保存されます。- NAMESPACE: プロジェクトの名前空間(例:
データの復号
データを復号するには、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: プロジェクトの名前空間。
- KEY_NAME: 平文の暗号化に使用された鍵の名前。
- CIPHERTEXT_PATH: 復号するファイルのパス。
- ADDITIONAL_AUTHENTICATED_DATA_FILE: 追加の認証データ(AAD)を含むオプションのファイル。AAD は整合性チェックに使用され、混乱した代理攻撃からデータを保護します。AAD と平文のサイズ上限はそれぞれ 64 KB です。
- PLAINTEXT_PATH: 復号された平文を含むファイルへのパス。
コマンドを実行すると、復号されたデータを含む
--plaintext-fileフラグで指定したファイルが表示されます。