用途
本技能是一个交互式安装配置助手,用于帮助用户将 Infisical(云端或自托管)作为密钥管理工具集成到项目中。它的目标对象是使用 Infisical 管理密钥、并需要把密钥送入应用、容器、流水线与基础设施的用户,而不是部署 Infisical 本身的用户。
不在本技能范围内的情况
技能明确列出了需要路由到其他技能的场景:
- 需要 Kubernetes Operator 或 InfisicalSecret/InfisicalStaticSecret CRD:使用 infisical-kubernetes-operator
- 需要将密钥渲染为文件,或使用 sidecar/init 容器:使用 infisical-agent
- 需要将密钥推送到第三方服务:使用 infisical-secret-syncs
- 需要短期的、按需生成的凭证:使用 infisical-dynamic-secrets
- 需要按计划轮换已有凭证:使用 infisical-secret-rotation
- Terraform/HCL:使用 infisical-terraform
- 原始 REST API 调用:使用 infisical-api
- 通过 SAML/OIDC/LDAP 进行人类登录,或 SCIM 配置:使用 infisical-sso
- 角色、权限或审批策略:使用 infisical-access-control
- 访问没有公网端点的资源:使用 infisical-gateway
- 部署 Infisical 本身:使用 infisical-self-host
技能还强调两个需要注意的区分:机器身份是外部工作负载向 Infisical 认证(属于本技能范围);App Connection 是 Infisical 向第三方认证(属于 infisical-app-connections)。机器身份认证面向工作负载,SSO 面向人类(infisical-sso);LDAP 和 OIDC 在两者中都出现,但属于互不相关的配置。
主要能力与使用方式
技能引导用户先说明自己想做什么,主要场景包括:
- 本地开发:将密钥注入开发工作流(CLI)
- Docker:在构建时或运行时将密钥注入容器
- CI/CD:在 GitHub Actions、GitLab CI 或其他流水线中使用密钥
- Kubernetes:使用 Infisical Operator 将密钥同步到 K8s
- 应用代码:通过 SDK 以编程方式获取密钥
- 认证配置:创建机器身份并选择认证方法
技能会读取相关的参考文件,然后逐步引导用户,而不是一次性倾倒所有内容。参考文件及其适用时机如下:
- references/cli-setup.md:用户需要基于 CLI 的本地开发或基本的 infisical run 用法
- references/docker-integration.md:用户需要在 Docker 容器(构建或运行时)中使用密钥
- references/kubernetes-operator.md:用户需要 K8s Operator、InfisicalSecret CRD 或 K8s 中的动态密钥
- references/sdks.md:用户需要从应用代码(任意语言)获取密钥
- references/cicd-integration.md:用户需要在 GitHub Actions、GitLab CI 或其他 CI/CD 中使用密钥
- references/machine-identity-auth.md:用户需要创建机器身份或选择认证方法
指导原则
技能遵循以下原则:
- 从用户平台开始:在推荐认证方法或集成方式前,先询问用户运行在什么平台上(AWS、GCP、K8s、本地等)。
- 尽可能推荐零密钥认证:在 AWS 上推荐 AWS Auth,在 K8s 上推荐 Kubernetes Auth,在 GitHub Actions 中推荐 OIDC Auth。只有在平台原生选项不可用时,才回退到 Universal Auth(Client ID/Secret)。
- 本地开发优先使用 CLI:对于本地工作的开发者,CLI(infisical run -- <command>)几乎总是正确的起点,是让“我的应用有密钥”的最简单路径。
- 应用代码使用 SDK:如果用户需要在应用逻辑中(而不仅是环境变量里)使用密钥,引导其使用对应语言的 SDK。
- 警惕已弃用模式:Service Token(st.* 前缀)和 API Key 已弃用,应始终引导用户使用机器身份。
- 从参考文件获取准确的包名和符号名:多个 SDK 的名称与包名并不一致,最典型的是 Ruby,其 gem 名为 infisical-sdk,但 require 的是 "infisical",类名为 Infisical::Client,应阅读 references/sdks.md 而非猜测。
- 具备安全意识:绝不代替用户生成密钥、令牌或凭证,应引导用户自行生成;绝不记录或显示密钥值。
适用场景
适用于需要将 Infisical 中的密钥接入本地开发环境、Docker 容器、CI/CD 流水线、应用程序代码,或需要创建机器身份并选择认证方式的用户。
限制
本技能不涵盖 Kubernetes Operator、Agent、Secret Syncs、Dynamic Secrets、Secret Rotation、Terraform、REST API、SSO、访问控制、Gateway 和 Infisical 自托管等场景,这些应使用对应的其他技能。具体支持的语言、SDK 名称、安装命令和平台认证细节需查阅技能内对应的参考文件,本资料未提供这些细节。