驗證金鑰存取權

本頁說明如何建立客戶自行管理的加密金鑰 (CMEK) 政策後,驗證金鑰存取權。

金鑰存取權驗證用途

您隨時可以重新執行金鑰存取權驗證,找出金鑰問題:

  • 停用金鑰:如果金鑰遭到停用,您將無法再存取磁碟區中的資料。

  • 金鑰銷毀:如果金鑰遭到銷毀,資料就無法復原。你可以刪除磁碟區來釋出容量。詳情請參閱「刪除磁碟區」。

  • 缺少權限:如果權限遭到移除,系統會顯示授予權限的操作說明。請參閱「授予服務讀取金鑰的權限」。

授予服務讀取金鑰的權限

如要使用 CMEK 金鑰,您必須先授予服務讀取指定金鑰的權限。NetApp Volumes 會提供正確的 Google Cloud CLI 指令。如要將必要的 Cloud KMS 金鑰權限授予服務,您必須建立具有適當權限的專案範圍自訂角色,然後建立金鑰角色繫結,將自訂角色繫結至適當的服務帳戶。您必須在 Google 帳戶的專案中具備「角色管理員」(roles/iam.RoleAdmin) 權限,才能建立自訂角色,並具備「Cloud KMS 管理員」(roles/cloudkms.admin) 權限,才能授予 NetApp Volumes 金鑰存取權。

按照下列操作說明,使用 Google Cloud 控制台或 Google Cloud CLI,授予服務讀取金鑰的權限。

控制台

  1. 前往 Google Cloud 控制台的「NetApp Volumes」頁面

    前往 NetApp Volumes

  2. 選取「CMEK policies」(客戶自行管理加密金鑰政策)

  3. 找出要編輯的 CMEK 政策,然後按一下「顯示更多」選單。

  4. 選取「驗證金鑰存取權」

  5. 如果尚未設定金鑰存取權,驗證就會失敗,且使用者介面會顯示如何授予金鑰存取權的操作說明。執行必要的 Google Cloud CLI 指令後,請按一下「重試」,再次執行金鑰驗證。

    如果驗證成功,系統會顯示對話方塊,指出驗證成功。如果驗證失敗,請按一下「重試」,重新執行金鑰檢查。

gcloud

執行下列 kms-configs verify 指令:

 gcloud netapp kms-configs verify CONFIG_NAME \
   --project=PROJECT_ID \
   --location=LOCATION

請替換下列資訊:

  • CONFIG_NAME:設定名稱。

  • PROJECT_ID:您要授予存取權的專案專屬 ID。

  • LOCATION:設定的區域。

如果金鑰驗證成功,指令會輸出下列訊息:

healthy: true

如果金鑰驗證失敗,您必須授予金鑰存取權。 執行下列指令,找出授予服務金鑰存取權的 Google Cloud CLI 指令。您必須具備 cloudkms.admin 角色,才能執行下列指令。

  gcloud netapp kms-configs describe CONFIG_NAME \
   --project=PROJECT_ID \
   --location=LOCATION \
   --format="value(instructions)"

如要進一步瞭解其他選用標記,請參閱 Cloud Key Management Service 的 Google Cloud SDK 說明文件

詳情請參閱 Cloud Key Management Service 使用者說明文件

為 CMEK 設定 VPC Service Controls 輸入規則

如果您使用 VPC Service Controls,請務必更新輸入規則,允許相關專案、區域和服務帳戶的流量。

請使用下列範本設定必要權限。

   {
    "ingressFrom": {
      "identities": [
    "serviceAccount:n-cmek-usea4-1234567890@netapp-cmek-prod.iam.gserviceaccount.com"
       ],
       "sources": [
         {
          "resource": "projects/112233445566"
         }
       ]
   },
   "ingressTo": {
     "operations": [
       {
         "methodSelectors": [
           {
             "method": "*"
           }
       ],
       "serviceName": "cloudkms.googleapis.com"
       }
       ],
       "resources": [
         "projects/1234567890"
       ]
   },
   "title": "CMEK for NetApp Volumes"
   }
 

更新範本中的下列欄位:

  • ingressFrom.identities:輸入以半形逗號分隔的 NetApp Volumes 服務帳戶清單。這項服務會為每個專案和位置使用專屬服務帳戶,格式如下:

    serviceAccount:n-cmek-location-short-name-your-project-number@netapp-cmek-prod.iam.gserviceaccount.com

    其中 location-short-name 是區域的簡短形式,例如 us-east4usea4your-project-number 則是專案編號。

    您可以使用下列指令查詢這個服務帳戶名稱:

    gcloud netapp kms-configs describe NAME --location LOCATION --format="value(serviceAccount)"
    

    請替換下列資訊:

    • NAME:CMEK 政策的名稱。
    • LOCATION:CMEK 政策的區域。

    範本中的範例顯示 Google 專案 1234567890us-east4 區域的服務帳戶名稱。

  • ingressTo.resources:輸入包含磁碟區的專案編號。範本中的範例使用 projects/1234567890

  • ingressFrom.sources:輸入服務使用的後端專案清單,並以半形逗號分隔。您必須為每個需要代管 CMEK 磁碟區的 Google 區域新增一個項目。如要取得您所在區域的後端專案編號,請與 Google Cloud Customer Care 聯絡。在範本中,projects/112233445566 是預留位置,您必須將其替換為所在區域的後端專案編號。

您無法為 cloudkms.googleapis.com 服務指定個別方法,必須使用 * 允許所有方法。

後續步驟

管理 CMEK 政策