本文說明如何自動輪換 Secret Manager 中的 Cloud SQL 密鑰。有了自動輪換功能,Secret Manager 會產生安全密碼、更新目標 Cloud SQL 資料庫執行個體中的密鑰,並將新密鑰儲存為最新的密鑰版本。
自動輪播的好處
自動輪替具有下列優點:
- 無須維護自訂 Cloud Run functions,即可輪替憑證。
- 頻繁輪替憑證,將憑證外洩的影響降至最低。
- 協助您符合定期輪替密碼的法規要求,例如支付卡產業資料安全標準 (PCI-DSS)。詳情請參閱法規遵循資源中心。
基本概念
如要使用自動輪播功能,請務必瞭解下列概念:
密鑰類型
您可以透過密鑰類型分類密鑰。如要啟用自動輪換功能,請在建立時選取 Cloud SQL DB credentials 密鑰類型。詳情請參閱「建立區域密鑰」。
現有密碼不支援自動輪替。
密鑰的內建身分
密鑰是具有內建身分的資源類型。
每個密鑰都有專屬 ID,可與 Cloud de Confiance by S3NS 專案中的所有其他資源區別。建立密鑰時,系統會自動產生這個專屬 ID,並儲存在密鑰資源的 iamPolicyUidPrincipal 欄位中。詳情請參閱「資源的內建身分」。
您必須授予內建身分識別必要權限,才能更新 Cloud SQL 執行個體的憑證。 這可確保密鑰只具備輪替自身憑證所需的權限,符合最小權限原則。
輪播時間表和狀態
您可以透過輪替時間表,指定密鑰的輪替頻率。 例如每 30 或 90 天。
系統會使用密鑰的輪替狀態追蹤輪替時間表的健康狀態:
Enabled:輪換排程已啟用,且最近一次輪換成功。Disabled:輪替排程已暫停。如果旋轉嘗試失敗,狀態也會變更為Disabled。
輪播策略
每個 Cloud SQL DB credentials 密碼都會管理一組資料庫憑證 (Cloud SQL 執行個體 ID、使用者名稱和密碼)。
輪替期間,Secret Manager 會為 Cloud SQL 使用者產生安全密碼,並更新 Secret Manager 和目標 Cloud SQL 執行個體中的密鑰。
輪替週期
自動輪替程序會遵循 Secret Manager 管理的特定生命週期,工作流程包含下列步驟:
- 啟動:根據設定的輪替時間表或隨選手動輪替啟動程序。
- 產生:Secret Manager 會產生符合 Cloud SQL 密碼政策的安全密碼。
- 同步處理:Secret Manager 會更新目標 Cloud SQL 執行個體中的密碼,並將新密鑰儲存為最新版本。此時,Cloud SQL 執行個體已採用新密碼,但密碼
alias仍指向舊版本。 - 更新別名:Secret Manager 會更新密鑰別名,指向新的密鑰版本。
- 傳送通知:如果已設定,Secret Manager 會傳送 Pub/Sub 通知,提醒您輪替作業成功或失敗。
如果輪替失敗,系統會自動重試。如果失敗情況持續發生,Secret Manager 會將輪替狀態設為 Disabled。如要恢復輪替,請務必解決根本問題,然後再次啟用輪替功能。