RedShift 授权操作

本文详细介绍了如何在AmazonRedShift中创建用户、用户组,以及如何精确地对用户和用户组进行数据库(SCHEMA)级别的权限授权,包括全部权限和只读权限的分配。
摘要由CSDN通过智能技术生成

RedShift 中只能有一个数据库,是在创建 RedShift的时候创建的;SCHEMARedShift中的模式,可以将 SCHEMA 理解为 MySQL 中的 DATABASES,授权也是针对 SCHEMA 去授权的。

注意: RedShift 中创建的用户默认是有超级管理员的权限的,生产环境中,一定要控制权限,将授权精确到 SCHEMA 甚至 TABLES

对用户授权

RedShift 可以直接管理单个用户的权限

/* 
创建用户 
user_name:用户名
password:密码
*/
create user user_name password 'password';

/* 
查看用户 
user_name:用户名
*/
select * from pg_user_info;

/* 
删除用户
user_name:用户名
 */
DROP USER user_name;

/* 
创建 SCHEMA
schema_user:模式名
 */
CREATE SCHEMA schema_user;

/* 
授权用户对 SCHEMA 的所有权限
schema_user:模式名
user_name:用户名
*/
GRANT ALL PRIVILEGES ON SCHEMA schema_user TO user_name;

/* 
查看所有模式 SCHEMA
schema_name:此处schema_name为字段名,无需修改
*/
SELECT schema_name
FROM information_schema.schemata;

/* 
授权用户对某个 SCHEMA 的只读权限
schema_user:模式名
user_name:用户名
*/
GRANT USAGE ON SCHEMA schema_user TO user_name;
GRANT SELECT ON ALL TABLES IN SCHEMA schema_user TO user_name;

对用户组授权

RedShift 还可以通过用户组来管理用户的权限

/* 
创建用户组
group_name:组名
*/
CREATE GROUP group_name

/* 
将用户添加到用户组
group_name:组名
user_name:用户名
*/
ALTER GROUP group_name
ADD USER user_name;

/* 
创建用户组,并添加用户
group_name:组名
user1, user2:用户1,用户2
*/
CREATE GROUP group_name WITH USER user1, user2;

/* 
对 group_name 组的所有用户授予 schema_user 模式的所有权限
schema_user:模式名
group_name:组名
*/
GRANT ALL ON SCHEMA schema_user TO GROUP group_name;

/* 
给 group_name 组中的所有用户授予 schema_user 模式中 table_name 表的所有权限
schema_user:模式名
group_name:组名
*/
GRANT ALL ON SCHEMA schema_user.table_name TO GROUP group_name;

更多命令,详见 AWS 官方文档

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值