第 7 章 在 Ansible Automation Platform 上部署 Ansible MCP 服务器
作为机构管理员,您可以在基于 Operator 的安装或基于容器的 Ansible Automation Platform 2.6 安装上部署 Ansible Model Context Protocol (MCP)服务器。这个功能作为一个技术预览版本提供。
7.1. 概述 复制链接链接已复制到粘贴板!
Model Context Protocol (MCP)是一个开放标准,它允许 AI 模型通过统一接口使用外部 AI 工具和服务。使用 Ansible MCP 服务器,您可以将 Ansible Automation Platform 与您首选的外部 AI 工具(如 Claude、Cursor 或 ChatGPT)连接。AI 工具可以访问有关 Ansible Automation Platform 环境的关键信息,并执行任务。Ansible 用户可以在首选 AI 工具中直接查询信息、执行工作流和执行自动化任务。
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
7.1.1. 优点 复制链接链接已复制到粘贴板!
以下是 Ansible MCP 服务器的优点:
对于外部 AI 工具 :
- 提供标准化界面,用于安全查询基础架构数据和执行 Ansible Automation Platform 中的自动化工作流。
- 启用代理工作流与 Ansible Automation Platform 交互。
对于 Ansible 用户 :
- 提供使用首选外部 AI 工具的 chatbot 接口来获取有关其 Ansible Automation Platform 环境的信息,并直接通过该工具运行自动化作业。
对于开发人员 :
- 减少 Ansible Automation Platform 开发或将 Ansible Automation Platform 与 AI 应用程序或代理集成的时间和复杂性。
- 简化 AI 集成,使通过 Ansible Automation Platform 将现有自动化公开给 AI 工具,而无需编写自定义 API 代码或中间件。
7.1.2. 工作流 复制链接链接已复制到粘贴板!
独立 Ansible MCP 服务器作为外部 AI 客户端和 Ansible Automation Platform 之间的安全链接。只有 Ansible MCP 服务器具有适当权限时,AI 代理才会访问底层基础架构。
下面描述了工作流:
- AI 客户端(请求者):用户通过其外部 AI 代理(如 Cursor 或 Claude)发起请求。
- AI 模型(translator):AI 代理接收请求,解释意图,并将其映射到适当的公开 Ansible 工具集。然后,它会使用必要的参数发送结构化工具集调用。
- Ansible MCP 服务器( gatekeeper):在接收调用时,Ansible MCP 服务器会验证请求。它使用用户的 API 令牌与自动化控制器进行身份验证。
- Ansible 控制器(executor):自动化控制器接受来自 MCP 服务器的验证命令,并触发适当的自动化作业。
- 响应循环:自动化结果返回到 Ansible MCP 服务器,标准化为 AI 代理可以处理的格式,并通过 AI 客户端向用户显示。
Ansible MCP 服务器和 Ansible Automation Platform UI 访问 Ansible Automation Platform API。但是,因为 AI 工具会在在其 chat 界面中显示 API 输出前处理 API 输出,所以您可能会在将 AI 工具的输出与 Ansible Automation Platform UI 进行比较时观察不同的结果。
7.1.3. Ansible MCP 服务器工具集 复制链接链接已复制到粘贴板!
Ansible MCP 服务器提供了一个预先配置的工具集套件,它有效地充当您首选的 AI 代理和 Ansible Automation Platform 之间的桥接。配置后,这些工具集可让 AI 代理执行特定的授权操作,而无需离开聊天接口。
Ansible MCP 服务器将您的 AI 代理从被动助手转换为活跃 Operator,它与 Ansible Automation Platform 基础架构交互并执行工作流,或者根据您定义的权限自动执行任务。
在这个技术预览版本中提供了以下工具集:
| Toolset | 描述 | 使用示例 |
|---|---|---|
| 作业管理 | 用于列出可用的作业模板、启动自动化作业并监控其实时状态的工具。 | Operator 可以:
|
| 清单管理 | 查询清单的工具以获取主机详情,检查组成员身份,并验证系统事实。 | Operator 可以:
|
| 系统监控 | 检索作业日志、排除失败任务以及检查自动化环境健康状况的工具。 | 管理员可以:
|
| 用户管理 | 允许 AI 代理在 Ansible Automation Platform 中管理访问和组织结构的工具。 | 管理员可以:
|
| 安全/合规性 | 使 AI 代理能够充当安全操作器、管理敏感凭证和验证平台完整性的工具,而无需公开原始 secret。 | Operator 可以:
管理员可以:
|
| 平台配置 | 使机构管理员和开发人员能够检查和调优 Ansible Automation Platform 基础架构的工具。 | 管理员可以:
开发人员可以:
|
7.1.4. 服务器级别和用户级别权限 复制链接链接已复制到粘贴板!
Ansible MCP 服务器使用双层安全模型来确保 AI 工具和 Ansible Automation Platform 基础架构之间的安全集成。此方法将全局管理保护与 Ansible Automation Platform 的粒度基于角色的访问控制(RBAC)相结合。
您可以将以下访问类型授予 Ansible MCP 服务器:
服务器级权限 :机构管理员在部署 Ansible MCP 服务器时分配全局级别权限。管理员可以选择以下访问级别之一:
- 只读访问权限 :强制使用严格的 "look 但 not touch" 策略的默认设置。AI 代理可以检索系统数据,如日志和清单,但代理无法启动作业或修改配置。这个全局保护会覆盖所有单独的用户权限,以防止意外的自动化。
- 读写访问权限:此设置授权 AI 代理在 Ansible Automation Platform 中进行更改,如执行作业模板、管理资源和应用基础架构更改。但是,这些操作会受到用户提供的 API 令牌的特定 RBAC 权限。
用户级权限 : AI 代理的特定功能继承自生成身份验证 API 令牌的用户帐户。
- 继承的权限:AI 工具继承用户权限,仅执行用户授权执行的操作。例如,如果用户的令牌只有查看"网络"清单的权限,AI 工具无法访问或修改"数据库"清单,即使用户请求了它。
- 拒绝未授权操作:如果 AI 工具尝试某个操作(如启动一个作业),用户的令牌未授权执行,Ansible Automation Platform API 将拒绝请求。
为 Ansible MCP 服务器启用读写访问权限可授予 AI 代理 autonomy 来执行自动化作业。只有用户有写入权限时,AI 代理才能直接在 Ansible Automation Platform 环境中进行更改。大型语言模型(LLMs)偶尔可能会误解提示或隐藏命令。因此,启用读写访问权限可能会给您的环境造成意外更改的风险。
7.1.5. 先决条件 复制链接链接已复制到粘贴板!
- 平台版本:Ansible Automation Platform 2.6 或更高版本的实例。
部署环境:
- OpenShift:访问具有安装操作器权限的 OpenShift 集群。
- 容器化:受支持的容器运行时。
- 访问凭证 :Ansible Automation Platform 中的有效用户或服务帐户,具有执行所需自动化作业的权限。您需要为这个帐户生成 API 令牌。
7.1.6. Process 复制链接链接已复制到粘贴板!
执行以下任务以部署和配置 Ansible MCP 服务器,并将其与您首选的 AI 工具集成:
| 步骤号 | 任务 | 描述 |
|---|---|---|
| 1 | 机构管理员在基于 Operator 的安装或基于容器的 Ansible Automation Platform 2.6 安装中部署和配置 Ansible MCP 服务器。 | |
| 2 | Ansible 用户为其 Ansible Automation Platform 实例创建一个 API 令牌,并使用它来连接到首选 AI 工具。AI 工具将使用 API 令牌继承用户进行身份验证的权限。 | |
| 3 | 然后,Ansible 用户使用 Ansible MCP 服务器的 API 令牌配置外部 AI 工具,启用 AI 工具连接到 Ansible MCP 服务器并执行工作流并自动执行任务。 |