--- title: "SecretsManagement" type: concept tags: - AWS - Security - Cloud - DevOps --- ## Definition Secrets Management(敏感信息管理)是指在云环境中集中存储、管理、安全轮换敏感凭据(密码、API Key、证书、加密密钥等)的实践,旨在消除硬编码明文密码和密钥的安全风险。 ## Core Principles 1. **集中化存储**:所有 Secrets 存储在集中式保险库(Vault)中,而非代码、配置文件或环境变量 2. **最小权限访问**:通过 IAM 角色和策略控制谁可以访问哪些 Secrets 3. **自动轮换**:定期自动更换 Secrets,减少长期密钥泄露风险 4. **审计追踪**:记录所有 Secrets 访问和变更操作 5. **加密传输**:Secrets 在传输和存储时均加密保护 ## AWS Secrets Manager Implementation ### Three-Phase Approach 1. **集中 Secrets**:将所有密码、密钥集中到 AWS Secrets Manager 2. **调整自动化**:修改 CI/CD 和应用程序,从 Secrets Manager 动态获取凭据 3. **启动轮换**:启用自动轮换机制,定期更换凭据 ### Key Benefits - 开发者无需直接访问 Secrets,通过角色和 AWS 凭证授权 - 无需客户端软件(对比 HashiCorp Vault) - 与 AWS Control Tower 集成实现企业级标准化 - 成本比自托管 Vault 方案更低 ## AWS Alternatives | Feature | AWS Secrets Manager | HashiCorp Vault | |---------|-------------------|-----------------| | 客户端依赖 | 无 | 需要 | | 托管服务 | 完全托管 | 自托管/托管 | | 成本 | 按 API 调用计费 | 基础设施+运维成本 | | Lambda 集成 | 原生支持 | 需要额外配置 | ## Related Concepts - [[SecretRotation]]:定期自动更换 Secrets 的机制 - [[JDBCWrapper]]:通过包装器动态获取数据库凭据 - [[IAM-Roles]]:基于角色的访问控制 - [[ControlTower]]:AWS 多账户治理 ## Sources - [[CTP-Topic-62-AWS-Secrets-Manager]] — AWS Secrets Manager 企业实施经验 - [[CTP-Topic-37-Secrets-Certificates-Management]] — Secrets 和证书管理最佳实践 ## Aliases - Secret Management - Credentials Management - API Key Management