DBSECADM 子句
REVOKE DBSECADM 语句防止被授予了 DBSECADM 角色的用户发出可创建、改变、重命名或删除安全对象的 DDL 语句,安全对象包括安全策略、安全标签和安全组件。
DBSECADM 子句
元素 | 描述 | 限制 | 语法 |
user | 要从其取消角色的用户 | 必须为用户的授权标识符 | 所有者名称 |
DBSECADM 角色是仅 DBSA 可取消的内建角色。与用户定义的角色不同,DBSECADM 角色的作用域是 GBase 8s 实例的所有数据库。用户定义的角色的作用域是在其中创建该角色的数据库。DBSA 不必在同一服务器的其他数据库中重新发出 REVOKE DBSECADM 语句。
仅持有 DBSECADM 角色的用户可发出下列创建或更改安全对象的 SQL 语句:
- ALTER SECURITY LABEL COMPONENT
- CREATE SECURITY LABEL
- CREATE SECURITY LABEL COMPONENT
- CREATE SECURITY POLICY
- DROP SECURITY LABEL
- DROP SECURITY LABEL COMPONENT
- DROP SECURITY POLICY
- RENAME SECURITY LABEL
- RENAME SECURITY LABEL COMPONENT
- RENAME SECURITY POLICY
仅持有 DBSECADM 角色的用户可使用下列 SQL 语句来引用受安全策略保护的表:
- ALTER TABLE ... ADD SECURITY POLICY
- ALTER TABLE ... ADD ... IDSSECURITYLABEL [DEFAULT label]
- ALTER TABLE ... ADD ... [COLUMN] SECURED WITH
- ALTER TABLE ... DROP SECURITY POLICY
- ALTER TABLE ... MODIFY ... [COLUMN] SECURED WITH
- ALTER TABLE ... MODIFY ... DROP COLUMN SECURITY
- CREATE TABLE ... COLUMN SECURED WITH
- CREATE TABLE ... IDSSECURITYLABEL [DEFAULT label]
- CREATE TABLE ... SECURITY POLICY
不持有 DBSECADM 角色的用户也不可发出下列 GRANT 和 REVOKE 语句:
- GRANT EXEMPTION
- GRANT SECURITY LABEL
- GRANT SETSESSIONAUTH
- REVOKE EXEMPTION
- REVOKE SECURITY LABEL
- REVOKE SETSESSIONAUTH
可跟在 FROM 关键字之后的 USER 关键字是可选的,且不起作用,但 DBSA 在 REVOKE DBSECADM 语句中指定的任何授权标识符必须为单个用户的标识符,而不是角色的标识符。user 不可为发出此 REVOKE DBSECADM 语句的 DBSA.
在下例中,DBSA 取消用户 niccolo 的 DBSECADM 角色:
REVOKE DBSECADM FROM niccolo;
如果此语句执行成功,则用户 niccolo 可不再执行以上罗列的操作。
在取消 DBSECADM 角色之后,仅 DBSA 可再次将它授予被取消了它的用户。