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

如何在DBeaver中用AWS IAM令牌结合.pgpass连接AWS RDS PostgreSQL?

用DBeaver通过AWS IAM令牌连接RDS PostgreSQL

前提准备

  • 确保你的AWS IAM用户/角色拥有以下权限:
    • rds-db:connect(需指定目标RDS实例ARN和对应的PostgreSQL用户名)
    • sts:GetCallerIdentity(用于身份校验)
  • 本地已安装并配置AWS CLI(或通过环境变量/实例角色等方式获取有效AWS凭证),能正常调用AWS服务
  • 目标RDS PostgreSQL实例已开启IAM数据库认证功能

步骤1:生成IAM认证令牌

使用AWS CLI执行以下命令生成短期有效令牌:

aws rds generate-db-auth-token --hostname <RDS实例端点> --port <PostgreSQL端口,默认5432> --username <数据库IAM认证用户名> --region <AWS区域>

生成的令牌是一串长字符串,复制保存(注意令牌有效期仅15分钟,过期需重新生成)

步骤2:配置DBeaver连接

  1. 打开DBeaver,新建PostgreSQL连接
  2. 在主选项卡填写基础信息:
    • 主机:RDS实例端点地址
    • 端口:5432(或你的自定义端口)
    • 数据库:目标数据库名称
    • 用户名:你指定的数据库IAM认证用户
  3. 切换到认证选项卡:
    • 认证方式选择Password
    • 在密码输入框粘贴刚才生成的IAM令牌
  4. 切换到SSL选项卡:
    • 勾选使用SSL
    • SSL模式选择verify-full(可根据RDS实例配置调整)
    • 若环境需要,下载AWS根证书并指定证书文件路径(多数情况下DBeaver默认信任AWS根证书)
  5. 点击测试连接,验证通过后保存连接配置

注意事项

  • IAM令牌仅15分钟有效期,每次超时或重新连接都需重新生成
  • 不要将令牌写入.pgpass文件,因为令牌是短期一次性凭证
  • 若使用IAM角色而非用户,确保本地AWS凭证能正确获取角色权限(比如EC2实例角色、AWS SSO等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:50:37