AO は、gRPC クライアントを介して KMS にエアギャップされた Google Distributed Cloud(GDC)を介して署名と検証のオペレーションを実行します。
始める前に
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 asymmetric-sign コマンドを使用します。このコマンドは、Signing 鍵を使用して入力ファイルのデジタル署名を作成し、Base64 でエンコードされた署名を保存します。
データを署名するには、鍵の名前と次のものを渡します。
gdcloud kms keys asymmetric-sign \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILE次の変数を置き換えます。
- NAMESPACE: プロジェクトの Namespace(例:
kms-test1)。 - KEY_NAME: 署名に使用する鍵の名前(例:
key-1)。 - INPUT_PATH: 署名する入力ファイルのパス。
- SIGNATURE_FILE: base64 エンコードされた署名を保存する出力ファイルのパス。
コマンドを実行すると、
--signature-fileフラグで指定した出力ファイルに、base64 でエンコードされた署名が含まれます。- NAMESPACE: プロジェクトの Namespace(例:
データを確認する
データを署名したら、gdcloud kms keys asymmetric-verify コマンドを使用して base64 デジタル署名を確認します。このコマンドは、gdcloud kms keys asymmetric-sign コマンドの実行後に受け取った Base64 エンコードのデジタル署名が有効かどうかを確認します。
署名を検証するには、署名ファイルと次のものを渡します。
gdcloud kms keys asymmetric-verify \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILEコマンドを実行すると、成功した場合は
Verification OKという出力が表示されます。成功しなかった場合は、失敗の出力Verification Failureが表示されます。