本頁說明如何在 Cloud SQL 專案中使用機構政策。如要開始建立機構政策,請參閱「新增機構政策」。
總覽
機構政策可讓機構管理員設定使用者如何設定該機構下的執行個體。機構政策會使用機構管理員在專案、資料夾或機構中設定的規則 (稱為限制)。限制會在所有執行個體中強制執行政策。舉例來說,如果您嘗試在設有組織政策的實體中建立執行個體,系統會執行檢查,確保執行個體設定符合限制條件的要求。如果檢查失敗,Cloud SQL 就不會建立執行個體。
當您將專案新增至使用機構政策的機構或資料夾時,專案會繼承該政策的限制。
如要進一步瞭解機構政策,請參閱「機構政策服務」、「限制」和「 階層評估」。
Cloud SQL 專屬的機構政策類型如下:
預先定義的機構政策
您可以使用預先定義的限制來控制 Cloud SQL 執行個體的公開 IP 設定和客戶自行管理的加密金鑰 (CMEK) 設定。如要更精細控管其他支援的設定,您可以使用自訂限制。詳情請參閱「自訂組織政策」。
連線機構政策
連線機構政策可集中控管 Cloud SQL 的公開 IP 設定,以減少來自網際網路的 Cloud SQL 執行個體安全攻擊途徑。機構政策管理員可以使用連線政策,在專案、資料夾或機構層級限制 Cloud SQL 的公開 IP 設定。
連線機構政策限制
針對連線機構政策,有兩種預先定義的限制可強制執行 Cloud SQL 執行個體的存取權。您也可以使用自訂機構政策來強制執行連線機構政策。詳情請參閱「自訂限制範例」一節中的 ipConfiguration 範例。
限制 | 說明 | 預設行為 |
---|---|---|
限制 Cloud SQL 執行個體的公開 IP 存取權 | 如果將這項布林限制設為 True ,就無法針對 Cloud SQL 執行個體設定公開 IP。這項限制不會溯及既往。即使強制執行這項限制,目前設有公開 IP 存取權的 Cloud SQL 執行個體仍可正常運作。根據預設,系統會允許 Cloud SQL 執行個體的公開 IP 存取權。 constraints/sql.restrictPublicIp
|
允許 |
針對 Cloud SQL 執行個體限制授權的網路 | 如果將這項布林限制設為 True ,就不得在 Cloud SQL 執行個體中新增已授權網路,以用於未經 Proxy 處理的資料庫存取權。這項限制不會溯及既往。
即使強制執行這項限制,目前設有已授權網路的 Cloud SQL 執行個體仍可正常運作。根據預設,您可以將已授權網路新增至 Cloud SQL 執行個體。 constraints/sql.restrictAuthorizedNetworks |
允許 |
連線機構政策的限制
為每個專案設定機構政策時,您需要判斷下列任一項目是否適用於專案:
- 唯讀副本的公開 IP 發生衝突
- 使用 gcloud CLI 的 sql connect 時發生不相容問題
- Google Cloud 代管服務存取權
- 非 RFC 1918 私人 IP 位址
唯讀備用機器公開 IP 位址相衝突
Cloud SQL 唯讀備用資源會透過非 Proxy 資料庫連線連線至主要執行個體。您可以使用主要執行個體的「Authorized Networks」設定,明確或隱含地設定讀取/複寫伺服器的公開 IP 位址。
如果主執行個體和複本執行個體都位於同一個區域,且已啟用私人 IP,則不會與連線機構政策限制發生衝突。
使用 gcloud sql connect
的不相容性
gcloud sql connect
指令會使用公開 IP 位址直接連線至 Cloud SQL 執行個體。因此,它與 sql.restrictPublicIp
限制條件不相容。這通常是使用私人 IP 的執行個體的問題。
此外,gcloud sql connect
指令不會使用 Proxy,因此與 sql.restrictAuthorizedNetworks
限制條件不相容。
請改用指令的 Beta 版:
gcloud beta auth login
gcloud beta sql connect [INSTANCE_ID]
這個版本會使用 Cloud SQL 驗證 Proxy。如需參考資訊,請參閱 gcloud beta sql connect
。
第一次執行這個指令時,系統會提示您安裝 gcloud CLI Cloud SQL 驗證 Proxy 元件。為此,您必須具備用戶端機器上 gcloud CLI SDK 安裝目錄的寫入權限。
Google Cloud 託管服務存取權
如果應用程式需要透過其他Google Cloud 代管服務 (例如 App Engine) 存取 Cloud SQL 執行個體,則應用程式必須使用公開 IP 位址。請勿對專案強制執行 sql.restrictPublicIp
限制。不過,您可以強制執行 sql.restrictAuthorizedNetworks
,因為 App Engine 會透過安全 (proxy) 連線連線。
非 RFC 1918 私人 IP 位址
使用私人 IP 位址連線至 Cloud SQL 執行個體的連線會自動授權使用 RFC 1918 位址範圍。這樣一來,所有私人用戶端都能存取資料庫,而無須透過 Proxy。您必須將非 RFC 1918 位址範圍設定為授權網路。
如要使用未在授權網路中設定的非 RFC 1918 私人 IP 範圍,您可以採取下列一或兩項行動:
- 請勿強制執行
sql.restrictAuthorizedNetworks
。如果授權的聯播網也強制執行sql.restrictPublicIp
,您就無法在控制台中設定這些聯播網。請改用 Cloud SQL API 或 gcloud CLI。 - 為私人 IP 執行個體使用 Proxy 連線。
客戶自行管理的加密金鑰 (CMEK) 機構政策
Cloud SQL 支援兩種機構政策限制,可確保整個機構的 CMEK 保護:constraints/gcp.restrictNonCmekServices
和 constraints/gcp.restrictCmekCryptoKeyProjects
。
constraints/gcp.restrictNonCmekServices
限制要求 sqladmin.googleapis.com
採用 CMEK 保護措施。新增這項限制並將 sqladmin.googleapis.com
新增至服務的 Deny
政策清單後,Cloud SQL 會拒絕建立新執行個體,除非這些執行個體已透過 CMK 啟用。
constraints/gcp.restrictCmekCryptoKeyProjects
限制會限制在 Cloud SQL for PostgreSQL 執行個體中,哪些 Cloud KMS CryptoKeys 可用於 CMEK 保護措施。有了這項限制,當 Cloud SQL 使用 CMEK 建立新執行個體時,CryptoKey 必須來自允許的專案、資料夾或機構。
這些限制只會套用在新建立的 PostgreSQL 適用 Cloud SQL 執行個體上。
如需更多總覽資訊,請參閱 CMEK 機構政策。如要瞭解 CMEK 機構政策限制,請參閱「機構政策限制」。
自訂機構政策
如要精細控管設定,並可自訂設定,您可以建立自訂限制,並在自訂機構政策中使用這些自訂限制。您可以使用自訂機構政策來提升安全性、法規遵循和治理成效。
如要瞭解如何建立自訂機構政策,請參閱「新增自訂機構政策」。您也可以查看自訂限制條件支援的欄位清單。
機構政策執行規則
Cloud SQL 會在下列作業期間強制執行組織政策:
- 建立執行個體
- 建立備用資源
- 執行個體重新啟動
- 執行個體遷移
- 執行個體複本
如同所有機構政策限制,政策變更不會回溯套用至現有的執行個體。
- 新的政策不會影響現有執行個體。
- 除非使用者使用主控台、gcloud CLI 或 RPC,將例項設定從合規狀態變更為不合規狀態,否則現有的例項設定仍會有效。
- 預定維護更新不會導致政策強制執行,因為維護作業不會變更執行個體的設定。