本文說明如何使用 gdcloud CLI,透過 Key Management System (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旗標中指定的檔案中看到解密資料。