本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
连接 MCP 服务器
模型上下文协议 (MCP) 服务器通过提供对来自外部可观测性工具、自定义监控系统和操作数据源的数据的访问权限来扩展 AWS DevOps 代理的调查能力。本指南介绍如何将 MCP 服务器连接到 AWS DevOps 代理。
要求
在连接 MCP 服务器之前,请确保您的服务器满足以下要求:
可流式传输的 HTTP 传输协议 — 仅支持实现可流式传输 HTTP 传输协议的 MCP 服务器。
身份验证支持-您的 MCP 服务器必须支持以下身份验证方法之一:OAuth 2.0(客户端凭据或 3LO)、 key/token基于 API 的身份验证或 AWS 签名版本 4 (Sigv4)。
安全注意事项
将 MCP 服务器连接到 AWS DevOps Agent 时,请考虑以下安全方面:
工具许可名单 — 您应该只将代理空间所需的特定工具列入许可名单,而不是公开 MCP 服务器上的所有工具。有关如何允许每个代理空间列出工具,请参阅在代理空间中配置 MCP 工具。
请注意,任何 MCP 工具的最大工具名称长度均为 64 个字符。有关每个代理空间允许的最大 MCP 工具数量,请参阅配额。
提示注入风险 — 自定义 MCP 服务器可能会带来额外的提示注入攻击风险。有关更多信息,请参见提示注入保护: AWS DevOps 客户端安全。
Read-only 工具和访问权限- 仅允许将只读 MCP 工具列入许可名单,并确保仅允许身份验证凭据进行只读访问。
有关即时注入和责任共担模型的更多信息,请参阅AWS DevOps 代理安全。
注意
如果您的 MCP 服务器位于私有网络上,请参阅 连接到私人托管的工具
注册 MCP 服务器(账户级)
MCP 服务器在 AWS 账户级别注册,并在该账户中的所有代理空间之间共享。然后,各个代理空间可以从每台 MCP 服务器中选择他们需要的特定工具。
步骤 1:MCP 服务器详细信息
登录到 AWS 管理控制台
导航到 AWS DevOps 代理控制台
转到 “能力提供者” 页面(可从侧面导航栏访问)
在 “可用提供商” 部分中找到 MCP 服务器,然后选择 “注册”
在 MCP 服务器详细信息页面上,输入以下信息:
名称-输入 MCP 服务器的描述性名称
端点网址-输入 MCP 服务器端点的完整 HTTPS 网址
描述(可选)-添加描述以帮助确定服务器的用途
启用动态客户端注册-如果要允许 AWS DevOps 代理自动向 MCP 服务器的授权服务器注册,请选中此复选框
使用私有连接连接到端点 — 如果您希望 AWS DevOps 代理私下向您的 MCP 服务器发出请求,请选中此复选框。您可以选择现有的私有连接或创建新的私有连接。如果您使用 OAuth 身份验证,则私有连接同时适用于 MCP 服务器端点和令牌交换端点。确保私有连接配置的主机地址可以将流量路由到两个端点。有关更多信息,请参阅 连接到私人托管的工具。
选择 Next(下一步)
注意
MCP 服务器端点 URL 将显示在您账户的 AWS CloudTrail 日志中。
第 2 步:授权流程
为您的 MCP 服务器选择身份验证方法:
OAuth 客户端凭证-如果您的 MCP 服务器使用 OAuth 客户端凭证流程:
选择 OAuth 客户端凭证
选择下一步。
OAuth 3LO (Three-Legged OAuth) — 如果您的 MCP 服务器使用 OAuth 3LO 进行身份验证:
选择 OAuth 3LO
选择下一步。
API 密钥 — 如果您的 MCP 服务器使用 API 密钥身份验证:
选择 API 密钥
选择下一步。
AWS Sigv4 — 如果您的 MCP 服务器使用 AWS 签名版本 4 身份验证:
选择 AWS sigv4
选择下一步。
步骤 3:授权配置
根据所选的身份验证方法配置其他授权参数:
对于 OAuth 客户端凭证:
客户端 ID-输入 OAuth 客户端的客户端 ID
客户端密钥-输入 OAuth 客户端的客户端密钥
交换网址-输入 OAuth 令牌交换端点网址
交换参数-输入用于通过服务进行身份验证的 OAuth 令牌交换参数
添加范围-为身份验证添加 OAuth 作用域
选择下一步。
对于 OAuth 3LO:
客户端 ID-输入 OAuth 客户端的客户端 ID
客户端密钥 — 如果您的 OAuth 客户端需要,请输入 OAuth 客户端的客户端密钥
交换网址-输入 OAuth 令牌交换端点网址
授权网址-输入 OAuth 授权端点网址
Code Chall enge Support-如果您的 OAuth 客户端支持代码质询,请选中此复选框
添加范围-为身份验证添加 OAuth 作用域
选择下一步。
对于 API 密钥:
输入 API 密钥名称
输入请求中将包含 API 密钥的标头的名称
输入你的 API 密钥值
选择下一步。
对于 AWS sigv4:
AWS Sigv4 身份验证允许 AWS DevOps 代理连接到使用 AWS 签名版本 4 进行请求签名的 MCP 服务器。这对于托管在 Amazon API Gateway 后面的 MCP 服务器或其他支持 Sigv AWS 4 身份验证的服务非常有用。
配置 IAM 角色-选择以下选项之一:
使用现有角色-从下拉列表中选择现有 IAM 角色。该角色必须具有允许 AWS DevOps 代理服务委托人代入该角色的信任策略(请参阅为 Sigv4 身份验证创建 IAM 角色)。
手动创建新角色-按照控制台中显示的分步说明创建具有正确信任策略的新 IAM 角色。
AWS 区域-输入 Sigv4 签名的 AWS 区域(例如,
us-east-1)。要使用 Sigv4a 多区域签名,请输入。*服务名称-输入 Sigv4 签名的 AWS 服务名称(
execute-api例如,API Gateway)。自定义标头(可选)-添加最多 10 个自定义键值标头对,以包含在每个已签名的请求中。
选择下一步。
第 4 步:查看并提交
查看所有 MCP 服务器配置详细信息
选择 “提交” 以完成注册
AWS DevOps 代理将验证与您的 MCP 服务器的连接
成功验证后,您的 MCP 服务器将在账户级别注册
在代理空间中配置 MCP 工具
在帐户级别注册 MCP 服务器后,您可以配置该服务器中的哪些工具可供特定的代理空间使用:
在 AWS DevOps 代理控制台中,选择您的代理空间
前往 “功能” 选项卡
在 MCP 服务器部分,选择添加
选择要连接到此代理空间的已注册 MCP 服务器
配置此 MCP 服务器上的哪些工具应可供代理空间使用:
允许所有工具-使 MCP 服务器中的所有工具都可用
选择特定工具-允许您选择要列入许可名单的工具
选择 “添加” 将 MCP 服务器连接到您的代理空间
AWS DevOps 现在,在代理空间进行调查期间,代理将能够使用您的 MCP 服务器上的许可名单工具。
管理 MCP 服务器连接
更新身份验证凭证-如果需要更新您的身份验证凭据,则需要重新注册您的 MCP 服务器。导航到 AWS DevOps 代理控制台中的 “功能提供者” 页面,找到您的 MCP 服务器,删除所有活动关联,然后选择 “取消注册”。接下来,使用新的身份验证凭据注册您的 MCP 服务器,并与您的代理空间重新创建所有必要的关联。
查看连接的 MCP 服务器-要查看连接到您的代理空间的所有 MCP 服务器,请选择您的代理空间,转到 “功能” 选项卡,然后查看 “MCP 服务器” 部分。您也可以在此处更新所选工具。
删除 MCP 服务器连接 -要断开 MCP 服务器与代理空间的连接,请在 MCP 服务器部分中选择该服务器并选择删除。要完全删除 MCP 服务器注册,请先将其从所有代理空间中删除,然后删除账户级别的注册。
为 Sigv4 身份验证创建 IAM 角色
使用 AWS Sigv4 身份验证时, AWS DevOps 代理在您的账户中扮演一个 IAM 角色来签署对您的 MCP 服务器的请求。此角色必须具有允许 AWS DevOps 代理服务委托人 (aidevops.amazonaws.com) 担任该角色的信任策略,同时混淆副手保护。
信任策略
使用以下信任策略创建 IAM 角色。REGION替换为您 AWS 所在的地区(例如us-east-1)ACCOUNT_ID和您的 AWS 账户 ID。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:REGION:ACCOUNT_ID:service/*" } } } ] }
信托政策包括以下条件,以防止出现混淆的副手问题:
aws:SourceAccount— 将角色扮演限制为来自您 AWS 账户的请求。aws:SourceArn— 将角色扮演限制为来自您账户中 AWS DevOps 代理服务资源的请求。
权限策略
为角色附加权限策略,授予调用 MCP 服务器所需的最低权限。例如,如果您的 MCP 服务器托管在 Amazon API Gateway 后面,则该角色应execute-api:Invoke具有 API 网关资源的权限。
Multi-region 签名 (sigv4a)
如果您的 MCP 服务器部署在多个 AWS 区域,则可以使用 sigv4a(签名版本 4a)进行多区域签名。要启用此功能,请在配置 Sigv4 AWS 授权时以区域的*身份输入。Sigv4a 使用非对称签名,允许单个签名的请求在多个区域内有效。
相关主题
AWS DevOps 代理中的安全性
设置代理空间
即时注射保护