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 入站,或者通過使用者池來對接更豐富的外部身份源。
使用者池支援的外部身份源主要有:
外部身份供應商:包括DingTalk、飛書、企業微信等。
通用協議身份供應商:包括SAML 2.0、OIDC等。
阿里雲身份:包括應用身份服務IDaaS等。