在Teradata SQLAssistant中,我创建了一个db用户USER1,它有17个视图。这个用户可以在任何视图上执行SELECT,这要归功于我授予的个人资料/角色,然后与他相关联。 他的孩子USER2是一个与USER1具有相同配置文件/角色的数据库用户,但我的问题是他无法选择USER1的任何视图:
找不到表格/视图****,或者您没有访问权限
当我签入Teradata Administrator时,USER2对17个视图用作USER1的数据仓库表具有相同的权限(READ)....
任何人都可以帮助我吗?
我可以提供更多细节。
提前致谢。
EDIT1:我有可能做那个选择,但我需要做一个
每张桌子上Grant SELECT on table_used_by_view to USER1 WITH GRANT OPTION;
......我真的需要坚持使用ROLE / PROFILE方法,所以我不能接受这个解决方案(因为你不能做一个WITH GRANT OPTION关于角色)。
答案 0 :(得分:0)
在这种情况下,视图的所有者USER1
必须在数据库或视图中定义的表上明确授予SELECT WITH GRANT OPTION
。
GRANT SELECT ON {db1}.{table1|view1} TO USER1 WITH GRANT OPTION;
在较高级别,这允许USER2
访问另一个数据库对象中的数据,而无需访问授予USER2
的数据的显式权限。
答案 1 :(得分:0)
将数据仓库表(由USER1'视图使用)上的选项授予USER1,并通过ROLE将USER1上的SELECT授予USER2。
现在我只需要在创建它们时将该角色交给USER1的孩子,并且他们可以在USER1的视图上执行SELECT