設定預設的金鑰存取依據政策

本頁面說明如何為 Assured Workloads 設定預設的金鑰存取依據政策。您可以為機構、資料夾或專案設定預設的金鑰存取依據政策。除非在建立金鑰時設定金鑰存取依據政策,否則系統會自動將預設金鑰存取依據政策套用至該資源中建立的新金鑰。預設金鑰存取依據政策不會套用至現有金鑰。

事前準備

  • 您只能在已註冊 Assured Workloads 日本區域控管套件的資料夾中,為 Cloud KMS 金鑰設定預設金鑰存取依據政策。

必要 IAM 權限

如要取得建立及管理預設金鑰存取依據政策所需的權限,請要求系統管理員在包含金鑰的組織、資料夾或專案中,授予您「金鑰存取依據政策設定管理員」 (roles/cloudkms.keyAccessJustificationsPolicyConfigAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立及管理預設金鑰存取依據政策所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立及管理預設金鑰存取依據政策,必須具備下列權限:

  • cloudkms.keyAccessJustificationsConfig.getKeyAccessJustificationsPolicyConfig
  • cloudkms.keyAccessJustificationsConfig.updateKeyAccessJustificationsPolicyConfig
  • cloudkms.keyAccessJustificationsConfig.showEffectiveKeyAccessJustificationsPolicyConfig

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

設定或變更預設金鑰存取依據政策

控制台

  1. 前往 Google Cloud 控制台的「金鑰管理」頁面。

    前往「金鑰管理」

  2. 依序點選「KMS 控制項」和「金鑰存取依據 (KAJ)」

  3. 按一下 [編輯]

  4. 選取「設定金鑰存取依據政策」,然後選取「允許特定原因代碼」

  5. 在「正當理由」中,選取「客戶發起的存取要求」、「Google 發起的系統作業」,以及您要允許的任何其他原因代碼。「客戶發起的存取要求」和「Google 發起的系統作業要求」都是正常運作的必要條件。

  6. 點選「建立」

gcloud

為機構設定預設政策

使用 kms kaj-config update 指令搭配 --organization 旗標,在資料夾中建立或更新預設的金鑰存取依據政策:

gcloud beta kms kaj-config update
    --organization=ORGANIZATION_NUMBER
    --allowed-access-reasons="ALLOWED_ACCESS_REASONS"

更改下列內容:

  • ORGANIZATION_NUMBER:要設定預設金鑰存取依據政策的機構編號。
  • ALLOWED_ACCESS_REASONS:金鑰存取依據政策列出允許的存取原因,格式為以半形逗號分隔的清單,例如 CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION。如要查看可能的原因清單,請參閱原因代碼

在資料夾上設定預設政策

使用 kms kaj-config update 指令搭配 --folder 旗標,在資料夾中建立或更新預設的金鑰存取依據政策:

gcloud beta kms kaj-config update
    --folder=FOLDER_ID
    --allowed-access-reasons="ALLOWED_ACCESS_REASONS"

更改下列內容:

  • FOLDER_ID:您要設定預設金鑰存取依據政策的資料夾 ID。
  • ALLOWED_ACCESS_REASONS:金鑰存取依據政策列出允許的存取原因,格式為以半形逗號分隔的清單,例如 CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION。如要查看可能的原因清單,請參閱原因代碼

在專案中設定預設政策

使用 kms kaj-config update 指令搭配 --project 旗標,在專案中建立或更新預設的金鑰存取依據政策:

gcloud beta kms kaj-config update
    --project=PROJECT_ID
    --allowed-access-reasons="ALLOWED_ACCESS_REASONS"

更改下列內容:

  • PROJECT_ID:您要設定預設金鑰存取依據政策的專案 ID。
  • ALLOWED_ACCESS_REASONS:金鑰存取依據政策列出允許的存取原因,格式為以半形逗號分隔的清單,例如 CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION。如要查看可能的原因清單,請參閱原因代碼

REST

為機構設定預設政策

使用 organizations.updateKeyAccessJustificationsPolicyConfig 方法,在組織中建立或更新預設金鑰存取依據政策:

curl "https://cloudkms.googleapis.com/v1/organizations/ORGANIZATION_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
  --request "PATCH" \
  --header "authorization: Bearer TOKEN" \
  --header "content-type: application/json" \
  --data '{"name": "organizations/ORGANIZATION_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'

更改下列內容:

  • ORGANIZATION_ID:要設定預設金鑰存取依據政策的機構 ID。
  • POLICY:「金鑰存取依據」政策清單 allowedAccessReasons,格式為 JSON 物件,例如 {"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]}。如需可能理由清單,請參閱理由代碼

在資料夾上設定預設政策

使用 folders.updateKeyAccessJustificationsPolicyConfig 方法,在資料夾中建立或更新預設金鑰存取依據政策:

curl "https://cloudkms.googleapis.com/v1/folders/FOLDER_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
  --request "PATCH" \
  --header "authorization: Bearer TOKEN" \
  --header "content-type: application/json" \
  --data '{"name": "folders/FOLDER_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'

更改下列內容:

  • FOLDER_ID:您要設定預設金鑰存取依據政策的資料夾 ID。
  • POLICY:「金鑰存取依據」政策清單 allowedAccessReasons,格式為 JSON 物件,例如 {"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]}。如需可能理由清單,請參閱理由代碼

在專案中設定預設政策

使用 projects.updateKeyAccessJustificationsPolicyConfig 方法,在專案中建立或更新預設金鑰存取依據政策:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
  --request "PATCH" \
  --header "authorization: Bearer TOKEN" \
  --header "content-type: application/json" \
  --data '{"name": "projects/PROJECT_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'

更改下列內容:

  • PROJECT_ID:您要設定預設金鑰存取依據政策的專案 ID。
  • POLICY:「金鑰存取依據」政策清單 allowedAccessReasons,格式為 JSON 物件,例如 {"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]}。如需可能理由清單,請參閱理由代碼

查看預設的金鑰存取依據政策

控制台

  1. 前往 Google Cloud 控制台的「金鑰管理」頁面。

    前往「金鑰管理」

  2. 依序點選「KMS 控制項」和「金鑰存取依據 (KAJ)」。系統會顯示所選組織、資料夾或專案的預設政策。

gcloud

查看機構的預設政策

如要查看機構的預設政策,請執行 kms kaj-config describe 指令並加上 --organization 旗標:

gcloud beta kms kaj-config describe --organization=ORGANIZATION_NUMBER

ORGANIZATION_NUMBER 替換為機構編號。

回覆內容大致如下:

defaultKeyAccessJustificationPolicy:
  defaultPolicyAvailable: true
  allowedAccessReasons:
  - CUSTOMER_INITIATED_ACCESS
  - GOOGLE_INITIATED_SYSTEM_OPERATION
name: organizations/ORGANIZATION_NUMBER/kajPolicyConfig

查看資料夾的預設政策

如要查看資料夾的預設政策,請執行 kms kaj-config describe 指令並搭配 --folder 旗標:

gcloud beta kms kaj-config describe --folder=FOLDER_ID

FOLDER_ID 替換為資料夾的 ID。

回覆內容大致如下:

defaultKeyAccessJustificationPolicy:
  defaultPolicyAvailable: true
  allowedAccessReasons:
  - CUSTOMER_INITIATED_ACCESS
  - GOOGLE_INITIATED_SYSTEM_OPERATION
name: folders/FOLDER_ID/kajPolicyConfig

查看專案的預設政策

如要查看專案的預設政策,請執行 kms kaj-config describe 指令並搭配使用 --project 標記:

gcloud beta kms kaj-config describe --project=PROJECT_ID

PROJECT_ID 替換為專案 ID。

回覆內容大致如下:

defaultKeyAccessJustificationPolicy:
  defaultPolicyAvailable: true
  allowedAccessReasons:
  - CUSTOMER_INITIATED_ACCESS
  - GOOGLE_INITIATED_SYSTEM_OPERATION
name: projects/PROJECT_ID/kajPolicyConfig

如果專案有預設政策,這個指令會傳回該政策。如果專案未設定預設政策,即使專案繼承上層資料夾或機構的預設政策,這項指令也不會傳回任何政策。如要查看專案的有效預設政策,請參閱本頁的「查看專案的有效預設金鑰存取依據政策」。

REST

使用 organizations.getKajPolicyConfig 方法,取得機構現有預設金鑰存取依據政策的中繼資料:

curl "https://cloudkms.googleapis.com/v1/organizations/ORGANIZATION_ID/kajPolicyConfig"

ORGANIZATION_ID 替換為要取得預設金鑰存取依據政策的機構 ID。

回覆內容大致如下:

{
  "name" : "organizations/ORGANIZATION_ID/kajPolicyConfig"
  "defaultKeyAccessJustificationPolicy": {
    "defaultPolicyAvailable": true,
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

使用 folders.getKajPolicyConfig 方法,取得資料夾中現有預設金鑰存取依據政策的中繼資料:

curl "https://cloudkms.googleapis.com/v1/folders/FOLDER_ID/kajPolicyConfig"

FOLDER_ID 替換為要取得預設金鑰存取依據政策的資料夾 ID。

回覆內容大致如下:

{
  "name" : "folders/FOLDER_ID/kajPolicyConfig"
  "defaultKeyAccessJustificationPolicy": {
    "defaultPolicyAvailable": true,
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

使用 projects.getKajPolicyConfig 方法,取得專案現有預設金鑰存取依據政策的中繼資料:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/kajPolicyConfig"

PROJECT_ID 替換為要取得預設金鑰存取依據政策的專案 ID。

回覆內容大致如下:

{
  "name" : "project/PROJECT_ID/kajPolicyConfig"
  "defaultKeyAccessJustificationPolicy": {
    "defaultPolicyAvailable": true,
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

查看專案的有效預設金鑰存取依據政策

專案會從最接近的父項資料夾或組織繼承預設政策。如果單一專案的祖先設定了多項預設政策,您可以取得該專案的有效政策,查看套用至該專案中新建立 Cloud KMS 金鑰的政策。

在 Google Cloud 控制台中,您在專案中建立金鑰時,系統會顯示專案的有效預設金鑰存取依據政策。建立金鑰時,您可以選擇是否要沿用有效的預設政策,或是建立新的金鑰和政策

gcloud

如要查看專案中有效預設金鑰存取依據政策的中繼資料,請呼叫 projects.showEffectiveKeyAccessJustificationsPolicyConfig 方法:

gcloud beta kms kaj-config show-effective-config --project=PROJECT_ID

PROJECT_ID 替換為要取得有效預設金鑰存取依據政策的專案 ID。

回覆內容大致如下:

effectiveKajPolicy:
  defaultKeyAccessJustificationPolicy:
    defaultPolicyAvailable: true
    allowedAccessReasons:
    - CUSTOMER_INITIATED_ACCESS
    - GOOGLE_INITIATED_SYSTEM_OPERATION
  name: folders/FOLDER_ID/kajPolicyConfig

REST

如要查看專案中有效預設金鑰存取依據政策的中繼資料,請呼叫 projects.showEffectiveKeyAccessJustificationsPolicyConfig 方法:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID:showEffectiveKeyAccessJustificationsPolicyConfig"

PROJECT_ID 替換為要取得有效預設金鑰存取依據政策的專案 ID。

回覆內容大致如下:

{
  "effectiveKajPolicy" : {
    "name" : "folders/FOLDER_ID/kajPolicyConfig"
    "defaultKeyAccessJustificationPolicy": {
      "defaultPolicyAvailable": true,
      "allowedAccessReasons": [
        "CUSTOMER_INITIATED_ACCESS",
        "GOOGLE_INITIATED_SYSTEM_OPERATION"
      ]
    }
  }
}

後續步驟