在 Apigee 中使用機構政策限制

本頁說明如何在 Apigee 中使用 機構政策限制

Apigee 中並非所有功能都會使用 CMEK 加密機密資料。為確保需要使用 CMEK 加密的資料不會在不知情的情況下使用未受 CMEK 保護的功能,系統會在 CMEK 受限專案符合規定前,停用這些功能。系統只會停用新功能的使用方式 (建立新資源或啟用外掛程式)。已在使用中的功能和資源仍可使用及編輯,但不會受到保護。

評估機構建立作業會遭到 gcloud alpha apigee organizations API 和 eval Provisioning 精靈阻擋。嘗試查看評估佈建精靈時,您會看到以下訊息:「Apigee 評估功能無法使用」

如要進一步瞭解為 CMEK 受限專案停用的功能,請參閱「 組織政策限制」。

條款

本主題中使用的詞彙如下:

字詞 定義
客戶管理的加密金鑰 客戶自行管理的加密金鑰。如需詳細說明,請參閱「客戶管理式加密金鑰」。
機構政策限制 限制是指針對某 Google Cloud 服務或一組 Google Cloud服務進行的特定規範類型。就 CMEK 而言,有 兩項相關限制
  • constraints/gcp.restrictNonCmekServices
  • constraints/gcp.restrictCmekCryptoKeyProjects
強制執行 保證 Apigee 的後端系統會遵循專案的限制 (此處為 CMEK 限制)
預先驗證 使用者介面行為,可引導您根據 CMEK 機構政策在 Apigee 中選取有效的設定,且不會公開不符合規定的功能
資源 Apigee 資源,例如 機構 執行個體

如何限制非 CMEK 服務

本節將說明如何限制非 CMEK 服務。

  1. 符合必要條件
  2. 在 Google Cloud 控制台中 選取專案
  3. 建立新的機構政策限制
  4. 佈建 Apigee

事前準備

您必須:

開啟專案

  1. 在 Google Cloud 控制台中,前往「Dashboard」頁面。

    前往資訊主頁

  2. 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。

建立機構政策限制

機構政策由每項限制條件所設定的值來定義。這些政策可以在資源層級設定、從父項資源繼承,也可以設定為 Google 代管的預設行為。在這種情況下,您會建立需要 CMEK 的限制,並套用至專案和從專案繼承的所有資源。

為確保在 Apigee 中加密資料時,一律使用客戶管理的加密金鑰,請建立下列機構政策限制:

  1. 在 Google Cloud 控制台中,前往「Organization policies」(機構政策) 頁面。

    前往「機構政策」

  2. 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
  3. 在「Filter」方塊中輸入:
    constraints/gcp.restrictNonCmekServices
  4. 依序按一下 「更多」「編輯政策」如果「編輯」已停用,表示您沒有必要的權限,請要求管理員授予您機構的 機構政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。詳情請參閱「前置條件」。
  5. 在「政策來源」部分,選取「覆寫父項政策」。 這項資源將設有專屬政策。在下一個步驟中,您將指定如何處理父項政策規則。
  6. 在「政策強制執行」部分,選取下列其中一個選項:
    • 取代。這個選項會忽略父項政策並使用這些規則。
    • Merge with parent。這個選項會在父項資源設定的規則之外,另外新增規則。

    如要進一步瞭解機構政策繼承,請參閱「 瞭解階層評估」。

  7. 點選「新增規則」
  8. 在「政策值」部分,選取「自訂」
  9. 在「政策類型」部分,選取「拒絕」
  10. 在「自訂值」中輸入:
    apigee.googleapis.com
  11. 按一下 [完成]
  12. 按一下「設定政策」。系統隨即會顯示「政策詳細資料」頁面。

設定政策並選取繼承/使用政策的專案後,即可佈建 Apigee。請注意,在設定 CMEK 機構政策前建立的 Apigee 資源,不保證符合規定;只有在政策生效後建立的新資源,才會遵循 CMEK 限制。

另請參閱:

設定 Apigee

在有機構政策限制的情況下佈建 Apigee 的步驟與在沒有機構政策限制的情況下佈建 Apigee 的步驟相同,但使用者介面會防止您選取不支援的項目。

