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 可再次将它授予被取消了它的用户。