saas.admit模块 30SaaS connector admission
询问智能体是否可以接触某个 SaaS 来源,并仅在通过管控其他一切的同一检查之后,才让它通过该来源写入。
saas.admit 对 SaaS 连接器运行 Intralock 准入,资源为 saas:<source>,默认动作为 read。管理员还可以给来源配置写入映射;随后 write 会准入每个操作,使用工作区的连接凭据转发,并把结果记入账本。
saas.admit模块 30询问智能体是否可以接触某个 SaaS 来源,并仅在通过管控其他一切的同一检查之后,才让它通过该来源写入。
saas.admit 对 SaaS 连接器运行 Intralock 准入,资源为 saas:<source>,默认动作为 read。管理员还可以给来源配置写入映射;随后 write 会准入每个操作,使用工作区的连接凭据转发,并把结果记入账本。
sync 对每个来源都回答 ok: false:存在连接器织网适配器时为 credential_gated,否则为 adapter_planned。准入和写入映射现在可用;inspect 显示哪些来源已实现。
sourceid 作为别名被接受。actorDidactionread、write 或 delete。对 默认为 ;在 中取自操作的 。admit 检查某个行为者对 saas:<source> 的某个动作。它只是结论;不会向 SaaS 发送任何内容。请在您自己的客户端调用 API 之前使用它。
write 在来源的写入映射中查找该操作,准入它,仅在允许时才用存储的凭据发送请求。回复会被过滤。
点击运行,将左侧的请求发送到共享演示工作区。
在共享的演示工作区中使用演示密钥运行:任何人都可以看到其中的内容,因此请勿发送任何私密信息。
一个符合 API 接受格式的请求,以及模块返回格式的示例响应。
POST /api/v1/acp/saas/admit Authorization: Bearer av_workspace_•••• Content-Type: application/json { : , : , : }
在您的客户端向来源发送之前,用 action: write 调用 admit。缺少授权回答 no_grant;被扣住的写入回答带 approvalId。
写入映射给每个操作分配自己的资源,因此一项授权可以涵盖 saas:github/issues.read 而不涵盖 saas:github/repos.delete。
模块是对一件狭窄事情的强力保证。请仅在其确切范围内依赖它。
admit 由 Intralock 决定并返回 llm: false;它与 coordination.admit 走同一路径。read,DELETE 必须声明为 delete;否则映射被拒绝。没有自己 resource 的操作按 saas:<source>/<op> 准入。设置了资源的则保留它,最多 200 个字符。
write 使用映射的 connectionId,或由 authEnv 指名的工作区密钥,后者必须以 SAAS_ 开头。如果两者都没有得到令牌,调用会不带授权发出。
使用工作区 API 密钥作为 Bearer 令牌进行认证。基础 URL 为 https://api.intramedial.com。
/api/v1/acp/saas/admit准入行为者在 SaaS 连接器上的动作。/api/v1/acp/saas/list列出连接器来源以及哪些已实现。admitreadwritekindconfirmationTokenresultallow、reason,以及需要真人确认时的 approvalId。llmfalse。结论是纯函数。opargs{args.name} 占位符的值。list 返回连接器目录、来源以及哪些已实现。未知的 source 返回 404。
admit 接受 source、actorDid 和可选的 action。结论是共用的准入答案,其中包括需要确认的写入的 approvalId。
管理员用 base 地址和最多 100 个操作设置 write-map,每个操作带有 op、method、path 以及 read、write 或 delete 的 kind。
write-preview 显示资源以及该操作是否被扣住。write 执行它,write-log 显示最近 100 条结果。
{
"result": {
"allow": false,
"reason": "no_grant"
},
"llm": false
}智能体从不持有 SaaS 凭据。write 附上工作区连接的令牌,并在返回之前过滤回复。
每次 write 都会追加一个 saas.write 事件和一行写入日志,包括带有 reason 的被拒绝尝试。
github.enforce,它准入 repo: 并发布检查。mandates.compile 编写授权;准入只读取授权。write 绝不会被转发:响应写明 forwarded: false,该行连同原因被记入日志。status 是连接器的 HTTP 状态,4xx 仍会随 allow: true 返回。admit 结论约束您自己的客户端。只有通过 write 发送的调用才受网关扣留。kind 对远程 API 而言是真实的。映射是管理员的声明,标错的操作会按所标内容准入。路径中的 {args.name} 由 args 填入并做 URL 编码。缺少参数是 400,而不是留空。
write-map 需要 policies.approve 和管理员。admit、write-preview 和 write 本身不带角色;由结论对其把关。
/ 开头,不超过 300 个字符。write 在 8000 毫秒超时,最多保留回复的 256 KiB。write-log 返回最新的 100 行。write 和 write-preview 返回 404。/api/v1/acp/saas/write-map/api/v1/acp/saas/write-preview显示操作的资源和扣留状态。/api/v1/acp/saas/write准入并转发一个已映射的操作。/api/v1/acp/saas/write-log读取最近的写入结果。coordination.saas.admit从智能体请求 SaaS 结论。coordination.saas.list从智能体列出连接器来源。github.enforce29mcp.enforce04MCP gateway enforcement在 MCP 服务器前面设一道前门,使每个工具调用像其他意图一样被准入,被拒绝的调用永远到不了服务器。iam.assume31Cloud credential broker仅当智能体持有该角色的有效租约时,才给它一个短期云凭据,并让凭据随租约一同消亡。coordination.halt06Emergency stop switches立即停止一个智能体、一份授权或一个资源,留下理由记录,并在安全时解除停止。coordination.quarantine32Agent quarantine在准入处切断一个智能体,但只有在第二个人批准或裁决指名了该确切智能体的情况下才行。