USER_IS_MEMBER_OF - Amazon Redshift

从补丁 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