You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现AWS Web应用与Azure托管的.NET Core API的身份验证

实现AWS Web应用调用Azure AD保护的API(机器对机器认证)

完全可以实现AWS资源调用Azure资源的机器对机器身份验证,以下是具体配置和实现步骤:

1. 在Azure AD(Microsoft Entra ID)中创建AWS应用的身份实体

  • 在Azure门户的Microsoft Entra ID里,创建一个新的应用注册,这个注册将作为AWS Web应用在Azure AD中的身份代表。
  • 注册时无需指定重定向URI(机器对机器场景无用户交互需求),直接完成创建即可。

2. 配置API的应用权限

  • 进入刚创建的应用注册的「API权限」页面,点击「添加权限」,选择目标.NET Core 6 API对应的应用注册(前提是API已暴露应用权限范围)。
  • 在「应用权限」分类下,勾选业务所需的权限(比如API.Read、API.Write等,具体取决于API定义的权限),点击「添加权限」。
  • 由于是应用权限,需要点击「授予管理员同意」完成权限生效(必须由Azure AD管理员操作)。

3. AWS应用获取Azure AD访问令牌

AWS应用通过OAuth2客户端凭证流获取访问令牌,步骤如下:

  • 从Azure应用注册的「证书和密码」页面,创建客户端密码(或上传证书,推荐用证书提升安全性),保存好客户端ID、客户端密码(或证书信息)以及Azure AD租户ID。
  • 在AWS应用中,向Azure AD令牌端点发送POST请求,示例请求格式(curl演示):
curl -X POST https://login.microsoftonline.com/{租户ID}/oauth2/v2.0/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id={客户端ID}" \
  -d "scope={API的应用ID URI}/.default" \
  -d "client_secret={客户端密码}" \
  -d "grant_type=client_credentials"
  • 成功请求后会返回包含access_token的响应,将令牌放在API请求的Authorization头中(格式为Bearer {access_token}),即可调用受保护的.NET Core 6 API。

额外安全建议

  • 不要在AWS应用代码中硬编码客户端密码或证书,使用AWS Secrets Manager存储敏感信息,应用运行时动态获取。
  • 优先使用证书认证代替客户端密码,降低密钥泄露风险。
  • 遵循最小权限原则,只授予AWS应用必需的API权限。

内容的提问来源于stack exchange,提问作者Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:27:06