ClawSkills logoClawSkills

API credentials hygiene

审计并加强 API 凭证处理(环境变量、分离、轮换计划、最小权限、可审计性)。在集成服务或准备生产环境时使用

介绍

# API credentials hygiene: env vars, rotation, least privilege, auditability

## 目的 审计并强化 API 凭证的处理方式(环境变量、隔离、轮换计划、最小权限、可审计性)。

## 何时使用 - 触发条件: - 强化此集成的凭证配置,将密钥迁移至环境变量中。 - 为这些 API 设计密钥轮换计划,以最大限度减少停机时间。 - 审计此服务的最小权限访问,并记录每个密钥的权限范围。 - 为此项目创建环境变量映射和一个安全的 .env 模板。 - 为开发和生产环境建立凭证隔离,并建立清晰的审计跟踪。 - 请勿在以下情况使用…… - 你想在未经授权的情况下获取密钥或绕过安全控制。 - 你需要法律/合规部门的批准(此处输出的是技术文档,而非法律建议)。

## 输入 - 必需: - 集成/API 列表,以及凭证当前存储/使用的位置。 - 部署上下文(本地开发、服务器、容器、n8n 等)。 - 可选: - 当前配置文件/脱敏片段(.env、compose、systemd、n8n 凭证列表)。 - 组织规则(轮换周期、密钥管理器偏好)。 - 示例: - “密钥硬编码在 Node 脚本和 n8n HTTP Request 节点中。” - “我们有开发和生产环境的 n8n 实例,需要进行隔离。”

## 输出 - 凭证映射(服务 → 环境变量 → 作用域/权限 → 所有者 → 轮换频率)。 - 轮换操作手册(步骤 + 回滚)。 - 最小权限检查清单和审计日志计划。 - 可选:`.env` 模板(仅包含占位符)。 成功标准 = 未提交或嵌入任何密钥,权限已最小化,轮换步骤已记录,且可审计性已定义。

## 工作流 1. 盘点凭证: - 存储位置、使用位置以及所有者。 2. 定义隔离: - 开发与生产;人工账户与服务账户;各集成的边界。 3. 将密钥迁移至环境变量 / 密钥管理器引用: - 创建环境变量映射并更新配置计划(代码/工作流中不包含原始密钥)。 4. 最小权限: - 对于每个 API,枚举所需的操作并相应缩小作用域/角色。 5. 轮换计划: - 如支持则采用双密钥重叠;以最小停机时间进行轮换的步骤;回滚。 6. 可审计性: - 定义记录哪些事件(认证失败、令牌刷新、密钥使用情况(如可用))。 7. 停止并询问用户,如果: - 所需操作未知, - 密钥注入方法不明确, - 轮换频率/所有者未指定。

## 输出格式 凭证映射模板:

```text CREDENTIAL MAP - Integration: <name> - Env vars: - <VAR_NAME>: <purpose> (secret/non-secret) - Permissions/scopes: <list> - Used by: <service/workflow> - Storage: <secret manager/env var> - Rotation: <cadence> | <owner> | <procedure> - Audit: <what is logged and where> ```

如果提供模板,请输出 `assets/dotenv-template.example`,其中仅包含占位符。

## 安全与边缘情况 - 切勿输出真实的密钥、令牌或私钥。请使用占位符。 - 默认为只读;除非明确要求修改文件,否则以计划形式提出更改建议。 - 避免过宽泛的作用域/角色,除非有记录在案的需求证明。

## 示例 - 输入:“n8n HTTP 节点包含 API 密钥。” 输出:环境变量映射 + 迁移至 n8n 凭证/环境变量的计划 + 轮换操作手册。

- 输入:“需要开发与生产环境的隔离。” 输出:两份环境变量映射 + 命名方案 + 访问边界检查清单。

更多产品