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

Redshift中授权group_G访问user_A表后仍提示schema权限拒绝?

问题原因与解决方法

出现permission denied for schema错误,本质是group_G没有目标schema的USAGE访问权限,同时你之前设置的表默认权限仅对执行语句时的当前schema生效,无法覆盖所有schema场景。

1. 给group_G授予已有schema的USAGE权限

先让group_G能访问所有已存在的schema,执行:

GRANT USAGE ON ALL SCHEMAS TO GROUP group_G;

2. 配置新schema的自动USAGE权限

如果后续user_A会创建新的schema,需要让新schema自动给group_G开放USAGE权限:

ALTER DEFAULT PRIVILEGES FOR USER user_A GRANT USAGE ON SCHEMAS TO GROUP group_G;

注意:如果schema是由其他管理员创建的,需要以该管理员身份执行对应默认权限设置。

3. 全局设置表的默认SELECT权限

你之前的语句未指定schema范围,仅对当前schema生效。要让user_A在任意schema创建的表都自动授予group_G SELECT权限,执行:

ALTER DEFAULT PRIVILEGES FOR USER user_A IN ALL SCHEMAS GRANT SELECT ON TABLES TO GROUP group_G;

验证权限

让user_A在新schema创建表后,可通过以下语句确认权限:

  • 检查表权限:
SELECT grantee, privilege_type 
FROM information_schema.table_privileges 
WHERE table_schema = '<新schema名>' AND table_name = '<新表名>';
  • 查schema权限:
SELECT grantee, privilege_type 
FROM information_schema.schema_privileges 
WHERE schema_name = '<新schema名>';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 01:37:26