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

如何创建可访问所有新旧schema的Redshift只读用户?

Redshift全局只读用户创建方案

该需求可以完全实现,Redshift支持同时对已有对象授予权限、对未来新建对象配置默认权限,两类配置结合即可覆盖你要求的所有场景,具体操作如下:

操作步骤

  • 第一步:创建目标只读用户,将命令内的占位符替换为你实际的业务参数即可
    CREATE USER <只读用户名> PASSWORD '<自定义密码>';
  • 第二步:授予用户当前数据库下所有已存在Schema的访问权限
    GRANT USAGE ON ALL SCHEMAS IN DATABASE <目标数据库名> TO <只读用户名>;
  • 第三步:授予用户所有已存在Schema下的表、视图的查询权限
    GRANT SELECT ON ALL TABLES IN ALL SCHEMAS IN DATABASE <目标数据库名> TO <只读用户名>;
  • 第四步:配置默认权限,后续新创建的Schema自动对该用户开放访问权限
    ALTER DEFAULT PRIVILEGES FOR ALL ROLES IN DATABASE <目标数据库名> GRANT USAGE ON SCHEMAS TO <只读用户名>;
  • 第五步:配置默认权限,后续新创建的表、视图自动对该用户开放查询权限
    ALTER DEFAULT PRIVILEGES FOR ALL ROLES IN ALL SCHEMAS IN DATABASE <目标数据库名> GRANT SELECT ON TABLES TO <只读用户名>;

注意事项

  • 所有命令中的<目标数据库名>、<只读用户名>、<自定义密码>占位符需替换为实际值,密码需满足Redshift密码复杂度规则:至少8位,包含大小写字母、数字和特殊符号
  • 如果不需要对所有角色创建的对象开放权限,可以将ALTER DEFAULT PRIVILEGES语句中的FOR ALL ROLES替换为FOR ROLE <指定角色名>,缩小权限生效范围,降低安全风险
  • 权限配置完成后,建议使用只读用户登录,尝试访问不同Schema下的表,验证权限配置是否符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:15:00