没有超级用户访问权限的Redshift部署

时间:2019-11-26 00:55:17

标签: amazon-redshift

不使用管理员用户(具有超级用户访问权限)将更改部署到redshift集群中,想要创建一个具有权限来部署更改的组,并且可以将该组分配给部署团队。 但是看起来如果没有视图的所有者或超级用户就无法修改视图。是否有任何方法可以完成部署(其中包括更改表/更新现有视图-而不更改其所有权)而无需授予超级用户对开发/开发团队的访问权限?

2 个答案:

答案 0 :(得分:0)

您可以从任何用户创建VIEW / TABLE,然后使用ALLGRANT ALL ON table_or_view_name TO deploy_user_or_group的权限授予Deployment_user或GROUP。

答案 1 :(得分:0)

使用带有SECURITY DEFINER的存储过程可以做到这一点。

sp_controlled_access提供了一个示例,该示例使用SECURITY DEFINER来允许非特权用户在SP创建者的许可下执行查询。它使用“身份验证”表来检查用户是否有权运行提交的查询。

sp_check_primary_key提供了一个存储过程的示例,该存储过程执行管理员操作并将这些操作的记录记录在表中。

我的建议是从一个非常简单的SP开始,并随着对Redshift存储过程的信心和经验的增加而增强/扩展它。

我还建议创建一些类似于这些SP中“使用示例”部分的测试用例。

相关问题