為伺服器設定加密金鑰

您可以設定加密金鑰來加密伺服器密碼。這些金鑰是客戶管理的加密金鑰 (CMEK),您可以使用 Cloud Key Management Service (Cloud KMS) 管理。您可以在佈建新伺服器時或重新映像現有伺服器時設定這些項目。加密金鑰可供多部伺服器使用。

您可以選擇是否使用加密金鑰。不過,設定加密金鑰後就必須使用。你無法變更這項設定。不過,您可以變更金鑰或金鑰版本。

這項功能僅適用於 Bare Metal 解決方案支援的 Linux 作業系統

事前準備

  1. 使用 Cloud KMS 建立加密金鑰。

    如要建立加密金鑰,請按照下列步驟操作:

    1. 在要建立金鑰的專案中,啟用 Cloud KMS API

      每項專案只需要執行這項操作一次。

    2. 將下列角色指派給 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 解決方案伺服器的專案
    3. 建立非對稱式解密金鑰

      您可以視需要建立多個金鑰和版本。

佈建伺服器時設定加密金鑰

透過Google Cloud 控制台申請表單佈建新的 Bare Metal 解決方案伺服器時,可以設定加密金鑰。

如要在佈建伺服器時設定加密金鑰,請參閱「使用 Google Cloud 控制台輸入表單輸入選取項目」。

重新映像伺服器時設定加密金鑰

如要在重新映像伺服器時設定加密金鑰,請參閱「變更伺服器的作業系統」。

查看伺服器的加密金鑰和密碼

如要查看伺服器的加密金鑰和密碼,請按照下列步驟操作:

主控台

  1. 前往「伺服器」頁面。

    前往「伺服器」

  2. 按一下伺服器名稱。

    在「伺服器詳細資料」頁面中,查看「密碼加密金鑰」欄位中的加密金鑰。

  3. 如要查看使用者帳戶和對應的加密密碼,請前往「使用者帳戶」部分。

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 解決方案伺服器的區域

解密密碼

如要取得原始密碼,請按照下列步驟操作:

  1. 取得密文。使用 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:與要解密密碼相關聯的帳戶使用者名稱。值為 rootcustomeradmin
    • 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
    
  2. 對密碼解密。請按照「解密資料」一文中的步驟操作。

後續步驟