入站
Agent Identity的功能按工作流的方向,可以分为入站和出站两部分。Agent Identity 入站认证是为您的 AI Agent 或其他应用程序提供的一种安全身份验证服务。您的应用程序(即 Agent)可以通过调用 Agent Identity 的 API,在通过身份认证和授权检查后,获取一个有时效性的工作负载访问令牌(Workload Access Token)。
入站认证方式
Agent Identity服务支持通过调用不同的接口,以不同方式完成入站认证以获取Workload Access Token。
OpenAPI签名校验:调用受保护的阿里云OpenAPI时默认采用的认证机制,阿里云SDK中的Credentials工具会自动根据部署环境决定要使用的凭证(如:STS Token、 Access Key等)。如Agent部署在阿里云托管的Agent运行时平台上(例如:百炼)时,可以使用平台能力提供无AK的方案便捷、安全地完成身份认证。
JWT Token验证:Agent Identity可以接受来自信任的OIDC身份提供商所签发的JWT令牌并对其进行校验(校验令牌的签名,签发者以及受众)。JWT令牌一般由用户登录应用时,向其身份提供商完成身份认证获得。
在不同业务场景下的入站认证方式如下:
业务场景 | 调用接口 | 入站认证方式 |
有用户参与 |
| OpenAPI签名校验及JWT Token验证 |
| OpenAPI签名校验 | |
无用户参与 |
| OpenAPI签名校验 |
不论调用哪种接口获取Workload Access Token,OpenAPI签名校验都会发生。因此,您需要确保Agent部署的环境中可以获取到阿里云的访问凭证。
入站授权
调用Agent Identity的GetWorkloadAccessToken*系列接口时,需要完成入站授权。
您可以为 Agent 的运行身份(例如RAM角色)创建一个自定义权限策略,并授予相应权限。
策略示例:
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"agentidentitydata:GetWorkloadAccessToken",
"agentidentitydata:GetWorkloadAccessTokenForJWT",
"agentidentitydata:GetWorkloadAccessTokenForUserId",
],
"Resource": "*"
}
],
"Version": "1"
}身份提供商配置
您可以将 Agent Identity 与任何兼容 OIDC 协议的外部身份提供商(IdP)集成。这样,Agent 可以将在外部 IdP 认证后获得的 JWT(JSON Web Token)提供给 Agent Identity,以证明其身份。
您可以直接使用外部身份提供商,以 OIDC 协议来完成 Agent 入站,或者通过用户池来对接更丰富的外部身份源。
用户池支持的外部身份源主要有:
外部身份提供商:包括钉钉、飞书、企业微信等。
通用协议身份提供商:包括SAML 2.0、OIDC等。
阿里云身份:包括应用身份服务IDaaS等。