AO は、Google Distributed Cloud(GDC)のエアギャップ CLI を介して、gRPC クライアント経由で KMS に対して暗号化と復号のオペレーションを実行します。
始める前に
KMS オペレーションを実行する前に、Management API サーバーにアクセスして必要な権限を取得するように kubectl を構成します。
Management API サーバー アクセスを構成する
Management API サーバーにアクセスするように kubectl を構成します。
- まだ行っていない場合は、gdcloud コマンドライン インターフェース(CLI)を使用して、Management API サーバーの kubeconfig ファイルを取得します。
MANAGEMENT_API_SERVER環境変数を設定します。export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGPATH_TO_KUBECONFIGは、生成された kubeconfig ファイルのパスに置き換えます。まだ行っていない場合は、gdcloud CLI をダウンロード、インストール、構成します。これを行うには、gdcloud CLI の概要をご覧ください。
必要な権限
必要な権限を取得するには、組織の 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フラグで指定したファイルに復号されたデータが表示されます。