乐于分享
好东西不私藏

AI agent 乱连内部工具?AWS 用四层架构给出治理答案

AI agent 乱连内部工具?AWS 用四层架构给出治理答案

一、一个让安全团队睡不着的问题

你的组织里有多少 AI agent在访问客户数据?谁给的权限?如果今天某个凭证泄露,暴露面有多大?

过去几个月,AWS和客户交流时反复听到同一个问题。无论是编码 agent、自主 agent还是人机交互 agent,不管工作负载成熟度如何,大家开口都是这一句。

答案往往是一分钟都答不出来。

场景很具体。一个基础设施工程师打开同事的笔记本电脑调试构建,配置文件夹里躺着一个 mcp.json,里面明文存着生产数据库密码,旁边还有一行注释:TODO: rotate this。安全团队对此毫无感知。他们不知道哪些 AI agent在访问内部工具,谁授予了权限,凭证泄露后暴露面有多大。

二、五个结构性崩溃模式

MCP部署在企业系统中有五类典型问题:凭证蔓延、策略漂移、审计缺口、成本不透明和影子 IT。

凭证蔓延就是密钥散落在每个本地配置里。策略漂移更隐蔽,一个10人团队、10个 assistant、5个内部 API,就产生50套独立凭证配置,每套都是手工维护。后端策略一变,50处都要改。

审计缺口则是另一个维度。大多数团队回答不了"谁在什么时候调用了哪个工具"这个问题。成本不透明意味着花销无法归因到具体团队。影子 IT则是集成绕过评审直接部署。

很多团队的应对方式是:先搭一个完整的网关,再开放任何 AI使用。这通常需要数月,而且交付的往往不是真正需要的东西。

AWS的建议是:用治理成熟度模型分阶段推进,每层独立交付价值,遇到什么痛点就加哪一层。

三、四层治理框架

这四层分别是 Connect、Control、Catalog和 Harden。

Connect层解决的是入口问题。一个受治理的网关端点,让 AI agent能访问组织资源。当 MCP凭证散落在本地配置、安全团队没有清单时,这一层提供 SSO认证、凭证集中化和 CloudTrail审计。

Control层解决的是身份感知授权和数据保护。当合规团队追问"谁在什么策略下做了什么"时,这一层提供 Cedar RBAC/ABAC、PII脱敏、3LO同意机制和 DCR。

Catalog层解决的是自助发现和跨环境访问。当"请加这个工具"的工单堆积、或者需要访问非 AWS系统时,这一层提供 Agent Registry、Resources MCP、OPA和按工具归因的成本分摊。

Harden层解决的是规模化防护。用户超过1000、没有熔断机制、没有公共 DNS、没有多 Region故障转移时,这一层提供私有连接、治理仪表盘、废弃工作流和多 Region容灾。

每层的推进条件很明确:遇到哪类痛点就加哪层,不急于一步到位。

四、逐层实现细节

Connect层的拓扑很简单:MCP客户端调用 AgentCore Gateway,Amazon Cognito签发 JWT,AgentCore Identity管理出站凭证,一个注册目标接收工具调用。

适用场景是1到20个试点用户、低风险工具、影子 MCP开始出现。

实现上,先创建一个带 Cognito JWT授权器的网关,注册一个低风险 Lambda目标(比如只读工单搜索)。授权是粗粒度的:任何已认证客户端都能调用任何已注册工具。mcp.json增加一个指向网关的新条目,替代本地 server配置。

客户端流程是:assistant用预置的 client_id/client_secret引导启动,每次会话获取 Cognito token并附在 tools/list和 tools/call请求上,网关验证 JWT后路由到目标。后端凭证不出 AWS。

rollout节奏是:第一天搭建 Cognito User Pool、部署网关、注册一个 Lambda目标;第二到三天通过 MDM分发更新后的 mcp.json,验证端到端流程;周确认 CloudWatch Logs和 CloudTrail每条调用都有记录。

当开始收到这些问题时,说明该进入 Control层了:用户是否在工具调用中传递 PII?我们是否征求用户同意?不同用户组是否需要不同工具权限?

