本頁提供 AlloyDB Auth Proxy 的總覽。這個連接器可讓您建立已授權的加密連線,連往 AlloyDB 資料庫。
如需使用 Auth Proxy 的逐步指南,請參閱「使用 AlloyDB Auth Proxy 連線」。
使用 AlloyDB Auth Proxy 的好處
相較於直接將用戶端連線至 AlloyDB 資料庫,Auth Proxy 具有下列優點:
以 IAM 為基礎的連線授權。驗證 Proxy 會使用 Identity and Access Management (IAM) 主體的憑證和權限,授權連線至 AlloyDB 執行個體。
自動 IAM 驗證。Auth Proxy 可根據執行 Proxy 的 IAM 主體,自動驗證資料庫使用者。
安全加密通訊。Auth Proxy 會自動在用戶端和 AlloyDB 執行個體之間,建立、使用及維護相互傳輸層安全標準 (mTLS) 1.3 連線,並使用 256 位元 AES 加密,驗證用戶端和伺服器身分,以及加密資料流量。
如要進一步瞭解如何連線至 AlloyDB 執行個體,請參閱連線總覽。
AlloyDB Auth Proxy 的運作方式
AlloyDB Auth Proxy 的運作方式是讓本機用戶端在本機環境中執行。您的應用程式會透過資料庫使用的標準資料庫通訊協定,與 AlloyDB Auth Proxy 通訊。
AlloyDB Auth Proxy 會使用安全通道 (mTLS 1.3、256 位元 AES 加密),與在伺服器上執行的隨附程序通訊。透過 AlloyDB Auth Proxy 建立的每個連線,都會建立一個與 AlloyDB 執行個體的連線。
應用程式連線至 AlloyDB Auth Proxy 時,系統會檢查應用程式與目標 AlloyDB 執行個體之間是否已有連線。如果連線不存在,則會呼叫 AlloyDB Admin API 取得臨時 SSL 憑證,並使用該憑證連線至 AlloyDB。臨時 SSL 憑證會在 24 小時後失效。AlloyDB Auth Proxy 會在這些憑證到期前重新整理。
AlloyDB Auth Proxy 會透過網域名稱 alloydb.googleapis.com 使用 HTTPS 呼叫 API。因此,防火牆必須允許用戶端電腦上通訊埠 443 (HTTPS) 的所有輸出 TCP 連線。
AlloyDB Auth Proxy 可以監聽任何通訊埠,但只會透過通訊埠 5433 建立連出或輸出連線至 AlloyDB 執行個體。如果用戶端主機有輸出防火牆,則必須允許連線至 AlloyDB 執行個體 IP 位址的 5433 連接埠。用戶端主機也必須允許連線至通訊埠 443 (標準 HTTPS 通訊埠) 的所有 IP 位址。
AlloyDB Auth Proxy 如何驗證及授權連線
如要授權用戶端連線至 AlloyDB 執行個體,Auth Proxy 用戶端會使用用戶端上的 IAM 主體憑證向 Google Cloud 進行驗證,然後驗證 IAM 主體是否具備 Cloud AlloyDB 用戶端 (roles/alloydb.client) 和服務使用情形用戶 (roles/serviceusage.serviceUsageConsumer) IAM 角色。
根據預設,Auth Proxy 用戶端會使用應用程式預設憑證 (ADC) 尋找用戶端憑證。這項功能提供統一的標準方式,讓應用程式自動驗證身分,不必編輯或硬式編碼設定值。
標準驗證
如果是標準開發和生產設定,您不需要設定自訂憑證或旗標。Auth Proxy 用戶端會使用標準環境路徑自動解析憑證。視您用來執行 Auth Proxy 用戶端的環境而定,系統會從下列來源尋找憑證:
本機開發。在本機開發時,您可以使用個人或公司 Google 使用者帳戶進行驗證。Auth Proxy 用戶端會自動偵測並使用這些憑證。這是本機開發作業的建議做法,可避免在本機下載服務帳戶金鑰檔案。
Google 代管的環境。在Google Cloud 服務 (例如 Compute Engine 執行個體、Google Kubernetes Engine、Cloud Run、Cloud Run 函式或 App Engine) 上執行應用程式時,環境的中繼資料伺服器會自動提供所連結服務帳戶的憑證。Auth Proxy 用戶端會自動探索並使用這些憑證,不需要額外設定。
- 如果運算資源與 AlloyDB 執行個體位於同一個專案,預設服務帳戶通常會具備驗證所需的權限。
- 如果運算資源和 AlloyDB 執行個體位於不同專案,您必須將運算資源的服務帳戶新增至 AlloyDB 執行個體所在的專案,並授予必要角色。
覆寫憑證
在特定情況下 (例如測試、在Google Cloud外部執行,或想略過標準環境憑證時),您可以使用下列任一方法覆寫憑證:
服務帳戶金鑰。透過
GOOGLE_APPLICATION_CREDENTIALS環境變數或--credentials-file標記提供金鑰。如果服務帳戶金鑰管理不當,就會帶來安全風險,因此請盡可能使用標準來源。現有的 OAuth 2.0 存取權杖。透過
--token旗標提供權杖。gcloud CLI 憑證。透過
--gcloud-auth旗標提供這些憑證。我們不建議使用這項旗標。請改為執行gcloud auth application-default login。
如要進一步瞭解如何在用戶端設定這些憑證,請參閱「使用 AlloyDB Auth Proxy 連線」。如要瞭解 Google Cloud 的驗證方式,請參閱「驗證總覽」。