ROLE_IS_MEMBER_OF - Amazon Redshift

从补丁 198 开始,Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息,请参阅博客文章

ROLE_IS_MEMBER_OF

如果角色是其他角色的成员,则返回 true。超级用户可以检查所有角色的成员身份。具有 ACCESS SYSTEM TABLE 权限的普通用户可以检查所有用户的成员身份。否则,普通用户只能检查其具有访问权限的角色。如果提供的角色不存在或当前用户无权访问该角色,则 Amazon Redshift 会返回错误。

数据共享注意事项

当使用者集群查询引用此函数的共享对象(例如视图、RLS 策略或 DDM 策略)时,该函数将利用使用者集群的安全上下文进行评估。结果由使用者的本地用户、角色和组成员资格决定,而不是由在生产者集群上定义的用户、角色和组成员资格决定。如果您打算强制执行在生产者上实施的相同权限上下文,请确保使用者集群上存在相应的角色名、组名和用户成员资格,并且与生产者上的角色名、组名和用户成员资格相匹配。

语法

role_is_member_of( role_name, granted_role_name)

参数

role_name

角色的名称。

granted_role_name

所授予角色的名称。

返回类型

返回一个布尔值。

示例

以下查询确认该角色不是 role1 的成员,也不是 role2 的成员。

SELECT role_is_member_of('role1', 'role2'); role_is_member_of ------------------- False