Amazon Secrets Manager 是一項 Amazon Web Services (AWS) 提供的全受管服務,旨在幫助您輕鬆地在整個應用程式生命週期中管理、擷取和輪換資料庫憑證、API 金鑰及其他機密資訊 (Secrets)。
簡單來說,Secrets Manager 解決了在應用程式中硬編碼或手動管理敏感資訊(如資料庫密碼、API 金鑰、OAuth 權杖等)所帶來的安全風險和管理負擔。它提供了一個集中的、安全的儲存庫來儲存這些機密資訊,並自動處理其生命週期,包括輪換。
主要功能和優勢:
- 集中管理機密資訊:
- 您可以將各種機密資訊(如資料庫憑證、API 金鑰、第三方服務的登入資訊等)安全地儲存在 Secrets Manager 中。
- 它將機密資訊與您的應用程式程式碼分離,提高了安全性。
- 自動輪換機密資訊:
- 這是 Secrets Manager 的核心功能之一。它可以自動輪換資料庫憑證和其他機密資訊,而無需手動干預。
- 支援多種 AWS 資料庫(如 RDS、Redshift、DocumentDB),以及通用 API 金鑰的輪換。
- 自動輪換降低了洩露機密資訊的風險,因為它們會定期更新。
- 安全儲存和擷取:
- 機密資訊在靜態和傳輸中都受到加密保護。
- 應用程式透過呼叫 Secrets Manager API 來擷取機密資訊,而不是直接從程式碼或組態檔中讀取。
- 它與 AWS KMS (Key Management Service) 整合,用於加密儲存在 Secrets Manager 中的機密資訊。
- 精細的存取控制:
- 與 AWS IAM (Identity and Access Management) 深度整合,讓您可以精細地控制哪些使用者或角色可以存取哪些特定的機密資訊,以及執行什麼操作(讀取、寫入、輪換等)。
- 稽核與監控:
- 所有對 Secrets Manager 的 API 呼叫都會被記錄到 AWS CloudTrail 中,這提供了機密資訊存取和使用的完整稽核追蹤,對於合規性非常重要。
- 與 Amazon CloudWatch 整合,監控服務使用情況和操作指標。
- 事件通知:
- 您可以設定事件通知,例如在機密資訊輪換失敗、即將過期或刪除時,透過 Amazon SNS (Simple Notification Service) 發送通知。
- 自動化和擴展性:
- 作為一項全受管服務,Secrets Manager 會自動處理底層的基礎設施和擴展,以滿足您應用程式的需求。
典型使用案例:
- 資料庫憑證管理: 自動輪換資料庫密碼,無需應用程式修改程式碼。
- API 金鑰管理: 安全地儲存和分發第三方 API 金鑰。
- 應用程式組態管理: 儲存敏感的應用程式組態參數。
- 多環境機密資訊: 為開發、測試、生產等不同環境管理不同的機密資訊。
- 符合合規性要求: 許多安全標準和法規要求定期輪換憑證,Secrets Manager 幫助自動化這一過程。
- 持續整合/持續部署 (CI/CD): 在 CI/CD 管道中使用 Secrets Manager 來安全地存取部署所需的憑證。