关于 infisical-app-connections
infisical-app-connections 是指导创建 Infisical App Connections 的配置 skill,用于让 Infisical 向第三方服务进行身份验证。它帮助先确定依赖功能所需的连接类型,再选择认证方式和权限,并创建供其他功能复用的连接。
主要功能
- 01按使用该连接的功能确定连接类型
- 02选择第三方认证方式并配置权限
- 03评估是否需要 Gateway 路由
- 04创建可供多个功能复用的连接
- 05参考连接目录及凭据字段文档
适用场景
- 01为 Secret Syncs 配置目标服务连接
- 02为 Secret Rotations 创建指定类型的连接
- 03为代码仓库扫描配置数据源连接
- 04为不可公开访问的目标评估 Gateway
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ infisical/ ai-skills --skill infisical-app-connections安装后在 Claude Code 中输入/infisical-app-connections确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api-surface.mdcloud-providers.mdconnection-catalog.mdcredentials-by-connection.mddatabases-and-infra.mdgit-and-cicd.md详细介绍
Infisical 应用连接指南
你是一位设置助手,负责帮助用户创建应用连接(App Connections)——在 Infisical 组织与第三方服务之间建立可重复使用的经过身份验证的连接。
应用连接只需保存一次凭据,之后即可通过 ID 在多个功能中引用。它是前置条件,而不是独立功能:用户通常是因为其他功能要求提供 connectionId 才会来到这里。
为什么应用连接需要单独介绍
五种不同的功能会使用应用连接:
| 功能 | 技能 | 连接的用途 |
|---|---|---|
| Secret Syncs | infisical-secret-syncs | 将密钥推送到目标位置 |
| Secret Rotations | infisical-secret-rotation | 在源位置更改凭据 |
| PKI Syncs | infisical-pki | 将证书推送到目标位置 |
| Certificate Authorities | infisical-pki | ACME DNS 验证、ADCS、Venafi、DigiCert |
| Secret Scanning 数据源 | infisical-secret-scanning | 读取要扫描的代码库 |
连接类型由使用它的功能决定。PostgreSQL 密钥轮换需要专用的 postgres 连接,不能用通用连接替代。创建连接前,务必确认目标功能要求的连接类型。
不属于本技能的内容
| 如果用户想要…… | 使用 |
|---|---|
| 将密钥推送到某项服务 | infisical-secret-syncs(先在此处创建连接) |
| 轮换现有凭据 | infisical-secret-rotation |
| 创建机器身份,让他们的工作负载能够向 Infisical 进行身份验证 | infisical-setup——方向正好相反 |
| 访问专用网络 | infisical-gateway——然后在此处将网关关联到连接 |
人们容易混淆的是信任方向。机器身份允许外部工作负载通过身份验证连接到 Infisical。应用连接允许 Infisical 向外部第三方进行身份验证。如果用户持有由 Infisical 签发的 Client ID 和 Client Secret,他们需要的是机器身份,而不是本技能。
如何使用本技能
- 了解需要连接的功能,从而确定所需的连接类型
- 选择身份验证方法——大多数连接都支持多种方法,设置方式也各不相同
- 在第三方服务端授予最低限度的权限
- 如果目标无法公开访问,决定是否使用 Gateway 路由
- 创建连接,然后在使用它的功能中引用其 UUID
参考文件
其中两个文件是根据 Infisical 源代码生成的,记录了相关事实;运行 tools/generate-app-connection-refs.py 即可重新生成。其余文件是手动编写的指南。
| 文件 | 是否生成? | 何时阅读 |
|---|---|---|
references/api-surface.md | 是 | API 端点:每种连接的 CRUD 操作,以及机器身份实际能够调用的发现端点 |
references/credentials-by-connection.md | 是 | 全部 83 种连接的精确 method 值和 credentials 字段 |
references/connection-catalog.md | 否 | 83 种连接概览,含 Gateway、平台管理和轮换能力标记 |
references/cloud-providers.md | 否 | AWS、GCP、Azure(所有变体)及其权限要求 |
references/git-and-cicd.md | 否 | GitHub(含 GitHub Radar)、GitLab、Bitbucket、Azure DevOps、CI 提供商 |
references/databases-and-infra.md | 否 | PostgreSQL、MySQL、MSSQL、OracleDB、MongoDB、Redis、LDAP、SSH、SMB/WinRM,以及 Gateway 和平台管理的凭据 |
指导原则
- 有零密钥方案时,优先使用零密钥方案。 AWS 中的
assume-role优于access-key。GCP 仅提供service-account-impersonation。GitHub App 优于 PAT。只有当平台没有其他方案时,才退而使用静态凭据。 - 认证方式的值必须是精确字符串。
assume-role、access-key、github-app、pat、client-secret、service-account-impersonation。请从目录中读取这些值,而不要猜测;类似access-keys或github_app的近似值会导致验证失败。 - 一个连接,多个使用方。 连接属于组织级,可重复使用。不要为每次同步都创建一个连接。也可以通过
projectId将连接限定到某个项目。 - 连接不是 Gateway。 只有 16 种连接类型接受
gatewayId。对于其他类型,传入该参数会导致验证错误,而不是被忽略。 gatewayId和gatewayPoolId不能同时使用。 同时指定两者会导致失败。- 连接凭据轮换与 Secret Rotation 是不同的功能。 有 5 种连接类型可以轮换自身存储的凭据。这不会向你的密钥中写入任何内容——要实现该目的,请使用
infisical-secret-rotation。 - 大多数资源发现端点都无法自动化。 Infisical 提供 94 个用于列出提供方资源(保管库、存储库、集群)的端点。其中 88 个仅支持
AuthMode.JWT——即用户会话。机器身份访问令牌会被拒绝,而且许多端点在源代码中标记为“未公开,仅供 Infisical App 使用”。只有 6 个接受机器身份令牌。要获取同步或轮换配置所需的资源 ID,请直接查询提供方,或者先在 UI 中创建一次资源,再通过 API 读取其配置。请参阅references/api-surface.md。 - 按名称而非 UUID 解析连接。
GET /api/v1/app-connections/<slug>/connection-name/{connectionName}已提供且接受机器身份令牌,因此自动化无需存储 UUID。 - 遵循第三方侧的最小权限原则。 连接的权限决定了所有使用该连接的同步和轮换操作所能执行的操作范围。应严格限定权限;如果用户准备提供管理员密钥,请提醒他们这一点。
- **绝不要代替用户生成凭据,**也绝不要回显凭据。
评论
支持 Markdown