redishitft给用户添加权限

在 Amazon Redshift 中,授予用户对某个模式的“读”权限涉及到授权用户查询该模式中所有表和视图的能力。由于 Redshift 没有直接授予模式的读权限的选项,你需要分别对每个表和视图授予权限。以下是执行此操作的步骤:

  • 授予USAGE权限:
    首先,你需要授予用户对模式的USAGE权限,这个权限让用户能够在模式中访问表和其他对象(但不包括表的内容)。例如:
    GRANT USAGE ON SCHEMA schemaname TO username;

  • 授予所有表的SELECT权限:
    之后,你需要为模式中的每张表授予SELECT权限,这可以手动为每张表完成,或者通过脚本动态生成 SQL 语句来实现:
    GRANT SELECT ON ALL TABLES IN SCHEMA schemaname TO username;
    注意,GRANT SELECT ON ALL TABLES IN SCHEMA语句只会应用到在执行命令时存在的表,新创建的表需要再执行一遍该命令或在创建后单独授权。

  • 设置在模式中创建新表时的默认权限: 若要新创建的表自动具有相同的权限,你可以更改模式的默认权限:
    ALTER DEFAULT PRIVILEGES IN SCHEMA schemaname GRANT SELECT ON TABLES TO username;
    使用ALTER DEFAULT PRIVILEGES时请小心,因为该设置会应用到该模式内由当前用户以后创建的所有新表。如果你有多个用户在该模式中创建表,你需要对每个用户分别设置默认权限。

最后,你可能需要定期检查并为新创建的表或视图授予权限,除非已经设置了合适的默认权限。

422

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值