Control层的核心转变是从机器级信任到用户级信任。客户端通过 DCR机制动态注册到网关的 allowedClients。用户用 SSO完成 Authorization Code flow,access token的 sub claim就是真实用户身份。

AgentCore Policy基于 IdP group claims、token claims和参数 gates执行 Cedar RBAC。例如 DeployCI操作可以限制到特定用户组且仅允许 staging环境。允许通过后,请求经过 Amazon Bedrock Guardrails集成,在网关层做 PII过滤、内容策略和 prompt攻击检测,无需自定义代码。

Cedar策略示例:

permit (  principal,  action == AgentCore::Action::"DeployCI___invoke",  resource) when {  principal.hasTag("groups") &&  principal.getTag("groups").contains("repo-payments-service") &&  context.input.environment == "staging"};

Guardrails的 PII过滤直接在 Cedar策略中表达:

{  "sensitiveInformationPolicyConfig": {    "piiEntitiesConfig": [      { "type": "EMAIL", "action": "ANONYMIZE" },      { "type": "US_SOCIAL_SECURITY_NUMBER", "action": "BLOCK" },      { "type": "CREDIT_DEBIT_CARD_NUMBER", "action": "BLOCK" }    ]  }}

SSN和卡号永远不会到达模型,邮箱被匿名化。

当目标资源需要用户身份访问 SaaS系统(如 GitHub、Figma)时,网关发出 -32042 elicitation,引导用户在浏览器中完成同意流程。如果下游资源信任与入站 token相同的身份链,可以用 OBO token exchange替代浏览器重定向,无需额外同意流程。

rollout节奏:第一天部署 DCR shim;到两周以 LOG_ONLY模式运行 Policy和 Guardrails,监控 aws.agentcore.policy.log_only_decision_flipping_policies指标;第三周起切换到 ENFORCE模式。

当开始收到这些问题时,说明该进入 Catalog层了:平台工程师是否被"请加这个工具"的工单淹没?用户能否自助发现工具?是否需要访问非 AWS系统?财务能否将网关花费归因到具体团队?

Catalog层让工具所有者通过 YAML manifest申请新工具,开 PR触发安全扫描和平台评审,合并后 CI自动调用 create-gateway-target并更新 Cedar策略,无需工单。

IDE通过 AWS Agent Registry(agent-registry命名空间,已在九个 AWS Region可用)查询技能列表并下载相关技能。管理员通过审批工作流控制可见性,确保用户只收到需要的内容,减少 prompt污染。

目标可以位于任何地方:AWS Lambda、通过 Gateway VPC Egress访问的本地数据库、或通过 NAT egress加 outbound OAuth访问的 SaaS API。客户端感知不到区别。

OPA补充 Cedar无法原生表达的规则,比如时间窗口和变更工单要求。Resources MCP server在会话启动时自动获取组织上下文(编码规范、prompt模板、发布检查清单、on-call runbook),所有 assistant共享同一套上下文。

FinOps方面,CloudWatch metric filters和 Cost Explorer tags实现按工具和按组的成本归因。

OPA Rego示例,db_write仅允许在工作日9点到17点且附带变更工单时执行:

allow if {  input.tool == "db_write"  clock := time.clock(time.now_ns())  clock[0] >= 9  clock[0] < 17  weekday := time.weekday(time.now_ns())  not weekday in {"Saturday", "Sunday"}  input.claims.change_ticket_id != ""}

五、写在最后

AI agent治理不是先搭完整网关再开放使用的线性工程,而是按痛点分阶段推进的成熟度旅程。Connect层解决入口可见性,Control层解决身份感知和数据保护,Catalog层解决自助发现和跨环境访问,Harden层解决规模化防护。每一层都能独立交付价值,遇到下一类痛点再推进。

原文指出,Self-hosted选项(Kong Gateway、Open Policy Agent、NeMo Guardrails、LangFuse)同样存在,文章在相关处做了标注。这为不完全依赖 AWS托管方案的团队留出了选择空间。

本文由 Sapiens AI编译整理,关注我,用最通俗的语言讲最硬的科技。

标签:#AmazonBedrock #AgentCore #AIagent #MCP #Cedar #Guardrails #网关治理 #凭证管理


信息来源:Artificial Intelligence