Shm*_*ski 2 sql permissions amazon-web-services amazon-redshift
我的 Amazon Redshift 中有一个用户可以访问特定视图。该视图背后的基础表每天都会在 ETL 过程中重新创建。当一天过去后,视图也会重新创建,因此,该视图的权限被“阻止”给该特定用户,我需要再次授予该权限。
这是视图 Grant 语句:
GRANT USAGE ON SCHEMA dwh TO monte_carlo_data_project;
GRANT SELECT ON dwh.v_dp_dim_account TO monte_carlo_data_project;
Run Code Online (Sandbox Code Playgroud)
当用户尝试再次查询视图(重新创建视图后)时,他收到权限错误:
SQL 错误 [500310] [42501]:Amazon 无效操作:关系 v_dp_dim_account 的权限被拒绝;
只有当我GRANT SELECT再次运行该命令时,用户才会再次获得权限。
知道如何处理这个问题吗?
使用 重新创建一次视图WITH NO SCHEMA BINDING。
这将允许您将表与视图“解耦”
来自文档
WITH NO SCHEMA BINDING 子句指定视图不绑定到基础数据库对象,例如表和用户定义的函数。因此,视图与其引用的对象之间不存在依赖关系。即使引用的对象不存在,您也可以创建视图。由于不存在依赖关系,因此您可以删除或更改引用的对象,而不会影响视图
欲了解更多信息
https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_VIEW.html
| 归档时间: |
|
| 查看次数: |
4868 次 |
| 最近记录: |