本節說明使用者介面會引導您進行選取作業的位置。

  1. 前往 Google Cloud 控制台的「Apigee」頁面。

    前往 Apigee

  2. 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
  3. 在「Welcome to Apigee API management page」中,由於您需要明確選取 CMEK,因此「Setup using defaults」已停用。按一下「自訂設定」
  4. 啟用 API:請按照 步驟 1:啟用必要的 API所述啟用必要的 API。
  5. 設定網路:請按照 步驟 2:設定網路所述設定網路。
  6. 設定託管與加密

    使用者歷程 D:客戶代管加密功能,搭配資料所在地是唯一與機構政策限制相關的使用者歷程,這項限制會限制非 CMEK 服務。

    1. 按一下 「編輯」,開啟「代管和加密金鑰」面板。
    2. 在「Encryption type」部分, Google 管理的加密金鑰已停用,而客戶管理的加密金鑰已啟用且無法停用。
    3. 點按「Next」
    4. 在「Control Plane」區段中,「Enable data residency」(啟用資料落地控管機制) 已啟用,且無法停用。
    5. 請繼續按照 使用者歷程 D:客戶管理加密,搭配資料落地的步驟 3.b 設定託管和加密功能。
  7. 自訂存取轉送:請按照 步驟 4:自訂存取轉送所述,自訂存取轉送。

如何限制 CMEK 加密編譯金鑰專案

本節說明如何限制 CMEK 加密金鑰專案。

您可以透過另一項組織政策限制,限制哪些專案可以提供加密金鑰:constraints/gcp.restrictCmekCryptoKeyProjects 透過這項限制,您可以將可使用的加密金鑰專案加入許可清單。

您可以在選取 CMEK 的任何位置 (目前是佈建 Apigee 或建立 Apigee 執行個體時) 強制執行這項限制。

如果 Google Cloud 控制台中選取的目前專案不在 restrictCmekCryptoKeyProjects 限制的許可清單中,您就無法從加密金鑰選取方塊中選取任何金鑰。您必須使用列於許可清單的專案金鑰。

事前準備

您必須:

  • 具備 組織政策管理員角色。如要取得管理組織政策所需的權限,請要求管理員為您授予組織的 組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理存取權」。
  • 具備 佈建簡介中所述的必要條件。
  • 使用付費機構 (訂閱或即付即用)
  • 使用 資料落地
  • 使用 Google Cloud 控制台佈建 (訂閱或隨用付費)。
  • 瞭解哪個專案包含您要使用的金鑰。

開啟專案

  1. 在 Google Cloud 控制台中,前往「Dashboard」頁面。

    前往資訊主頁

  2. 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。

建立機構政策限制

機構政策由每項限制條件所設定的值來定義。這些政策可以在資源層級設定、從父項資源繼承,也可以設定為 Google 代管的預設行為。在這種情況下,您將建立限制,只允許來自許可清單專案的金鑰。這項限制會套用至專案,以及繼承自專案的所有資源。

如要確保客戶自管加密金鑰只從特定專案使用,請將這些專案加入許可清單:

  1. 在 Google Cloud 控制台中,前往「Organization policies」(機構政策) 頁面。

    前往「機構政策」

  2. 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
  3. 在「Filter」方塊中輸入:
    restrictCmekCryptoKeyProjects
  4. 依序按一下 「更多」「編輯政策」如果「編輯」已停用,表示您沒有所需權限,請要求管理員授予您機構的 機構政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。詳情請參閱「前置條件」。
  5. 在「政策來源」中,選取「覆寫父項政策」。 這項資源將設有專屬政策。在下一個步驟中,您將指定如何處理父項政策規則。
  6. 在「政策強制執行」部分,選取下列其中一個選項:
    • 取代。這個選項會忽略父項政策並使用這些規則。
    • Merge with parent。這個選項會在父項資源設定的規則之外,另外新增規則。

    如要進一步瞭解機構政策繼承,請參閱「 瞭解階層評估」。

  7. 點選「新增規則」
  8. 在「政策值」部分,選取「自訂」
  9. 在「政策類型」中,選取「允許」
  10. 在「自訂值」中輸入:
    projects/PROJECT_ID

    PROJECT_ID 替換為您要使用的 Cloud KMS 金鑰所在的專案 ID。例如 my-kms-project

  11. 按一下 [完成]
  12. 按一下「設定政策」。系統隨即會顯示「政策詳細資料」頁面。

