AlloyDB for PostgreSQL 的安全性、隱私權、風險和法規遵循

本文將簡要介紹各種控制項,協助您確保 AlloyDB for PostgreSQL 在 Google Cloud 上的安全性,並提供相關連結,方便您進一步瞭解如何設定這些控制項。此外,您也可以透過網路安全選項、政策和存取權管理等安全控管措施,因應業務風險,並符合適用於您業務的隱私權和法規要求。

AlloyDB for PostgreSQL 的安全性、隱私權、風險和法規遵循事宜,採用共同責任模式。舉例來說,Google 會保護 PostgreSQL 適用的 AlloyDB 和其他 Google Cloud 服務執行的基礎架構,並提供相關功能,協助您管理服務和資源的存取權。如要進一步瞭解基礎架構安全防護措施,請參閱 Google 基礎架構安全設計總覽

AlloyDB 架構

下圖顯示 AlloyDB 架構的元件。

AlloyDB 架構。

這些元件包括:

  • AlloyDB 執行個體會部署至多個可用區,以確保高可用性和彈性。
  • 應用程式位於 Google Cloud 或其他環境,並連線至 AlloyDB 的主要執行個體。圖中顯示應用程式與 AlloyDB 在同一個 Google Cloud 專案中執行,但您也可以在機構的另一個專案中執行應用程式Google Cloud 。
  • 在混合式環境中,Cloud VPNCloud Interconnect 可提供公司網路資源的存取權。
  • 使用 VPC Service Controls 建立的服務範圍。VPC Service Controls 可讓您控管 Google 服務或資源之間的資料移動,並設定情境式範圍安全防護。

如要瞭解 AlloyDB 端點,請參閱 AlloyDB API。根據預設,這個端點不是可公開路由的端點,無法接收來自公用網路的連入流量。如要讓 AlloyDB 執行個體透過公用網路接收連入流量,請參閱「使用公開 IP 連線」。

如要瞭解 AlloyDB 連接器,請參閱應用程式連線

已佈建的服務

開始使用 AlloyDB 時,請啟用下列 API:

詳情請參閱「快速入門導覽課程:建立並連線至資料庫」。

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 角色和權限

如果您使用 Auth Proxy 或語言連接器 (如「應用程式連線」一文所述),可以使用 IAM 控制哪些應用程式工作負載可以連線至 AlloyDB。如要進一步瞭解如何將 IAM 與 Auth Proxy 搭配使用,請參閱「選擇 IAM 主體並準備授權」。如要搭配 AlloyDB Language Connectors 使用自動 IAM 驗證功能,請參閱「管理 IAM 驗證」。

預設服務帳戶和服務代理程式

服務帳戶是特殊的非互動式 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。由於 AlloyDB 是全代管服務,Google 會代您管理 AlloyDB 服務帳戶。啟用 AlloyDB 時,系統會為專案建立 AlloyDB 服務帳戶 (service-PROJECT_NUMBER-gcp-sa-alloydb-iam.gserviceaccount.com)。PostgreSQL 伺服器等 AlloyDB 資源會使用這個服務帳戶執行。

服務代理程式是某些 Google Cloud服務使用的 IAM 角色和權限,可讓服務存取您的資源並代您執行動作。受管理的 AlloyDB 服務帳戶會使用 AlloyDB 服務代理程式的 IAM 權限。

AlloyDB 政策

適用於 AlloyDB 的預先定義組織政策,會決定 AlloyDB 是否可使用客戶自行管理的加密金鑰 (CMEK) 加密資料。如果法規要求您進一步控管用於加密 AlloyDB 靜態資料的金鑰,請設定 AlloyDB 使用 CMEK。這類政策包括:

  • 限制哪些服務可以在沒有 CMEK 的情況下建立資源 (constraints/gcp.restrictNonCmekServices)
  • 限制哪些專案可提供 CMEK 的 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 服務中的資料移動,並設定以情境為準的範圍安全防護。如要進一步瞭解如何設定 VPC Service Controls,請參閱「設定 VPC Service Controls」。

    • 如果啟用公開 IP 位址,請使用 AlloyDB 語言連接器和自訂機構政策,控管哪些人可以存取 AlloyDB 執行個體。
  • 在 Google Cloud中,請將共用虛擬私有雲視為網路拓撲。共用 VPC 可集中管理網路設定,同時維持環境區隔。

  • 使用 Cloud VPN 或 Cloud Interconnect,盡可能確保公司網路與Google Cloud之間的連線安全無虞且穩定可靠。詳情請參閱「選擇網路連線產品」。

如要進一步瞭解網路安全最佳做法,請參閱「導入零信任」和「決定登陸區的網路設計 Google Cloud 」。

應用程式連線

