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

如何通过AWS Identity Center与EntraID外部IdP连接RedShift并获取有效JWT?

解决RedShift DBeaver EXT_JWT令牌无效问题

1. 先确认EntraID应用的核心配置

  • 给EntraID注册的应用添加RedShift专属API权限:勾选redshift:GetClusterCredentials和redshift:DescribeClusters(无服务器工作组需额外确认对应权限),并完成管理员同意操作。
  • 检查应用清单:如果用密码流(ROPC),要把allowPublicClient设为true;若用授权码流,需配置匹配的重定向URI(比如http://localhost:8080)。

2. 正确构造获取JWT的POST请求

调用https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token时,必须用application/x-www-form-urlencoded格式传递以下参数:

  • grant_type: 选password(适合本地工具的ROPC流,MFA用户不能用这个,后面会说替代方案)
  • client_id: 你的EntraID应用ID
  • username: 用于认证的EntraID用户邮箱
  • password: 用户密码
  • scope: 必须填https://redshift.amazonaws.com/.default(这是RedShift要求的核心受众,错了令牌肯定无效)
  • client_secret: 机密客户端需要加,公共客户端不用

示例curl命令:

curl -X POST https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&client_id=<你的应用ID>&username=<用户邮箱>&password=<用户密码>&scope=https://redshift.amazonaws.com/.default"

3. 验证获取到的JWT

拿到access_token后,用本地JWT解码工具(比如jwt-cli)检查关键字段:

  • aud: 必须是https://redshift.amazonaws.com
  • exp: 确保当前时间早于令牌过期时间戳
  • sub: 匹配你的EntraID用户ID
  • azp: 匹配你的应用client_id

要是aud不对,百分百是scope设置错了,必须用https://redshift.amazonaws.com/.default才能生成符合RedShift要求的令牌。

4. DBeaver端的配置检查

  • 连接设置里,认证方式选AWS Identity Provider,插件指定com.amazon.redshift.plugin.IdpTokenAuthPlugin
  • token_type设为EXT_JWT,把获取到的access_token完整粘贴到Token字段
  • 确认Identity Center权限集:给用户分配的权限集必须包含redshift:Connect操作,且关联到目标RedShift工作组

5. MFA用户的替代方案

如果用户开了MFA,ROPC流用不了,得换授权码流:

  1. 在EntraID应用里加重定向URIhttp://localhost:8080
  2. 构造授权URL:https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<你的应用ID>&response_type=code&redirect_uri=http://localhost:8080&scope=https://redshift.amazonaws.com/.default
  3. 打开URL完成MFA认证,拿到授权码
  4. 用授权码换令牌:POST请求里加grant_type=authorization_code&code=<拿到的授权码>&redirect_uri=http://localhost:8080
  5. 把新获取的access_token填入DBeaver即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:12:36