入站

更新时间:
复制 MD 格式

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令牌一般由用户登录应用时,向其身份提供商完成身份认证获得。

在不同业务场景下的入站认证方式如下:

业务场景

调用接口

入站认证方式

有用户参与

GetWorkloadAccessTokenForJWT

OpenAPI签名校验JWT Token验证

GetWorkloadAccessTokenForUserId

OpenAPI签名校验

无用户参与

GetWorkloadAccessToken

OpenAPI签名校验

说明

不论调用哪种接口获取Workload Access Token,OpenAPI签名校验都会发生。因此,您需要确保Agent部署的环境中可以获取到阿里云的访问凭证。

入站授权

调用Agent IdentityGetWorkloadAccessToken*系列接口时,需要完成入站授权。

您可以为 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等。

相关文档