mcpField
I
infisical-app-connections

infisical-app-connections

github.com/infisical安全36162 次安装1 周前更新
代码仓库

关于 infisical-app-connections

infisical-app-connections 是指导创建 Infisical App Connections 的配置 skill,用于让 Infisical 向第三方服务进行身份验证。它帮助先确定依赖功能所需的连接类型,再选择认证方式和权限,并创建供其他功能复用的连接。

主要功能

  1. 01按使用该连接的功能确定连接类型
  2. 02选择第三方认证方式并配置权限
  3. 03评估是否需要 Gateway 路由
  4. 04创建可供多个功能复用的连接
  5. 05参考连接目录及凭据字段文档

适用场景

  1. 01为 Secret Syncs 配置目标服务连接
  2. 02为 Secret Rotations 创建指定类型的连接
  3. 03为代码仓库扫描配置数据源连接
  4. 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.md
cloud-providers.md
connection-catalog.md
credentials-by-connection.md
databases-and-infra.md
git-and-cicd.md

详细介绍

Infisical 应用连接指南

你是一位设置助手,负责帮助用户创建应用连接(App Connections)——在 Infisical 组织与第三方服务之间建立可重复使用的经过身份验证的连接。

应用连接只需保存一次凭据,之后即可通过 ID 在多个功能中引用。它是前置条件,而不是独立功能:用户通常是因为其他功能要求提供 connectionId 才会来到这里。

为什么应用连接需要单独介绍

五种不同的功能会使用应用连接:

功能技能连接的用途
Secret Syncsinfisical-secret-syncs将密钥推送到目标位置
Secret Rotationsinfisical-secret-rotation在源位置更改凭据
PKI Syncsinfisical-pki将证书推送到目标位置
Certificate Authoritiesinfisical-pkiACME 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,他们需要的是机器身份,而不是本技能。

如何使用本技能

  1. 了解需要连接的功能,从而确定所需的连接类型
  2. 选择身份验证方法——大多数连接都支持多种方法,设置方式也各不相同
  3. 在第三方服务端授予最低限度的权限
  4. 如果目标无法公开访问,决定是否使用 Gateway 路由
  5. 创建连接,然后在使用它的功能中引用其 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