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

Redshift用户仅更新存储过程权限配置遇权限拒绝报错求助

解决Amazon Redshift用户更新存储过程的权限问题

要执行CREATE OR REPLACE PROCEDURE更新指定schema下的存储过程,光给全局的CREATE OR REPLACE PROCEDURE权限不够,还得补上几个关键权限:

  • 对目标schema的USAGE权限:没有这个权限,用户连访问该schema的资格都没有
  • 针对目标schema的CREATE OR REPLACE PROCEDURE权限(比全局权限更安全,避免用户乱改其他schema的对象)
  • 如果是替换已存在的存储过程,还得有该存储过程的ALTER权限

具体授权步骤

用管理员账号执行以下SQL:

  1. 先给用户访问目标schema的权限:
GRANT USAGE ON SCHEMA schema_name TO ci;
  1. 再给用户在该schema下创建/替换存储过程的权限:
GRANT CREATE OR REPLACE PROCEDURE ON SCHEMA schema_name TO ci;
  1. (可选)如果要替换已有的存储过程,得补上ALTER权限:
    单个存储过程授权:
GRANT ALTER ON PROCEDURE schema_name.procedure_name TO ci;

批量授权该schema下所有存储过程:

GRANT ALTER ON ALL PROCEDURES IN SCHEMA schema_name TO ci;

验证操作

授权完成后,用ci用户重新执行更新命令:

psql -h $host -U ci -d $database -p $port -f file.sql

最小权限建议

尽量不要给用户全局的CREATE OR REPLACE PROCEDURE权限,只针对需要操作的schema授权,严格遵循最小权限原则,降低风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:40:21