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

IAM用户登录AWS Redshift报用户不存在如何解决

问题原因

你对Redshift IAM认证的逻辑存在误解,报错核心原因有三点:

  • Redshift IAM认证默认不会自动在数据库内创建对应用户,只有显式开启自动创建参数时,才会在首次登录时自动生成数据库用户
  • IAM认证的数据库用户会自动加IAM:前缀做标识,和本地原生密码用户区分,所以报错中显示的用户是IAM:dba-admin而非你传入的dba-admin
  • 你给IAM用户授予的集群完全操作权限属于Redshift管控面权限,仅用于操作集群配置、快照等云资源,和数据库内部的登录、数据操作权限是两套独立体系,不会自动映射。
解决方法

二选一即可:

方案1:开启自动创建用户(推荐运维场景使用)

  1. 用CLI生成临时凭证时,补充--auto-create参数,首次登录时Redshift会自动创建对应数据库用户:
aws redshift get-cluster-credentials --cluster-identifier db --db-user dba-admin --duration-seconds 7200 --auto-create
  1. 如果直接用Redshift Query Editor v2登录,在登录配置页勾选Auto create database user选项,选择对应IAM身份登录即可,无需手动输入密码,控制台会自动传递自动建用户的参数。

注意:自动创建的用户默认没有任何数据库操作权限,首次登录后需要用集群超级用户账号给其授予对应 schema、表的读写或管理员权限。

方案2:提前手动创建关联IAM的数据库用户

如果不想开启自动创建,可以先用集群超级用户登录数据库,执行SQL创建匹配的IAM用户:

-- 创建IAM认证用户,禁止密码登录
CREATE USER "IAM:dba-admin" PASSWORD DISABLE;
-- 按需授予权限,例:授予系统管理员角色
GRANT ROLE sysadmin TO "IAM:dba-admin";

注意创建时用户名必须带IAM:前缀,否则无法和IAM身份匹配。

补充说明

如果后续使用IAM Role、IAM Identity Center(SSO)身份登录Redshift,逻辑完全一致:要么开启自动创建用户参数,要么提前在库内创建带对应身份前缀的数据库用户,同时单独配置库内操作权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 02:42:10