阿里云
本文为您介绍如何将阿里云配置为Agent Identity的身份提供商。
前提条件
建议为操作人员分配Agent Identity管理员AliyunAgentIdentityFullAccess权限。
步骤一:在阿里云RAM侧创建OAuth应用
执行本步骤及步骤二的操作人员需要具备以下RAM权限:
ram:ListApplicationsram:CreateApplicationram:GetApplicationram:UpdateApplication
参考策略:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:ListApplications",
"ram:GetApplication",
"ram:CreateApplication",
"ram:UpdateApplication"
],
"Resource": "*"
}
]
}登录RAM控制台,在左侧导航栏选择。
在OAuth应用列表页,保持默认的企业应用页签。单击创建应用。
在创建应用页,设置应用参数。
输入应用名称和显示名称。
选择OAuth协议版本为2.1。
选择应用类型为Web应用。
设置访问令牌有效期(可选)。该参数影响阿里云签发的
id_token和access_token的有效期。回调地址:用户授权成功后,授权服务器重定向的目标地址,用于接收授权码并向阿里云OAuth令牌端点交换
id_token和access_token。例如:https://your-app-fqdn/authcallback。OAuth范围:保持默认选中的
openid。如果应用需要获取RAM用户的登录名称(UPN)、显示名称等信息,需勾选profile。
单击创建应用。
单击创建的应用,在OAuth应用详情页的基本信息区域,复制并保存应用ID。
步骤二:测试获取ID Token(可选)
手动构造OAuth请求以获取ID Token,用于测试OAuth验证流程或调试应用。
以下内容仅用于测试或调试,生产环境中建议使用支持OAuth的相关SDK请求ID Token。
单击添加,输入
http://localhost:8080,单击确定。复制以下HTTP请求,将
<YOUR-OAUTH-APPLICATION-ID>替换为步骤一中保存的应用ID。https://signin.aliyun.com/oauth2/v1/auth? client_id=<your-oauth-application-id> &redirect_uri=http://localhost:8080 &response_type=code &scope=openid &state=12345 &code_challenge=XLtBsMIdIa2SGFvlnDsWLBrtPxVtSekmqUbVDB8a1Pc &code_challenge_method=S256在浏览器中访问上述请求地址。根据页面提示,完成RAM用户登录和用户授权。完成后,浏览器将重定向至
http://localhost:8080,并在URL中返回授权码code。复制URL中的code值并保存。http://localhost:8080/?state=12345&code=eZ6Xq***复制并执行以下命令。将
<your-authorization-code>和<your-oauth-application-id>分别替换为上一步获取的授权码和步骤一中保存的OAuth应用ID。curl -X POST "https://oauth.aliyun.com/v1/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "code=<your-authorization-code>" \ -d "client_id=<your-oauth-application-id>" \ -d "redirect_uri=http://localhost:8080" \ -d "grant_type=authorization_code" \ -d "code_verifier=ZURxphBVsaMxQXMbRGA4lkUr9myW5jvwLKR5l1dYnsc"说明阿里云OAuth授权码的有效期为10分钟。需在获取授权码后的10分钟内,完成ID Token的换取操作。授权码超时失效后,需重新发起授权流程获取。
命令执行成功后,返回结果中包含
id_token和access_token。{ "scope": "openid", "request_id": "0cb612ae-4210-4a57-bec1-86f57f5d****", "access_token": "eyJhbGciOiJSUzI1NiIsImsyaWQ...bGwBLQ", "token_type": "Bearer", "id_token": "eyJraWQiOiJQY1BjK29hamVsRnRnUW5...5w9GTw", "expires_in": 3599 }将
id_token的值复制到JWT解析网站(例如https://www.jwt.io/),可查看解码后的ID Token。其中aud字段的值应与OAuth应用ID完全匹配。{ "aud": "401050526640555****", "sub": "iiCsOvhjNZX/hK0x1jl9****", "iss": "https://oauth.aliyun.com", "exp": 1766463919, "iat": 1766460319 }
步骤三:在Agent Identity中创建身份提供商
登录AgentIdentity控制台,在左侧导航栏选择。
在身份提供商列表页,单击创建身份提供商。
在创建身份提供商页面,依次填入以下信息:
身份提供商名称。输入自定义的身份提供商名称。
描述(可选)。
OIDC元数据地址。输入阿里云OIDC元数据地址
https://oauth.aliyun.com/.well-known/openid-configuration。允许的目标受众。保持默认的指定受众白名单选项,并输入步骤一中创建的阿里云OAuth应用ID。如需支持多个目标受众,可输入多个OAuth应用ID,并以换行符分隔。
单击创建身份提供商。
步骤四:在Agent Identity中将身份提供商关联到工作负载身份
身份提供商必须要关联到工作负载身份才可以完成入站授权。如果您还没有创建工作负载身份,请参考创建工作负载身份完成创建。
登录AgentIdentity控制台,在左侧导航栏选择。
在工作负载身份列表页,单击目标工作负载身份。
在工作负载身份详情页的认证流程区域,单击身份提供商下的关联身份提供商。

在关联身份提供商对话框中,从下拉菜单选择步骤三中创建的身份提供商。
单击确定。