在 Apigee 中使用機構政策限制

本頁說明如何搭配 Apigee 使用 組織政策限制。

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

gcloud alpha apigee organizations API 和 評估佈建精靈都會封鎖評估機構的建立作業。 嘗試查看評估佈建精靈時,您會看到「無法評估 Apigee」訊息。

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

條款

本主題使用下列詞彙:

字詞 定義
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」(組織政策) 頁面。

    前往「Organization policies」(組織政策)

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

    如要瞭解機構政策的沿用方式,請參閱「 瞭解階層評估」。

  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. 在「歡迎使用 Apigee API 管理平台」頁面中,「使用預設設定」會停用,因為您需要明確選取 CMEK。按一下「自訂設定」。
  4. 啟用 API:如「 步驟 1:啟用必要的 API」一節所述,啟用必要的 API。
  5. 設定網路:按照「 步驟 2:設定網路」一節的說明設定網路。
  6. 設定託管與加密機制:

    使用者歷程 D:客戶自行管理的加密,並符合資料落地限制是唯一相關的使用者歷程,適用於限制非 CMEK 服務的組織政策限制。

    1. 按一下「編輯」,開啟「代管和加密金鑰」面板。
    2. 在「加密類型」部分,「Google 管理的加密金鑰」會停用,「客戶管理的加密金鑰」則會啟用,且無法停用。
    3. 點選「下一步」。
    4. 在「控制層」部分,「啟用資料落地」已啟用,且無法停用。
    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」(組織政策) 頁面。

    前往「Organization policies」(組織政策)

  2. 如果尚未選取專案,請在 Google Cloud 控制台下拉式清單中選取專案。
  3. 在「篩選器」方塊中輸入:
    restrictCmekCryptoKeyProjects
  4. 依序點按「更多」圖示 、「編輯政策」。如果「編輯」已停用,表示您沒有必要權限,請要求管理員授予您組織的 組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。詳情請參閱「先決條件」。
  5. 在「政策來源」部分,選取「覆寫上層政策」。 這項資源會有專屬政策。在下一個步驟中,您將指定如何處理父項政策規則。
  6. 在「Policy enforcement」(強制執行) 中,選取下列任一選項:
    • 取代。這個選項會忽略上層政策,並使用這些規則。
    • 與父項合併。這個選項除了上層資源設定的規則以外,另外新增規則。

    如要瞭解機構政策的沿用方式,請參閱「 瞭解階層評估」。

  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. 在「加密類型」部分,「Google 管理的加密金鑰」會停用,「客戶管理的加密金鑰」則會啟用,且無法停用。
    3. 點選「下一步」。
    4. 在「控制層」部分,「啟用資料落地」已啟用,且無法停用。
    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,才能建立新入口網站。