从补丁 198 开始,Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息,请参阅博客文章
USER_IS_MEMBER_OF
重要
从 2026 年 2 月 16 日起,Amazon Redshift 将不再支持使用 user_is_member_of 以及通过数据共享访问使用者用户、角色或组信息的相关函数。
如果用户是某个角色或组的成员,则返回 true。超级用户可以检查所有用户的成员身份。属于 sy:secadmin 或 sys:superuser 角色成员的普通用户可以检查所有用户的成员身份。否则,普通用户只能检查自己的成员身份。如果提供的身份不存在或当前用户无权访问该角色,则 Amazon Redshift 会发出错误消息。
数据共享注意事项
当使用者集群查询引用此函数的共享对象(例如视图、RLS 策略或 DDM 策略)时,该函数将利用使用者集群的安全上下文进行评估。结果由使用者的本地用户、角色和组成员资格决定,而不是由在生产者集群上定义的用户、角色和组成员资格决定。如果您打算强制执行在生产者上实施的相同权限上下文,请确保使用者集群上存在相应的角色名、组名和用户成员资格,并且与生产者上的角色名、组名和用户成员资格相匹配。
语法
user_is_member_of( user_name, role_name | group_name)
参数
- user_name
-
用户的名称。
- role_name
-
角色的名称。
- group_name
-
组的名称。
返回类型
返回一个布尔值。
示例
以下查询确认该用户不是 role1 的成员。
SELECT user_is_member_of('reguser', 'role1'); user_is_member_of ------------------- False