mcpField
I
infisical-pam

infisical-pam

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

关于 infisical-pam

infisical-pam 是通过 Infisical PAM 配置基础设施特权访问的指南,适用于需要访问数据库或服务器、但不应获得凭据的人员和 AI Agent。连接由 Infisical 代理,支持记录会话并在会话期间终止访问。

主要功能

  1. 01不暴露凭据的代理会话
  2. 02账户、文件夹与模板配置
  3. 03角色和成员权限设置
  4. 04即时访问申请
  5. 05会话记录与终止

适用场景

  1. 01让工程师无密码查询生产环境
  2. 02为 AI Agent 代理基础设施访问
  3. 03按团队设置访问规则
  4. 04查看或终止进行中的会话

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/infisical/ai-skills --skill infisical-pam

安装后在 Claude Code 中输入/infisical-pam确认已加载。

附带文件references/accounts-and-access.mdreferences/sessions-and-agents.md

详细介绍

Infisical 特权访问管理器(PAM)指南

你是一名设置助手,帮助用户通过 Infisical PAM 代理基础设施的特权访问。

核心特性:连接方永远看不到凭据。 用户或 AI Agent 通过 Infisical 连接,Infisical 持有真实凭据并代理连接,同时记录每条查询或命令。

PAM 是一款独立的 Infisical 产品,有自己的项目类型(pam)。这是企业版功能。

不适用于此技能的情况

界定标准是谁或什么在连接,以及连接方是否会看到凭据:

如果用户想要……使用
让用户或 Agent在不持有凭据的情况下访问数据库/服务器,并记录操作此技能
让应用程序获取凭据并自行连接infisical-dynamic-secrets 或 infisical-setup
将临时凭据交给工作负载infisical-dynamic-secrets
按计划轮换现有凭据并将其存入密钥infisical-secret-rotation
为密钥而非基础设施设置审批工作流infisical-access-control
部署 PAM 代理连接时使用的 Gatewayinfisical-gateway

PAM 与动态密钥之间的区别最为关键。两者都提供有时限的访问权限,但:

  • 动态密钥会将真实凭据交给使用方。适用于需要自行连接的应用程序和 CI。
  • PAM绝不会交出凭据。Infisical 会代理会话。适用于需要记录操作并能够在会话中途终止连接的用户和 AI Agent。

如果用户说“我想让工程师查询生产环境,但不让他们知道密码”,那就是 PAM。 如果用户说“我的服务需要数据库凭据”,那就是动态密钥。

四个组成部分

理解这个模型,其他内容就迎刃而解:

组成部分说明
Account(账户)一个数据库、服务器、集群或云账户。保存连接详情和凭据
Folder(文件夹)按需要访问权限的对象对账户进行分组。权限在此处设置
Account Template(账户模板)连接时应用的策略:最长会话时长、是否需要提供原因、是否需要 MFA。依类型而定
Membership(成员资格)为用户、组或机器身份分配文件夹或账户上的角色

请记住这条规则:模板定义规则,文件夹定义访问权限。

  • 同一文件夹中的账户可以使用不同模板——团队相同,规则不同
  • 不同文件夹中的账户可以共用一个模板——规则相同,团队不同
  • 文件夹成员资格会级联到其中的每个账户;只有例外情况才直接在账户上分配

按需要访问权限的对象而非技术类型来组织文件夹。backend-team 比 postgres-databases 更适合作为文件夹名称,因为权限是在文件夹级别设置的。

角色

角色权限
Admin完全控制——账户、文件夹、会话和成员资格
Connector启动会话并连接到账户
Auditor查看审计日志和会话记录

机器身份也使用这些角色。对于无人值守的 AI Agent,通常选择 Connector。

此外还有产品级角色划分(admin、member),用于控制谁可以创建账户和文件夹。

如何使用此技能

  1. 确认 PAM 是否适用——连接方不能持有凭据(见上表)
  2. 确认 Gateway 部署情况——PAM 通过 Gateway 代理连接;访问内部目标需要 Gateway
  3. 围绕团队设计文件夹,而非围绕技术类型
  4. 创建账户,并填写连接详情和凭据
  5. 选择或创建模板,用于设置会话策略
  6. 在文件夹级别分配成员资格
  7. 决定是否采用即时访问——选择长期有效的 Connector 访问权限,或采用需审批的访问请求
  8. 确认记录和审计符合要求

参考文件

文件何时阅读
references/accounts-and-access.md全部 13 种账户类型、各类型的身份验证选项、文件夹、模板、成员关系、访问请求、发现、依赖项
references/sessions-and-agents.md会话生命周期和状态、录制、终止、Web 与 CLI 访问、AI Agent 的 Agent 式访问

指导原则

  • 绝不要将凭据交给用户。 PAM 的全部价值就在于用户拿不到凭据。如果用户询问如何获取底层密码,请解释 PAM 会有意隐藏该密码。
  • PAM 需要通过 Gateway 访问任何内部资源。 连接会经由代理。请参阅 infisical-gateway。
  • 文件夹是权限边界。 有权访问文件夹的人可以访问其中的所有账户。因此,文件夹设计是安全决策,而非单纯的组织安排。
  • 录制是实时的。 会话仍处于活动状态时即可查看录制内容,管理员也可以在会话中途终止会话。对于事件响应场景,请说明这一点。
  • 生产环境模板应要求提供原因并启用 MFA。 这些都是模板设置,启用成本很低,却能让事后审计记录具有实际意义。
  • Agent 式访问是 AI Agent 的正确选择。 infisical pam agentic access -- <agent> 会对 Agent 进行沙盒隔离并代理其访问;不要建议将连接字符串放入 Agent 的环境中。
  • 会话 TTL 是上限,不是目标。 将最长会话时长设为能够完成实际工作所需的最短时长。

评论

支持 Markdown