入站
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:GetWorkloadToken",
"agentidentitydata:GetWorkloadTokenForJWT",
"agentidentitydata:GetWorkloadTokenForUserId",
],
"Resource": "*"
}
],
"Version": "1"
}身份提供商配置
您可以将 Agent Identity 与任何兼容 OIDC 协议的外部身份提供商(IdP)集成。这样,Agent 可以将在外部 IdP 认证后获得的 JWT(JSON Web Token)提供给 Agent Identity,以证明其身份。
如果您需要使用外部身份提供商(如 Okta 或您自建的 OIDC 服务)签发的 JWT 来获取 Workload Access Token,需要先在 Agent Identity 中完成身份提供商的配置。
关于如何在 Agent Identity 中管理身份提供商,请参见:身份提供商管理。
关于如何配置阿里云、Okta 等典型身份提供商,请参见:典型身份提供商设置教程。