本頁說明如何在 Apigee 中使用 機構政策限制。
Apigee 中並非所有功能都會使用 CMEK 加密機密資料。為確保需要使用 CMEK 加密的資料不會在不知情的情況下使用未受 CMEK 保護的功能,系統會在 CMEK 受限專案符合規定前,停用這些功能。系統只會停用這些功能的新用途 (建立新資源或啟用外掛程式)。已在使用中的功能和資源仍可使用及編輯,但不會受到保護。
評估機構建立作業會遭到 gcloud alpha apigee organizations API 和 eval Provisioning 精靈阻擋。嘗試查看評估佈建精靈時,您會看到以下訊息:「Apigee 評估功能無法使用」。
如要進一步瞭解為 CMEK 受限專案停用的功能,請參閱「 組織政策限制」。
條款
本主題中使用的詞彙如下:
| 字詞 | 定義 | 
|---|---|
| 客戶管理的加密金鑰 | 客戶自行管理的加密金鑰。如需詳細說明,請參閱「客戶管理式加密金鑰」。 | 
| 機構政策限制 | 限制是指針對某 Google Cloud 服務或一組 Google Cloud服務進行的特定規範類型。就 CMEK 而言,有
            兩項相關限制: 
 | 
| 強制執行 | 保證 Apigee 的後端系統會遵循專案的限制 (此處為 CMEK 限制) | 
| 預先驗證 | 使用者介面行為,可引導您根據 CMEK 機構政策在 Apigee 中選取有效設定,且不會公開不符合規定的功能 | 
| 資源 | Apigee 資源,例如 機構和 執行個體 | 
如何限制非 CMEK 服務
本節將說明如何限制非 CMEK 服務。
- 符合必要條件。
- 在 Google Cloud 控制台中 選取專案。
- 建立新的機構政策限制。
- 佈建 Apigee。
必要條件
您必須:
- 
        具備
          組織政策管理員角色。如要取得管理組織政策所需的權限,請要求管理員為您授予組織的 
          組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理存取權」。
- 具備 Provisioning 簡介中所述的先決條件。
- 使用付費機構 (訂閱或即付即用)。
- 使用 資料落地。
開啟專案
- 在 Google Cloud 控制台中,前往「Dashboard」頁面。 
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
建立機構政策限制
機構政策由每項限制條件所設定的值來定義。這些政策可以在其資源層級設定、從父項資源繼承,也可以設定為 Google 代管的預設行為。在這種情況下,您會建立需要 CMEK 的限制,並套用至專案和從專案繼承的所有資源。
為確保在 Apigee 中加密資料時,一律使用客戶管理的加密金鑰,請建立下列機構政策限制:
- 在 Google Cloud 控制台中,前往「Organization policies」(機構政策) 頁面。 
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
- 在「Filter」方塊中輸入:
        constraints/gcp.restrictNonCmekServices 
- 依序按一下 「更多」「編輯政策」如果「編輯」已停用,表示您沒有必要的權限,請要求管理員授予您機構的 
            機構政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。詳情請參閱「前置條件」。
- 在「政策來源」中,選取「覆寫父項政策」。 這項資源將設有專屬政策。在下一個步驟中,您將指定如何處理父項政策規則。
- 在「政策強制執行」部分,選取下列其中一個選項:
        - 取代。這個選項會忽略父項政策並使用這些規則。
- Merge with parent。這個選項會在父項資源設定的規則之外,另外新增規則。
 如要進一步瞭解機構政策的繼承方式,請參閱「 瞭解階層評估」。 
- 點選「新增規則」。
- 在「政策值」部分,選取「自訂」。
- 在「政策類型」部分,選取「拒絕」。
- 在「自訂值」中輸入:
        apigee.googleapis.com 
- 按一下 [完成]。
- 按一下「設定政策」。系統隨即會顯示「政策詳細資料」頁面。
設定政策並選取繼承/使用政策的專案後,即可佈建 Apigee。請注意,在設定 CMEK 機構政策前建立的 Apigee 資源,不保證符合規定;只有在政策生效後建立的新資源,才會遵循 CMEK 限制。
另請參閱:
設定 Apigee
在有機構政策限制的情況下佈建 Apigee 的步驟與在沒有機構政策限制的情況下佈建 Apigee 的步驟相同,但使用者介面會防止您選取不支援的項目。
本節說明使用者介面會引導您進行選取作業的位置。
- 前往 Google Cloud 控制台的「Apigee」Apigee頁面。 
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
- 在「Welcome to Apigee API management page」中,由於您需要明確選取 CMEK,因此「Setup using defaults」已停用。按一下「自訂設定」。
- 啟用 API:請按照 步驟 1:啟用必要的 API所述啟用必要的 API。
- 設定網路:請按照 步驟 2:設定網路所述設定網路。
- 設定託管與加密: - 使用者歷程 D:客戶代管加密功能,搭配資料所在地是唯一與機構政策限制相關的使用者歷程,該限制會限制非 CMEK 服務。 - 按一下 「編輯」,開啟「代管和加密金鑰」面板。
- 在「Encryption type」區段中,Google 管理的加密金鑰已停用,客戶管理的加密金鑰已啟用且無法停用。
- 點選「下一步」。
- 在「Control Plane」區段中,「Enable data residency」(啟用資料落地控管機制) 已啟用,且無法停用。
- 請繼續按照 使用者歷程 D:客戶管理加密,搭配資料落地的步驟 3.b 設定託管和加密功能。
 
