SETSESSIONAUTH 子句

GRANT SETSESSIONAUTH 语句将 SETSESSIONAUTH 权限授予一个或多个用户或角色。此权限允许持有者使用 SET SESSION AUTHORIZATION 语句来设置会话授权为 PUBLIC 或为指定用户的列表中的任一个。

SETSESSIONAUTH 子句

元素 描述 限制 语法
role 要授予其该权限的角色 必须为角色的授权标识符 所有者名称
user 在 TO 关键字之后,要授予其该权限的用户。在 ON 关键字之后,表示可在 SET AUTHORIZATION 语句中指定其被授权者身份的用户。 必须为用户的授权标识符 所有者名称

仅持有 DBSECADM 角色的用户可授予 SETSESSIONAUTH 权限。SETSESSIONAUTH 权限和 DBA 权限都需要执行 SET AUTHORIZATION 语句。

跟在 ON 关键字之后的用户或 PUBLIC 规范指定在使用 SET SESSION AUTHORIZATION 语句时,该 SETSESSIONAUTH 权限的被授予者可使用谁的身份。此可为用户或 PUBLIC,但不可为角色。如果指定 PUBLIC,那么该权限的被授予者可使用任何数据库用户的身份。

可跟在 TO 关键字之后的 USER 和 ROLE 关键字是可选的。userrole 都不可为发出 GRANT SETSESSIONAUTH 语句的 DBSECADM 角色的持有者。

下列示例授予用户 sam 将会话授权设置为用户 lynettemanoj 的能力:
GRANT SETSESSIONAUTH ON lynette, manoj TO sam; 
下一示例授予用户 lynette 将会话授权设置为 PUBLIC 的能力:
GRANT SETSESSIONAUTH ON PUBLIC TO lynette; 

仅持有 DBSECADM 角色的用户可取消 SETSESSIONAUTH 权限。要了解 LBAC 安全对象的讨论,请参阅您的 GBase 8s 安全指南