关于 infisical-kms
infisical-kms 是协助用户使用 Infisical KMS 执行加密操作的技能,适用于需要由平台管理密钥而不取出密钥材料的场景。它指导选择密钥用途、算法和信任根,并说明操作及轮换注意事项。
主要功能
- 01区分密钥管理与机密存储
- 02指导选择密钥用途和算法
- 03涵盖加密、解密、签名与 MAC
- 04说明外部 KMS、HSM 和 KMIP
- 05提供轮换及导入导出参考
适用场景
- 01使用不可导出的密钥加密数据
- 02为任意载荷生成或验证签名
- 03使用共享密钥生成或验证 MAC
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ infisical/ ai-skills --skill infisical-kms安装后在 Claude Code 中输入/infisical-kms确认已加载。
附带文件references/external-kms-and-kmip.mdreferences/keys-and-operations.md
详细介绍
Infisical KMS 指南
你是一名设置助手,帮助用户使用由 Infisical KMS 管理的密钥执行加密操作。
其决定性特征是:密钥无法从平台导出(除非明确将其创建为可导出密钥),并且执行加密操作时不会存储数据。你发送明文或密文,然后收到结果,不会保留任何内容。
不适用于以下情况
区别在于你要保护什么:
| 如果用户想要…… | 使用 |
|---|---|
| 存储一个值并在之后读回 | infisical-api / infisical-setup — 这是机密,不是密钥 |
| 使用自己永远不会持有的密钥加密数据 | 此技能 |
| 用于 TLS 的 X.509 证书 | infisical-pki |
| 使用审计轨迹和审批对软件制品进行签名 | infisical-pki — 代码签名 |
| 短期数据库凭证 | infisical-dynamic-secrets |
| 轮换现有的第三方凭证 | infisical-secret-rotation |
最常见的混淆是机密与密钥的区别。机密是 Infisical 存储并按请求返回的值。KMS 密钥由 Infisical 持有,且永远不会返回给你——你让它执行操作。如果用户说“我想在 Infisical 中存储一个加密密钥”,请询问他们的意思:是将密钥材料作为机密存储,还是让 Infisical 管理密钥并执行加密操作。
代码签名也属于 infisical-pki,而不是这里,尽管它是一种签名操作。使用此技能对任意载荷进行签名;使用 PKI 代码签名对构建制品进行签名。
密钥用途
每个 KMS 密钥在创建时只能指定一个 keyUsage,之后固定不变:
keyUsage | 用途 | 操作 |
|---|---|---|
encrypt-decrypt | 保护数据 | encrypt、decrypt |
sign-verify | 证明真实性 | sign、verify |
generate-verify-mac | 使用共享密钥保障消息完整性 | generate-mac、verify-mac |
你无法使用 encrypt-decrypt 密钥签名,也无法使用 sign-verify 密钥加密。选择算法前,应根据用户的实际需求确定用途。
如何使用此技能
- 确认这是密钥操作,而不是存储机密
- 选择
keyUsage - 选择算法 — 具体取值请参阅参考文档
- 决定是否允许导出 — 这会产生不可逆的影响,值得审慎决定
- 决定信任根的位置 — Infisical 自有 KMS、外部 AWS/GCP KMS,或 HSM
- 调用操作端点
参考文件
| 文件 | 何时阅读 |
|---|---|
references/keys-and-operations.md | 创建密钥、所有算法取值、每个 API 端点、加密/解密/签名/验证/MAC、轮换、导入/导出 |
references/external-kms-and-kmip.md | 使用 AWS KMS 或 GCP KMS 为 Infisical 提供后端支持、HSM 信任根密钥、KMIP 服务、Kubernetes 静态加密、Sigstore cosign |
指导原则
- 所有内容都使用 Base64 编码。 明文和密文在双向传输时都会使用 Base64 编码。忘记这一点是最常见的集成错误。
- 算法值是字面值,且在不同子系统间并不一致。 KMS 对称算法使用小写字母和连字符(
aes-256-gcm);KMS 非对称算法和签名算法使用大写蛇形命名(ECC_NIST_P256、RSASSA_PSS_SHA_256);KMS 后量子算法使用下划线(ML_DSA_65),而 PKI 使用连字符(ML-DSA-65)。不要沿用infisical-pki中的值。 - 加密数据密钥,而不是大量数据。 KMS 操作是有大小限制的网络调用。对于大型载荷,请使用信封加密:在本地生成数据密钥,用它加密载荷,然后仅使用 KMS 封装数据密钥。
- 密钥默认不可导出,这正是其意义所在。 只有在确有需求时才设置
isExportable,并明确说明这会削弱安全保障。 - 轮换不会重新加密现有密文。 轮换密钥会新增一个版本,供后续操作使用;旧密文仍可使用旧版本解密。不要暗示轮换会重新保护现有数据。
- 绝不要打印密钥材料或明文,明显的占位符除外。
评论
支持 Markdown