Secure Agent 用于为智能体应用策略并部署到自管理的 Omni Gateway,涵盖从识别目标智能体到选择、配置并部署策略的完整过程。它支持多种起点,取决于用户已有的配置:API Manager 实例、Exchange 资产,或仅有一份智能体规范。
目标构建成果:在智能体实例上强制执行一个完整配置的策略,并部署到 Omni Gateway。
一、前置条件
- 认证准备:需有效的 Anypoint Platform Bearer token。若只有用户名和密码,可调用 urn:api:access-management 中的 createLogin(POST /accounts/login),请求体为 {"username":"...","password":"..."} 以获取 Bearer token。需具备 API Manager 权限:View APIs Configuration 与 Manage Policies 作用域。
- 组织 Id:调用 urn:api:access-management 中的 listMe(GET /accounts/api/me)获取组织 ID,从响应中的 $.user.organization.id 提取 organizationId。该值用于列出环境、浏览策略目录、检查 Exchange 等。
- 需具备以下之一:API Manager 中已有的智能体 API 实例(跳到步骤 3,然后步骤 7);Exchange 中已有的智能体资产(跳到步骤 2);需要先发布的智能体规范(从步骤 1 开始)。
二、执行路径
- 完整设置:步骤 1、2、3、4、5、6、8、9。适用于拥有智能体规范且需先发布到 Exchange 的情况。需要 organizationId、智能体规范文件。
- 从 Exchange 资产开始:步骤 2、3、4、5、6、8、9。适用于智能体已发布在 Exchange,需要找到它并创建 API Manager 实例的情况。需要 organizationId。
- 仅应用策略:步骤 3、7、8、9。适用于已有该智能体的 API Manager 实例并想应用策略的情况。需要 organizationId。
三、主要步骤 步骤 1:将智能体发布到 Exchange。使用 urn:api:exchange-experience 的 uploadAsset,将智能体规范作为可复用资产发布,供 API Manager 创建托管实例。需提供 organizationId、groupId、assetId(kebab-case 唯一标识)、version(语义化版本)。输出 groupId、assetId、assetVersion。
步骤 2:在 Exchange 中查找智能体。使用 urn:api:exchange-experience 的 searchAssets,types 值为 "agent",该搜索不限定具体组织,返回已认证用户在所有组织中可见的全部智能体资产。输出 groupId、assetId、assetVersion。
步骤 3:列出环境。使用 urn:api:access-management 的 listEnvironments,列出组织内所有环境并选择目标环境。输出 environmentId。
步骤 4:选择部署目标。使用 urn:api:api-portal-xapi 的 getGatewayTargets,列出环境中已注册的网关目标并选择 Omni Gateway,优先选择 status 为 "RUNNING" 的目标。输出 targetId、targetName,gatewayVersion 默认值为 "1.0.0"(目标响应可能返回 "-",此时使用默认值)。
步骤 5:创建 API Manager 实例。使用 urn:api:api-manager 的 createApiInstance,从 Exchange 资产创建托管 API 实例。注意:对于 Omni Gateway 实例,isCloudHub 必须为 null(不能为 false,否则校验错误)。technology 值为 "flexGateway"。proxyUri 需询问用户 Omni Gateway 监听的端口,格式为 http://0.0.0.0:<port>/。endpoint.uri 为可选的上游后端 URL。输出 environmentApiId。
步骤 6:部署到 Omni Gateway。使用 urn:api:proxies-xapi 的 createProxyDeployment。type 值为 "HY"(自管理 Omni Gateway 的混合部署类型)。请求体使用扁平顶层字段,而非嵌套 target 对象,包含 type、targetId、targetName、gatewayVersion("1.0.0")、environmentId、overwrite(false)。输出 deploymentId。常见问题包括:HY 部署类型缺少 environmentId 或 gatewayVersion、网关版本不匹配导致策略实现错误、409 冲突(目标上可能已存在部署,可先通过 GET .../deployments 检查)。
步骤 7:列出智能体实例。使用 urn:api:api-manager 的 listApiInstances,以 family="agentic" 过滤,列出所选环境中的智能体实例并选出目标。输出 environmentApiId。
步骤 8:浏览 Exchange 策略目录。使用 urn:api:api-portal-xapi 的 getExchangePolicyTemplates(而非通用 listPolicyTemplates 端点,后者不返回 Exchange 坐标和网关专属配置属性名)。传入 apiInstanceId 和 environmentId 以筛选与网关类型兼容的模板,latest 与 includeConfiguration 均设为 "true"。输出 policyGroupId、policyAssetId、policyAssetVersion、policyConfiguration。
步骤 9:应用策略,将策略与配置应用到 API Manager 实例,从而在 Omni Gateway 上强制执行。
四、适用场景 适用于需要在自管理 Omni Gateway 上为 MuleSoft 智能体配置安全策略或流量管理策略的场景。
五、限制 本技能面向 Omni Gateway 部署。需具备相应平台权限与访问令牌。关于具体支持的策略清单、收费信息、价格及性能效果,资料暂未提供。