設定政策並選取繼承/使用政策的專案後,即可佈建 Apigee。請注意,在設定 CMEK 機構政策前建立的 Apigee 資源,不保證符合規定;只有在政策生效後建立的新資源,才會遵循 CMEK 限制。

另請參閱:

設定 Apigee

在有機構政策限制的情況下佈建 Apigee 的步驟與在沒有機構政策限制的情況下佈建 Apigee 的步驟相同;不過,使用者介面會防止您選取不支援的項目。

本節說明使用者介面會引導您進行選取作業的位置。

  1. 前往 Google Cloud 控制台的「Apigee」頁面。

    前往 Apigee

  2. 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
  3. 在「歡迎使用 Apigee API 管理頁面」中,按一下「自訂設定」
  4. 啟用 API:請按照 步驟 1:啟用必要的 API所述啟用必要的 API。
  5. 設定網路:請按照 步驟 2:設定網路所述設定網路。
  6. 設定託管與加密

    使用者歷程 D:客戶代管加密功能,搭配資料所在地是唯一與機構政策限制相關的使用者歷程,這項限制會限制非 CMEK 服務。

    1. 按一下 「編輯」,開啟「代管和加密金鑰」面板。
    2. 在「Encryption type」部分,Google 管理的加密金鑰已停用,而「Customer-managed encryption key」已啟用且無法停用。
    3. 點按「Next」
    4. 在「Control Plane」區段中,「Enable data residency」(啟用資料落地控管機制) 已啟用,且無法停用。
    5. 請繼續按照 使用者歷程 D:客戶管理加密,搭配資料落地的步驟 3.b 設定託管和加密功能。
  7. 自訂存取轉送:請按照 步驟 4:自訂存取轉送所述,自訂存取轉送。

使用已加入許可清單的專案金鑰

如要使用 Apigee 中已列入許可清單的專案金鑰,您必須根據資源 ID 手動輸入金鑰。您手動輸入的任何鍵也會經過驗證,以確保專案符合限制條件中允許的專案清單。

如何取得 Google Cloud KMS 資源 ID

請參閱:取得 Cloud KMS 資源 ID

疑難排解

下表說明 CMEK 和機構政策限制可能發生的常見錯誤情況。

錯誤訊息 原因 操作步驟
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. 您嘗試在專案中存在機構政策限制的情況下,為試用版機構佈建。 試用/評估機構不支援 CMEK。您必須更新機構政策限制 constraints/gcp.restrictNonCmekServices,將 Apigee 從拒絕服務清單中移除,才能佈建測試機構。
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable global org. CMEK is not supported in location 'global', select another location or adjust the code constraint for this project. 您嘗試在專案中存在機構政策限制的全球機構中,佈建全球機構。 全球組織不支援 CMEK。您必須更新機構政策限制 constraints/gcp.restrictNonCmekServices,將 Apigee 從拒絕服務清單中移除,或使用其他位置建立機構。
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a resource without specifying a KMS CryptoKey. Provide a KMS CryptoKey to use for this resource. 您嘗試為機構佈建專案,但該專案有機構政策限制,且未指定 KMS CryptoKey。 您在機構政策中設定了程式碼,因此必須提供 CMEK 才能加密資料。您必須提供 CMEK 金鑰,才能建立機構或執行個體。如果您不想強制執行 CMEK,可以更新組織政策限制 constraints/gcp.restrictNonCmekServices,將 Apigee 從拒絕服務清單中移除。
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. 您嘗試在專案存在機構政策限制的機構中進行佈建作業,並指定未列入許可清單的 KMS CryptoKey。 您已在機構政策中設定 constraints/gcp.restrictCmekCryptoKeyProjects,要求您提供您列出的允許專案中的 CMEK 金鑰。您必須提供允許專案的 CMEK 金鑰,才能建立機構或執行個體。或者,您也可以更新機構政策限制 constraints/gcp.restrictCmekCryptoKeyProjects,允許您所需特定 Google Cloud 專案中的金鑰。
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a portal. Integrated portals do not support the use of CMEK. To use integrated portals, adjust the gcp.restrictNonCmekServices policy constraint. 您嘗試在專案有機構政策限制的情況下建立入口網站。 整合式入口網站不支援 CMEK。您必須更新機構政策限制 constraints/gcp.restrictNonCmekServices,將 Apigee 從拒絕服務清單中移除,才能建立新的入口網站。