GRANT SETSESSIONAUTH 语句将 SETSESSIONAUTH 权限授予一个或多个用户或角色。此权限允许持有者使用 SET SESSION AUTHORIZATION 语句来设置会话授权为 PUBLIC 或为指定用户的列表中的任一个。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
role | 要授予其该权限的角色 | 必须为角色的授权标识符 | 所有者名称 |
user | 在 TO 关键字之后,要授予其该权限的用户。在 ON 关键字之后,表示可在 SET AUTHORIZATION 语句中指定其被授权者身份的用户。 | 必须为用户的授权标识符 | 所有者名称 |
仅持有 DBSECADM 角色的用户可授予 SETSESSIONAUTH 权限。SETSESSIONAUTH 权限和 DBA 权限都需要执行 SET AUTHORIZATION 语句。
跟在 ON 关键字之后的用户或 PUBLIC 规范指定在使用 SET SESSION AUTHORIZATION 语句时,该 SETSESSIONAUTH 权限的被授予者可使用谁的身份。此可为用户或 PUBLIC,但不可为角色。如果指定 PUBLIC,那么该权限的被授予者可使用任何数据库用户的身份。
可跟在 TO 关键字之后的 USER 和 ROLE 关键字是可选的。user 或 role 都不可为发出 GRANT SETSESSIONAUTH 语句的 DBSECADM 角色的持有者。
GRANT SETSESSIONAUTH ON lynette, manoj TO sam;
GRANT SETSESSIONAUTH ON PUBLIC TO lynette;
仅持有 DBSECADM 角色的用户可取消 SETSESSIONAUTH 权限。要了解 LBAC 安全对象的讨论,请参阅您的 GBase 8s 安全指南。