在 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. 在「Welcome to Apigee API management」(歡迎使用 Apigee API 管理平台) 頁面中,由於您需要明確選取 CMEK,因此「Setup using defaults」(使用預設值設定) 會停用。按一下「自訂設定」
  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,才能建立新入口網站。