在 redshift 中创建数据库特定用户

Posted

技术标签:

【中文标题】在 redshift 中创建数据库特定用户【英文标题】:create database specific user in redshift 【发布时间】:2018-06-21 05:52:46 【问题描述】:

我们正在尝试在 Amazon Redshift 中创建一个只能访问特定数据库的用户。我们知道如何将用户分配给特定的架构,但我想使用公共架构。

到目前为止,我们尝试了以下命令:

创建用户:

create user tt password 'tttt';

创建组:

create group report_group with user tt;

授予数据库访问权限

grant select on  DATABASE demo TO tt;

但它不允许运行选择查询并失败

拒绝访问公共架构

任何建议。

【问题讨论】:

好吧,您没有授予公共架构的选择(和使用)权限。 对 SCHEMA 中的所有表授予选择、插入、更新、删除公共到组报告组;将表上的架构公共授予选择中的默认权限更改为分组 report_group; 【参考方案1】:

您需要以下两个授予用户或组的权限

GRANT USAGE ON SCHEMA public TO tt;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO tt;

【讨论】:

【参考方案2】:
GRANT SELECT, INSERT, UPDATE, DELETE
ON ALL TABLES IN SCHEMA public
TO GROUP report_group;

ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO GROUP report_group;

【讨论】:

以上是关于在 redshift 中创建数据库特定用户的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Redshift 中创建日期表

创建有权在 redshift 中查看的用户

访问 Redshift External 表所需的最低权限

Redshift 中的 CREATE SCHEMA 无法创建架构

如何在 Redshift 中创建枚举?

在 redshift 中查询时出现权限错误