このドキュメントでは、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フラグで指定したファイルに、平文ファイルの暗号化されたコンテンツが表示されます。- NAMESPACE:プロジェクト 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: プロジェクト Namespace。
- KEY_NAME:平文の暗号化に使用する 鍵の名前。
- CIPHERTEXT_PATH:復号するファイルのパス。
- ADDITIONAL_AUTHENTICATED_DATA_FILE:追加認証データ(AAD)を含む省略可能な ファイル。AAD は整合性チェックに使用され、混乱した代理攻撃からデータを保護します。AAD と平文のサイズ上限はそれぞれ 64 KB です。
- PLAINTEXT_PATH:復号された平文を含むファイルへのパス。
コマンドを実行すると、
--plaintext-fileフラグで指定したファイルに、復号されたデータが表示されます。