您可以透過下列方法,確保應用程式與 AlloyDB 之間的連線安全無虞:

下圖顯示連線選項。

AlloyDB 連線選項。

如要進一步瞭解如何設定連線至服務,而不使用外部 IP 位址,請參閱各項服務的私人存取權選項

資料庫驗證

AlloyDB 為資料庫用戶端提供下列驗證方法:

  • 使用使用者名稱和密碼進行內建資料庫驗證。授權是使用 GRANTREVOKE 陳述式決定。詳情請參閱「管理 AlloyDB 使用者角色」。
  • 使用 IAM 主體 (例如使用者和服務帳戶) 進行 IAM 驗證。AlloyDB 語言連接器可自動執行 IAM 驗證程序。詳情請參閱 AlloyDB 語言連接器總覽。IAM 驗證具有下列優點:
    • 統一存取權控管:IAM 可集中控管所有 Google Cloud 資源 (包括資料庫) 的存取權。統一存取權控管可確保政策一致,並簡化使用者和角色管理作業。
    • 減少憑證管理作業:使用者不需要個別的資料庫密碼。IAM 驗證會使用現有的 Google 帳戶憑證。
    • 短期權杖:IAM 驗證會使用短期存取權杖,降低密碼外洩或憑證遭盜用的風險。

連接器

您可以使用 AlloyDB Auth ProxyAlloyDB 語言連接器,設定與資料庫用戶端的加密連線。AlloyDB Auth Proxy 是用戶端 Proxy,可將非 TLS 連線透明升級為 TLS 1.3 連線。語言連接器是可連線至 AlloyDB 叢集 Proxy 伺服器的用戶端程式庫。兩個連接器都會使用 IAM 授權連線,並使用 mTLS 保護連線。您也可以選擇設定無密碼驗證,而非 IAM 驗證。

如果您使用 Auth Proxy,請參閱「使用 AlloyDB Auth Proxy 的最佳做法」。

資料保護和隱私權

本節說明 AlloyDB 如何保護您的資料和資料隱私權。

AlloyDB 會使用預設加密機制,加密儲存在叢集中的資料 (例如執行個體名稱、執行個體設定、資料表內容、資料列名稱和自訂函式)。只有 AlloyDB 執行個體可以存取這項資料。

您可以啟用客戶自行管理的加密金鑰 (CMEK),加密叢集中的靜態資料。使用 CMEK 時,金鑰會以軟體保護金鑰或硬體保護金鑰 (透過 Cloud HSM) 的形式儲存在 Cloud KMS 中,但由您管理。如要自動佈建加密金鑰,可以啟用 Cloud KMS Autokey。啟用 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 READDATA WRITE 作業。
  • 系統事件稽核記錄:識別修改資源設定的自動 Google Cloud 動作。

詳情請參閱 AlloyDB 稽核記錄

此外,為符合法規要求,您可以使用 pgAudit 擴充功能,啟用資料庫指令的稽核追蹤記錄。pgAudit 擴充功能記錄會詳細列出執行的指令、執行時間和執行者。

資料存取透明化控管機制

您可以透過存取核准和資料存取透明化控管機制,控管支援服務的 Google 員工對 AlloyDB 執行個體的存取權。當 Google 員工提出存取要求,您可以利用 Access Approval 予以核准或拒絕。當管理員存取資源時,您可透過資料存取透明化記錄檔,近乎即時掌握存取活動。Google Cloud

監控與事件應變

您可以使用各種工具監控 AlloyDB 的效能和安全性。請考量下列事項:

  • 使用記錄檔探索工具查看及分析事件記錄,並建立自訂指標和快訊。
  • 使用 AlloyDB 系統深入分析資訊主頁或 Cloud Monitoring 資訊主頁,監控 AlloyDB 執行個體的效能。詳情請參閱「監控執行個體」。
  • 啟用 pgAudit 擴充功能,稽核 AlloyDB 作業 (例如在 AlloyDB 執行個體上執行的指令和查詢)。這些記錄檔包括 PostgreSQL 資料庫記錄檔,以及資料平面代理程式的容器記錄檔。
  • 設定 Security Command Center,偵測 AlloyDB 的 SQL 安全漏洞威脅 (例如權限提升)。您可以為資安作業中心 (SOC) 分析師設定快訊和應對手冊,方便他們回應調查結果。

認證和法規遵循

您與 Google 共同承擔責任,確保符合法規要求。

AlloyDB 已獲得多項認證,包括:

如要進一步瞭解 Google Cloud 如何遵守不同的法規架構和認證,請參閱法規遵循資源中心

AlloyDB 也支援 Assured Workloads,可讓您對 Google 組織中的特定資料夾套用控管機制,以便遵守法規、區域或主權規範。詳情請參閱支援的產品 (依控制項套件)

後續步驟