- 自訂存取轉送:請按照 步驟 4:自訂存取轉送所述,自訂存取轉送。
如何限制 CMEK 加密編譯金鑰專案
本節說明如何限制 CMEK 加密金鑰專案。
    您可以透過另一項組織政策限制,限制哪些專案可以提供加密金鑰:constraints/gcp.restrictCmekCryptoKeyProjects
   透過這項限制,您可以將可使用的加密金鑰專案加入許可清單。
您可以在選取 CMEK 的任何位置 (目前是佈建 Apigee 或建立 Apigee 執行個體時) 強制執行這項限制。
    如果 Google Cloud 控制台中選取的目前專案不在 restrictCmekCryptoKeyProjects 限制的許可清單中,您就無法從加密金鑰選取方塊中選取任何金鑰。您必須使用列於許可清單的專案金鑰。
必要條件
您必須:
- 
        具備
          組織政策管理員角色。如要取得管理組織政策所需的權限,請要求管理員為您授予組織的 
          組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理存取權」。
- 具備 Provisioning 簡介中所述的先決條件。
- 使用付費機構 (訂閱或即付即用)
- 使用 資料落地
- 使用 Google Cloud 控制台佈建 (訂閱或隨用付費)。
- 瞭解哪個專案包含您要使用的金鑰。
開啟專案
- 在 Google Cloud 控制台中,前往「Dashboard」頁面。 
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
建立機構政策限制
機構政策由每項限制條件所設定的值來定義。這些政策可以在資源層級設定、從父項資源繼承,也可以設定為 Google 代管的預設行為。在這種情況下,您將建立限制,只允許來自許可清單專案的金鑰。這項限制會套用至專案和所有繼承自專案的資源。
如要確保客戶自管加密金鑰只從特定專案使用,請將這些專案加入許可清單:
- 在 Google Cloud 控制台中,前往「Organization policies」(機構政策) 頁面。 
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
- 在「Filter」方塊中輸入:
      restrictCmekCryptoKeyProjects 
- 依序按一下 「更多」「編輯政策」如果「編輯」已停用,表示您沒有所需權限,請要求管理員授予您機構的 
          機構政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。詳情請參閱「前置條件」。
- 在「政策來源」中,選取「覆寫父項政策」。 這項資源將設有專屬政策。在下一個步驟中,您將指定如何處理父項政策規則。
- 在「政策強制執行」部分,選取下列其中一個選項:
      - 取代。這個選項會忽略父項政策並使用這些規則。
- Merge with parent。這個選項會在父項資源設定的規則之外,另外新增規則。
 如要進一步瞭解機構政策繼承,請參閱「 瞭解階層評估」。 
- 點選「新增規則」。
- 在「政策值」部分,選取「自訂」。
- 在「政策類型」中,選取「允許」。
- 在「自訂值」中輸入:
      projects/PROJECT_ID 將 PROJECT_ID 替換為您要使用的 Cloud KMS 金鑰所在的專案 ID。例如 my-kms-project。
- 按一下 [完成]。
- 按一下「設定政策」。系統隨即會顯示「政策詳細資料」頁面。
設定政策並選取繼承/使用政策的專案後,即可佈建 Apigee。請注意,在設定 CMEK 機構政策前建立的 Apigee 資源,不保證符合規定;只有在政策生效後建立的新資源,才會遵循 CMEK 限制。
另請參閱:
設定 Apigee
在有機構政策限制的情況下佈建 Apigee 的步驟與在沒有機構政策限制的情況下佈建 Apigee 的步驟相同;不過,使用者介面會防止您選取不支援的項目。
本節說明使用者介面會引導您進行選取作業的位置。
- 前往 Google Cloud 控制台的「Apigee」Apigee頁面。 
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
- 在「歡迎使用 Apigee API 管理頁面」中,按一下「自訂設定」。
- 啟用 API:請按照 步驟 1:啟用必要的 API所述啟用必要的 API。
- 設定網路:請按照 步驟 2:設定網路所述設定網路。
- 設定託管與加密: - 使用者歷程 D:客戶代管加密功能,搭配資料所在地是唯一與機構政策限制相關的使用者歷程,該限制會限制非 CMEK 服務。 - 按一下 「編輯」,開啟「代管和加密金鑰」面板。
- 在「Encryption type」部分,Google 管理的加密金鑰已停用,而「Customer-managed encryption key」已啟用且無法停用。
- 點選「下一步」。
- 在「Control Plane」區段中,「Enable data residency」(啟用資料落地控管機制) 已啟用,且無法停用。
- 請繼續按照 使用者歷程 D:客戶管理加密,搭配資料落地的步驟 3.b 設定託管和加密功能。
 
- 自訂存取轉送:請按照 步驟 4:自訂存取轉送所述,自訂存取轉送。
使用已加入許可清單的專案金鑰
如要使用 Apigee 中許可清單專案的金鑰,您必須根據資源 ID 手動輸入金鑰。您手動輸入的任何鍵也會經過驗證,以確保專案符合限制條件中允許的專案清單。
如何取得 Google 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
         | 您嘗試在專案存在機構政策限制的機構中進行佈建作業,並指定未列入許可清單的 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 從拒絕服務清單中移除,以便建立新的入口網站。 |