本頁說明如何在 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 角色。如要進一步瞭解如何授予角色,請參閱「管理存取權」。 - 具備 佈建簡介中所述的必要條件。
- 使用付費機構 (訂閱或即付即用)。
- 使用 資料落地。
開啟專案
在 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」頁面。
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
- 在「Welcome to Apigee API management page」中,由於您需要明確選取 CMEK,因此「Setup using defaults」已停用。按一下「自訂設定」。
- 啟用 API:請按照 步驟 1:啟用必要的 API所述啟用必要的 API。
- 設定網路:請按照 步驟 2:設定網路所述設定網路。
設定託管與加密:
使用者歷程 D:客戶代管加密功能,搭配資料所在地是唯一與機構政策限制相關的使用者歷程,這項限制會限制非 CMEK 服務。
- 按一下 「編輯」,開啟「代管和加密金鑰」面板。
- 在「Encryption type」部分, Google 管理的加密金鑰已停用,而客戶管理的加密金鑰已啟用且無法停用。
- 點按「Next」。
- 在「Control Plane」區段中,「Enable data residency」(啟用資料落地控管機制) 已啟用,且無法停用。
- 請繼續按照 使用者歷程 D:客戶管理加密,搭配資料落地的步驟 3.b 設定託管和加密功能。
- 自訂存取轉送:請按照 步驟 4:自訂存取轉送所述,自訂存取轉送。
如何限制 CMEK 加密編譯金鑰專案
本節說明如何限制 CMEK 加密金鑰專案。
您可以透過另一項組織政策限制,限制哪些專案可以提供加密金鑰:constraints/gcp.restrictCmekCryptoKeyProjects
透過這項限制,您可以將可使用的加密金鑰專案加入許可清單。
您可以在選取 CMEK 的任何位置 (目前是佈建 Apigee 或建立 Apigee 執行個體時) 強制執行這項限制。
如果 Google Cloud 控制台中選取的目前專案不在 restrictCmekCryptoKeyProjects
限制的許可清單中,您就無法從加密金鑰選取方塊中選取任何金鑰。您必須使用列於許可清單的專案金鑰。
事前準備
您必須:
-
具備
組織政策管理員角色。如要取得管理組織政策所需的權限,請要求管理員為您授予組織的
組織政策管理員 (
roles/orgpolicy.policyAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理存取權」。 - 具備 佈建簡介中所述的必要條件。
- 使用付費機構 (訂閱或即付即用)
- 使用 資料落地
- 使用 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」頁面。
- 如果尚未選取專案,請在 Google Cloud 控制台的下拉式清單中選取專案。
- 在「歡迎使用 Apigee API 管理頁面」中,按一下「自訂設定」。
- 啟用 API:請按照 步驟 1:啟用必要的 API所述啟用必要的 API。
- 設定網路:請按照 步驟 2:設定網路所述設定網路。
設定託管與加密:
使用者歷程 D:客戶代管加密功能,搭配資料所在地是唯一與機構政策限制相關的使用者歷程,這項限制會限制非 CMEK 服務。
- 按一下 「編輯」,開啟「代管和加密金鑰」面板。
- 在「Encryption type」部分,Google 管理的加密金鑰已停用,而「Customer-managed encryption key」已啟用且無法停用。
- 點按「Next」。
- 在「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 從拒絕服務清單中移除,才能建立新的入口網站。 |