iam.assume模块 31Cloud credential broker
仅当智能体持有该角色的有效租约时,才给它一个短期云凭据,并让凭据随租约一同消亡。
iam.assume 通过 STS AssumeRoleWithWebIdentity 代理 AWS 凭据。角色 ARN 上没有租约就没有凭据,凭据的有效期绝不会超过租约的剩余时间。账本记录签发,而不是密钥。warehouse 路由对 Snowflake 和 BigQuery 做同样的事。
iam.assume模块 31仅当智能体持有该角色的有效租约时,才给它一个短期云凭据,并让凭据随租约一同消亡。
iam.assume 通过 STS AssumeRoleWithWebIdentity 代理 AWS 凭据。角色 ARN 上没有租约就没有凭据,凭据的有效期绝不会超过租约的剩余时间。账本记录签发,而不是密钥。warehouse 路由对 Snowflake 和 BigQuery 做同样的事。
roleArnarn:aws:iam:: 开头的 IAM 角色 ARN。租约必须恰好在此字符串上。actorDidsessionName 绝不用于识别持有者。webIdentityTokenassume 接受 roleArn、actorDid 和 webIdentityToken,并返回该角色的 STS 凭据。它所需的租约持有在角色 ARN 本身之上。
warehouse 接受形如 的资源 URN、 和可选的 ,并生成密钥对 JWT 或联合访问令牌。
此模块的调用会改变真实状态或访问外部服务,因此共享演示不会运行它们。请登录后在您自己的工作区中运行。
一个符合 API 接受格式的请求,以及模块返回格式的示例响应。
POST /api/v1/acp/iam/assume Authorization: Bearer av_workspace_•••• Content-Type: application/json { : , : , : , : }
负责部署的智能体只持有部署角色的租约,别无其他。没有租约,该角色就没有凭据可交。
只剩二十分钟的租约无法产生一小时的凭据;有效期取租约剩余时间、ttlMs 和 3,600,000 毫秒中的最小者。
每次签发都会追加一个 iam.assume 事件,指明行为者、角色和到期时间。watchdog.check 读取这些事件以发现速率异常。
模块是对一件狭窄事情的强力保证。请仅在其确切范围内依赖它。
ttlMs 和 3,600,000 毫秒中的最小值。iam.assume 记录行为者、角色和到期时间,绝不记录访问密钥、密钥或会话令牌。AWS STS 拒绝短于 900 秒的会话,因此剩余时间少于此的租约无法转为凭据。
角色名称(最后一个 / 之后的部分)会对照快照的受保护类别检查。匹配会在读取任何租约之前被拒绝。
租约持有者与 actorDid 比较,经过认证的智能体只能把它设为自己的 DID。
使用工作区 API 密钥作为 Bearer 令牌进行认证。基础 URL 为 https://api.intramedial.com。
/api/v1/acp/iam/assume为租用的角色生成 AWS 临时凭据。/api/v1/acp/iam/warehouse为租用的资源生成 Snowflake 或 BigQuery 凭据。sessionNameacp,只是一个标签。regionus-east-1。ttlMsleaseIdleaseScoped 为 true。expirationMsimd://warehouse/<snowflake|bigquery>/<account>/<path>actorDidsubjectToken智能体通过 coordination.lease 获取角色 ARN 上的租约。租约是凭据的依据;没有其他东西可以。
assume 接受 roleArn、actorDid、sessionName、webIdentityToken,以及可选的 region 和 ttlMs。令牌必须是 AWS 为该角色所信任的。
它先以 403 拒绝受保护类别的角色名称,再以 409 拒绝缺失、过期、属于他人或即将用尽的租约,然后调用 STS。
响应带有访问密钥、密钥和会话令牌,以及 expirationMs。释放租约会终止代理继续签发的意愿,而不会终止已签发的凭据。
{
"assumed": true,
"roleArn": "arn:aws:iam::123456789012:role/deploy",
"sessionName": "release-agent",
"leaseId": "lease_4b7e",
"leaseScoped": true,
"expirationMs": 1793523600000,
"accessKeyId": "ASIAEXAMPLEKEYID",
"secretAccessKey": "example-secret-access-key",
"sessionToken": "example-session-token"
}名称匹配受保护类别(如 billing 或 kms)的角色会被以 403 拒绝,即使是租约持有者也一样。
coordination.lease;代理只读取租约。watchdog.check,它读取本模块的记录。expirationMs;租约只阻止下一个。roleArn 必须以 arn:aws:iam:: 开头,webIdentityToken 和 actorDid 必填,缺少其中之一返回 400。ttlMs 怎么说,凭据有效期从不超过 3,600,000 毫秒。coordination.iam.assume从智能体请求 AWS 凭据。coordination.admit01mcp.enforce04MCP gateway enforcement在 MCP 服务器前面设一道前门,使每个工具调用像其他意图一样被准入,被拒绝的调用永远到不了服务器。github.enforce29GitHub write gate除非提交背后的智能体持有授权,并且写入已获真人确认,否则让该提交的检查变红。saas.admit30SaaS connector admission询问智能体是否可以接触某个 SaaS 来源,并仅在通过管控其他一切的同一检查之后,才让它通过该来源写入。coordination.halt06Emergency stop switches立即停止一个智能体、一份授权或一个资源,留下理由记录,并在安全时解除停止。coordination.quarantine32Agent quarantine在准入处切断一个智能体,但只有在第二个人批准或裁决指名了该确切智能体的情况下才行。