如要保護用戶端連線,並控管是否允許未加密的流量或用戶端憑證,您可以設定 AlloyDB for PostgreSQL 執行個體的 SSL 強制執行模式。
根據預設,AlloyDB 執行個體只接受使用 SSL 的連線。
AlloyDB 會使用 SSL,建立與 AlloyDB 執行個體的安全、經過驗證且加密的連線。此外,可設定的 SSL 強制執行模式可確保執行個體的所有資料庫連線都使用 SSL 加密。
本文說明如何在現有執行個體上設定 SSL 強制執行模式。如要瞭解如何在建立執行個體時設定 SSL 強制執行模式,請參閱「建立主要執行個體」。
事前準備
- 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
- 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
roles/alloydb.admin(AlloyDB 管理員預先定義的 IAM 角色)roles/owner(擁有者基本 IAM 角色)roles/editor(編輯者基本 IAM 角色)
如果您不具備上述任一角色,請向組織管理員要求存取權。
設定執行個體的 SSL 強制執行模式
控制台
- 前往「Clusters」(叢集) 頁面。
- 在「Resource name」(資源名稱) 欄中,按一下叢集。
- 在「總覽」頁面,前往「叢集內的執行個體」部分,然後點選「編輯主要節點」。
- 在「編輯主要執行個體」窗格中,展開「進階設定選項」。
- 啟用「僅允許 SSL 連線」。這個選項預設為啟用。
- 按一下「更新執行個體」。
gcloud
如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb instances update 指令搭配 --ssl-mode=ENCRYPTED_ONLY 引數,只允許加密的資料庫連線至 AlloyDB 執行個體。
gcloud alloydb instances update INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--ssl-mode=ENCRYPTED_ONLY更改下列內容:
INSTANCE_ID:要更新的執行個體 ID。REGION_ID:執行個體所在的區域。CLUSTER_ID:執行個體所在的叢集 ID。PROJECT_ID:叢集所在專案的 ID。
如要允許未加密的資料庫連線至執行個體,請使用 gcloud alloydb instances update 指令,並加上 --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED 引數。
gcloud alloydb instances update INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED如果指令傳回的錯誤訊息包含 invalid cluster state MAINTENANCE,表示叢集正在進行例行維護。這會暫時禁止重新設定執行個體。請在叢集恢復 READY 狀態後,再次執行指令。如要查看叢集狀態,請參閱「查看叢集詳細資料」。