SuperAPI AI 工具集

secrets-management

安全与审计

查看项目

更新于 10-15 10:29

技能介绍

用途

该技能用于在 Oracle Cloud Infrastructure(OCI)环境中管理凭据与密钥,覆盖 OCI Vault 的日常操作、密钥管理、检索排错、轮换与认证配置。它定位为对 OCI CLI/API 知识不足时的补充,提供 OCI 特有的 Vault 模式与常见陷阱。

主要能力

  • Vault 操作与层级理解:Vault(容器)→ 主加密密钥(用于加解密)→ Secret(加密数据)→ Secret 版本(随时间轮换)。不同操作使用不同服务:Vault 操作用 oci kms management vault ...,密钥操作用 oci kms management key ... --endpoint <vault-endpoint>,Secret 操作用 oci vault secret ...(注意不是 kms)。
  • IAM 权限要点:检索 Secret 需要同时具备两项权限——read secret-family(列出与读取 Secret 元数据)和 use keys(解密 Secret 内容)。缺少 use keys 会返回令人困惑的 403 错误。
  • 检索失败排查:提供决策树,按 401(检查动态组成员、本地 ~/.oci/config、轮换后缓存)、403(检查两项权限)、404(检查 OCID、compartment、Secret 状态)、500(指数退避重试)分类定位。
  • 成本优化:Vault API 计费为每 10,000 次请求 $0.03,每月前 10k 免费。通过缓存可大幅降低调用量,例如 60 分钟缓存可将每月 720,000 次请求降至 720 次,实现免费。缓存 TTL 需小于密钥轮换窗口。
  • 零停机轮换:不要删除再重建 Secret(会改变 OCID 导致应用中断),而应使用 oci vault secret update-base64 创建新版本,Secret OCID 保持不变,应用在下次缓存刷新时自动获取新版本,旧版本保留用于回滚。
  • 实例主体认证:生产计算实例应使用实例主体,创建动态组并授予 Vault 访问权限,应用代码无需管理凭据,令牌自动刷新,审计可追溯。
  • 审计日志:可创建日志组并启用 Vault 读取访问日志,记录访问者、Secret OCID、时间、来源 IP 与结果,并建议配置失败访问、越权访问、异常 IP 等监控告警。

使用方式

技能以参考文档形式提供 OCI 专用命令与模式,强调在需要 OCI 操作时使用技能中给出的确切 CLI 命令,不要猜测 OCI Vault CLI 语法,也不要假设 AWS Secrets Manager 的模式适用于 OCI。可按需加载 oci-vault-reference.md 获取官方 Vault 与 KMS API 文档,用于密钥管理、HSM 保护、跨区域复制等深入场景。

适用场景

  • 在 Vault 中存储凭据、组织 Secret、配置 IAM。
  • 排查 Secret 检索失败(尤其 403 权限问题)。
  • 优化 Vault 调用成本(缓存策略)。
  • 实施零停机密钥轮换与版本管理。
  • 安全实践:临时文件处理、日志反模式、审计设置。
  • 生产部署:实例主体配置与监控告警。

限制与注意事项

  • 训练数据对 OCI CLI 语法、API 端点、Vault 服务操作、Secret 编码格式及最新 Vault/KMS 特性(含跨区域复制)了解有限且可能过时,需依赖技能提供的参考。
  • 并非所有 OCI 区域都提供 Vault 服务,跨区域访问会增加 10-50ms 延迟。
  • 密钥操作必须指定 Vault 管理端点。
  • Secret 内容为 Base64 编码,读取后需解码。
  • 安全反模式:禁止记录密钥内容(即使调试/错误日志);临时密钥文件须先设权限再写入;避免过宽 IAM 策略;不要硬编码 Vault OCID;不使用已弃用的 PLAIN 内容类型,应使用 BASE64。
  • 建议使用 oracle-terraform-modules/landing-zone 进行 Vault 设置,以自动创建安全 compartment、集成 Cloud Guard 监控并启用审计日志。