如要保護 Google Cloud上的 AlloyDB for PostgreSQL 工作負載、因應業務風險,並符合隱私權和法規遵循要求,您可以設定網路安全控制項、組織政策、加密機制,以及身分與存取權管理。
AlloyDB 的安全性、隱私權、風險和法規遵循採用共同責任模式。舉例來說,Google 會保護 AlloyDB 和其他 Google Cloud 服務執行的基礎架構,並提供功能,協助您管理服務和資源的存取權。如要進一步瞭解 Google 如何保護基礎架構,請參閱「Google 基礎架構安全性設計總覽」。
AlloyDB 架構
下圖顯示 AlloyDB 架構的元件。
這些元件包括:
- AlloyDB 執行個體會部署在多個可用區,確保高可用性和彈性。
- Google Cloud 或其他環境中的應用程式,可連線至 AlloyDB 的主要執行個體。圖表顯示應用程式與 AlloyDB 在同一個 Google Cloud 專案中執行,但您也可以在Google Cloud 組織中的其他專案執行應用程式。
- 在混合式環境中,Cloud VPN 或 Cloud Interconnect 可提供公司網路資源的存取權。
- 使用 VPC Service Controls 建立的 service perimeter。VPC Service Controls 可讓您控管 Google 服務或資源之間的資料移動,並設定情境式 perimeter 安全防護機制。
如要瞭解 AlloyDB 端點,請參閱 AlloyDB API。根據預設,這個端點並非公開路由端點,無法接收來自公開網路的傳入流量。如要讓 AlloyDB 執行個體透過公用網路接收傳入流量,請參閱「使用公開 IP 連線」。
如要瞭解 AlloyDB 連接器,請參閱「應用程式連線」。
佈建的服務
開始使用 AlloyDB 時,您會啟用下列 API:
alloydb.googleapis.comcompute.googleapis.comcloudresourcemanager.googleapis.comservicenetworking.googleapis.com
詳情請參閱「快速入門導覽課程:建立並連線至資料庫」。
Google Cloud 管理的驗證
建立及管理 AlloyDB 執行個體的管理員和開發人員,必須向 Google Cloud 進行驗證,確認身分和存取權限。您必須為每位使用者設定由 Cloud Identity、Google Workspace 或與 Cloud Identity 或 Google Workspace 建立聯盟的身分提供者管理的使用者帳戶。詳情請參閱「身分與存取權管理總覽」。
建立使用者帳戶後,請實施安全性最佳做法,例如單一登入和兩步驟驗證。如要瞭解更多驗證最佳做法,請參閱「管理身分和存取權」。
Identity and Access Management
如要大規模管理管理員和開發人員的 Identity and Access Management (IAM) 角色,建議您為各種資料庫使用者角色和應用程式建立獨立的功能群組。將管理 AlloyDB 所需的 IAM 角色或權限授予群組。為群組指派角色時,請遵循最小權限原則和其他 IAM 安全性最佳做法。詳情請參閱「使用 Google 群組的最佳做法」。
如要進一步瞭解如何設定 IAM,請參閱「IAM 總覽」。
用戶端使用 IAM 資料庫驗證存取 AlloyDB 時,您也可以使用 IAM 控制其 AlloyDB 存取權。如要進一步瞭解 AlloyDB 所需的 IAM 角色,請參閱「AlloyDB 的 IAM 角色和權限」。
如果您使用 AlloyDB Auth Proxy 或 AlloyDB 語言連接器 (如「應用程式連線」所述),可以使用 IAM 控制哪些應用程式工作負載可連線至 AlloyDB。如要進一步瞭解如何搭配使用 IAM 與 Auth Proxy,請參閱「選擇 IAM 主體並準備授權」。如要搭配使用自動 IAM 驗證和語言連接器,請參閱「管理 IAM 驗證」。
預設服務帳戶和服務代理
服務帳戶是一種特殊的非互動式 Google 帳戶,代表需要通過驗證並取得授權,才能存取 Google API 資料的非人類使用者。AlloyDB 是全代管服務,因此 Google 會代為管理 AlloyDB 服務代理。啟用 AlloyDB 時,系統會為您的專案 (service-PROJECT_NUMBER@gcp-sa-alloydb.iam.gserviceaccount.com) 建立 AlloyDB 服務代理。PostgreSQL 伺服器等 AlloyDB 資源會使用這個服務代理執行。
服務代理是部分 Google Cloud服務使用的 IAM 角色和權限,可讓服務存取您的資源並代表您執行操作。代管 AlloyDB 服務帳戶會使用 AlloyDB 服務代理的 IAM 權限。
AlloyDB 政策
適用於 AlloyDB 的預先定義組織政策,會定義 AlloyDB 是否能使用客戶自行管理的加密金鑰 (CMEK) 加密資料。如果法規要求您進一步控管用於加密 AlloyDB 靜態資料的金鑰,請將 AlloyDB 設為使用 CMEK。政策包括:
限制哪些服務可以在沒有 CMEK 的情況下建立資源 (
constraints/gcp.restrictNonCmekServices)限制哪些專案可提供 CMEK 的 Cloud Key Management Service (Cloud KMS) CryptoKey (
constraints/gcp.restrictCmekCryptoKeyProjects)
詳情請參閱「使用預先定義的組織政策」。
您可以使用自訂組織政策,在專案、資料夾或組織層級設定 AlloyDB 限制。如果啟用公開 IP 位址,建議您設定自訂政策限制,強制規定哪些人可以使用公開 IP 位址。如要調整政策,您可以在政策中新增 AlloyDB 執行個體欄位 (例如啟用公開 IP 位址或啟用傳出公開 IP 位址)。詳情請參閱「使用自訂組織政策」。
網路安全
根據預設,Google 會對所有Google Cloud 服務的傳輸中資料套用預設保護措施,包括在 Google Cloud上執行的 AlloyDB 執行個體。如要進一步瞭解預設網路保護措施,請參閱「傳輸中資料加密」。
AlloyDB 支援 TLS 1.3 加密,用於資料庫執行個體與用戶端之間的通訊。AlloyDB 會自動產生這個連線的伺服器憑證。如要使用用戶端憑證進行雙向驗證,必須設定 AlloyDB 語言連接器 (使用 mTLS 驗證) 或 AlloyDB Auth Proxy。
如果貴組織有需要,您可以設定額外的安全控管措施,進一步保護 Google Cloud 網路上的流量,以及 Google Cloud 網路與公司網路之間的流量。請考量下列事項:
AlloyDB 支援 VPC Service Controls。VPC Service Controls 可讓您控管 Google 服務中的資料移動,並設定情境式 perimeter 安全防護機制。如要進一步瞭解如何設定 VPC Service Controls,請參閱「設定 VPC Service Controls」。
如果啟用公開 IP 位址,請使用 AlloyDB 語言連接器和自訂組織政策,控管 AlloyDB 執行個體的存取權。
在 Google Cloud中,建議使用共用虛擬私有雲做為網路拓撲。Shared VPC 可集中管理網路設定,同時維持環境區隔。
使用 Cloud VPN 或 Cloud Interconnect,盡可能提高公司網路與Google Cloud之間連線的安全性和可靠性。詳情請參閱「選擇網路連線產品」。
如要進一步瞭解網路安全最佳做法,請參閱「實作零信任」和「決定 Google Cloud 登陸區的網路設計」。
應用程式連線能力
您可以透過下列方法,保護應用程式與 AlloyDB 之間的連線:
- AlloyDB Auth Proxy 或 AlloyDB 語言連接器,用於設定連至 AlloyDB 執行個體的安全 TCP 通道。
- 資料庫驗證。
- 無伺服器 VPC 存取:將 AlloyDB 直接與 Cloud Run 連結。
- Private Service Connect 或私人服務存取權,使用 AlloyDB 私人 IP 位址連線至 Google Cloud 中其他虛擬私有雲的應用程式。使用這個方法可將流量保留在Google Cloud。如要使用 Private Service Connect,您必須在建立 AlloyDB 資料庫叢集時設定 Private Service Connect。
下圖顯示連線選項。
如要進一步瞭解如何在沒有外部 IP 位址的情況下設定服務連線,請參閱「服務的私人存取權選項」。
資料庫驗證
AlloyDB 為資料庫用戶端提供下列驗證方式:
- 使用使用者名稱和密碼的內建資料庫驗證。授權是使用
GRANT或REVOKE陳述式決定。詳情請參閱「管理 AlloyDB 使用者角色」。 - 使用 IAM 主體 (例如使用者和服務帳戶) 進行 IAM 驗證。AlloyDB 語言連接器可自動執行 IAM 驗證程序。詳情請參閱「AlloyDB 語言連接器總覽」。IAM 驗證具有下列優點:
- 統一存取控管:IAM 集中控管所有 Google Cloud 資源 (包括資料庫) 的存取權。統一的存取控管機制,代表政策一致,使用者和角色管理也更輕鬆。
- 減少憑證管理作業:使用者不需要個別的資料庫密碼。IAM 驗證會使用現有的 Google 帳戶憑證。
- 短期權杖:IAM 驗證機制使用短期存取權杖,可降低密碼外洩或憑證遭盜用的風險。
連接器
您可以使用 AlloyDB Auth Proxy 或 AlloyDB 語言連接器,設定與資料庫用戶端的加密連線。AlloyDB Auth Proxy 是用戶端 Proxy,可將非 TLS 連線透明升級為 TLS 1.3 連線。語言連接器是連至 AlloyDB 叢集 Proxy 伺服器的用戶端程式庫。這兩個連接器都會使用 IAM 授權連線,並透過 mTLS 保護連線。您也可以選擇設定無密碼驗證,而非 IAM 驗證。
如果您使用 Auth Proxy,請參閱「使用 AlloyDB Auth Proxy 的最佳做法」。
資料保護與隱私權
本節說明 AlloyDB 如何保護您的資料和資料隱私。
AlloyDB 會使用預設加密,加密儲存在叢集中的資料 (例如執行個體名稱、執行個體設定、資料表內容、資料列名稱和自訂函式)。只有 AlloyDB 執行個體可以存取這項資料。
您可以啟用客戶自行管理的加密金鑰 (CMEK),將靜態叢集資料加密。使用 CMEK 時,金鑰會儲存在 Cloud KMS 中,做為軟體保護金鑰或硬體保護金鑰 (使用 Cloud HSM),但由您管理。如要自動佈建加密金鑰,可以啟用 Cloud KMS Autokey。啟用 Cloud KMS Autokey 後,開發人員可以向 Cloud KMS 要求金鑰,服務代理則會佈建符合開發人員意圖的金鑰。Cloud KMS Autokey 可讓您視需要取得金鑰,確保金鑰一致,並遵循業界標準做法。
此外,AlloyDB 支援 Cloud External Key Manager (Cloud EKM),可讓您將金鑰儲存在 Google Cloud外部的金鑰管理工具中。如果您使用 Cloud EKM,金鑰存取依據會在 Cloud EKM 要求中新增欄位,讓您查看每項要求的原因。如果使用特定外部金鑰管理合作夥伴的服務,您可以根據理由自動核准或拒絕這些要求。
資料處理地點
AlloyDB 支援叢集內儲存資料的資料落地。資料落地功能可讓您使用資源位置限制政策限制,選擇要儲存資料的區域。您可以使用 Cloud Asset Inventory 驗證 AlloyDB 資源的位置。
如需對使用中的資料設定資料落地,可以設定 Assured Workloads。詳情請參閱「Assured Workloads 和資料落地」。
資料隱私權
為保護資料隱私,AlloyDB 符合一般隱私權原則。
AlloyDB 是客戶資料的資料處理者。Google 也是帳單、帳戶管理和濫用偵測等資訊的資料控管者。詳情請參閱《Google Cloud 隱私權聲明》。
稽核記錄
AlloyDB 會寫入下列類型的稽核記錄:
- 管理員活動稽核記錄:包括寫入中繼資料或設定資訊的
ADMIN WRITE作業。 - 資料存取稽核記錄:包括讀取中繼資料或設定資訊的
ADMIN READ作業。也包括讀取或寫入使用者提供資料的DATA READ和DATA WRITE作業。 - 系統事件稽核記錄:識別修改資源設定的自動化 Google Cloud 動作。
如要進一步瞭解 AlloyDB 的稽核記錄,請參閱「AlloyDB 稽核記錄」。
此外,為符合法規要求,您可以使用 pgAudit 擴充功能啟用資料庫指令的稽核追蹤記錄。pgAudit 擴充功能記錄包含執行的指令、執行時間和執行者等詳細資料。
資料存取透明化控管機制
您可以使用「存取權核准」和「資料存取透明化控管機制」,控管支援服務的 Google 人員對 AlloyDB 執行個體的存取權。您可利用「存取權核准」核准或拒絕 Google 員工提出的存取要求。當Google Cloud 管理員存取資源時,資料存取透明化控管機制記錄可提供近乎即時的深入分析。
監控與事件應變
您可以使用多種工具,監控 AlloyDB 的效能和安全性。請考量下列事項:
- 使用 Logs Explorer 查看及分析事件記錄,並建立自訂指標和快訊。
- 使用 AlloyDB 系統深入分析資訊主頁或 Cloud Monitoring 資訊主頁,監控 AlloyDB 執行個體的效能。詳情請參閱「監控執行個體」。
- 啟用 pgAudit 擴充功能,稽核 AlloyDB 作業 (例如在 AlloyDB 執行個體上執行的指令和查詢)。這些記錄包括 PostgreSQL 資料庫記錄,以及 dataplane 代理程式的容器記錄。
- 設定 Security Command Center,偵測 AlloyDB 的 SQL 安全漏洞和威脅 (例如提權)。您可以為資安營運中心 (SOC) 分析師設定警示和應對手冊,以便他們應對發現項目。
認證與法規遵循
遵守法規要求是您與 Google 的共同責任。
AlloyDB 已獲得多項認證,包括:
- 國際標準化組織 (ISO) 27001、ISO 27017、ISO 27018、ISO 27701
- 服務和組織控管 (SOC) 1、SOC 2、SOC 3
- 付款卡產業資料安全標準 (PCI DSS)
- 《健康保險流通與責任法案》(HIPAA)
如要進一步瞭解 Google Cloud 如何遵循不同的規範架構和認證,請參閱法規遵循資源中心。
AlloyDB 也支援 Assured Workloads,可讓您對 Google 組織中的特定資料夾套用控管機制,以符合法規、區域或主權規範。詳情請參閱「各控制項套件支援的產品」。
後續步驟
- 使用叢集設定復原力。
- 啟用備份。
- 使用 Terraform 部署 AlloyDB。
- 使用 Google Threat Intelligence 追蹤與貴公司相關的外部威脅。