為伺服器設定加密金鑰
您可以設定加密金鑰來加密伺服器密碼。這些金鑰是客戶管理的加密金鑰 (CMEK),您可以使用 Cloud Key Management Service (Cloud KMS) 管理。您可以在佈建新伺服器時或重新映像現有伺服器時設定這些項目。加密金鑰可供多部伺服器使用。
您可以選擇是否使用加密金鑰。不過,設定加密金鑰後就必須使用。你無法變更這項設定。不過,您可以變更金鑰或金鑰版本。
這項功能僅適用於 Bare Metal 解決方案支援的 Linux 作業系統。
事前準備
使用 Cloud KMS 建立加密金鑰。
如要建立加密金鑰,請按照下列步驟操作:
在要建立金鑰的專案中,啟用 Cloud KMS API。
每項專案只需要執行這項操作一次。
將下列角色指派給 Bare Metal Solution 服務帳戶。每項專案只需要執行這項操作一次。
roles/cloudkms.viewer
:確認CryptoKeyVersion
可供使用。roles/cloudkms.publicKeyViewer
:擷取公開金鑰。
如要瞭解如何授予角色,請參閱為資源授予角色。
如要指派這些角色,請使用
gcloud projects add-iam-policy-binding
指令。gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \ --role roles/cloudkms.publicKeyViewer
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \ --role roles/cloudkms.viewer
更改下列內容:
- KMS_PROJECT_ID:包含 Cloud KMS 金鑰的專案
- PROJECT_NUMBER:包含 Bare Metal 解決方案伺服器的專案
-
您可以視需要建立多個金鑰和版本。
佈建伺服器時設定加密金鑰
透過Google Cloud 控制台申請表單佈建新的 Bare Metal 解決方案伺服器時,可以設定加密金鑰。
如要在佈建伺服器時設定加密金鑰,請參閱「使用 Google Cloud 控制台輸入表單輸入選取項目」。
重新映像伺服器時設定加密金鑰
如要在重新映像伺服器時設定加密金鑰,請參閱「變更伺服器的作業系統」。
查看伺服器的加密金鑰和密碼
如要查看伺服器的加密金鑰和密碼,請按照下列步驟操作:
主控台
前往「伺服器」頁面。
按一下伺服器名稱。
在「伺服器詳細資料」頁面中,查看「密碼加密金鑰」欄位中的加密金鑰。
如要查看使用者帳戶和對應的加密密碼,請前往「使用者帳戶」部分。
gcloud
使用 gcloud alpha bms instances auth-info
指令:
gcloud alpha bms instances auth-info SERVER_NAME --project=PROJECT_ID --region=REGION
更改下列內容:
- SERVER_NAME:Bare Metal 解決方案伺服器的名稱
- PROJECT_ID:專案 ID
- REGION:Bare Metal 解決方案伺服器的區域
解密密碼
如要取得原始密碼,請按照下列步驟操作:
取得密文。使用
gcloud alpha bms instances auth-info
指令。gcloud alpha bms instances auth-info SERVER_NAME \ --project=PROJECT_ID \ --region=REGION \ --format='value(userAccounts.USERNAME.ENCRYPTED_PASSWORD_FILE)' | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
更改下列內容:
- SERVER_NAME:Bare Metal 解決方案伺服器的名稱
- PROJECT_ID:Bare Metal 解決方案專案的 ID
- REGION:Bare Metal 解決方案伺服器的位置
- USERNAME:與要解密密碼相關聯的帳戶使用者名稱。值為
root
或customeradmin
。 - ENCRYPTED_PASSWORD_FILE:您儲存加密密碼的檔案。為避免複製密碼後格式有問題,請移除空格和換行 (
'\n'
) 字元。 - CIPHERTEXT_FILE:密文檔案的名稱
範例:
gcloud alpha bms instances auth-info my-instance \ --region=europe-west3 \ --project=project-testing \ --format='value(userAccounts.customeradmin.encryptedPassword)' | tr -d ' \n' | base64 -d > ciphertext
如要從 Google Cloud 控制台複製密碼並取得密文,請使用下列指令:
cat ENCRYPTED_PASSWORD_FILE | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
更改下列內容:
- ENCRYPTED_PASSWORD_FILE:您儲存加密密碼的檔案。為避免複製密碼後格式有問題,請移除空格和換行 (
'\n'
) 字元。 - CIPHERTEXT_FILE:密文檔案的名稱
範例:
cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
對密碼解密。請按照「解密資料」一文中的步驟操作。