DBMS AUTH RULE MANAGEMENT 权限

与其他权限一样,用于身份验证规则管理的 DBMS 权限可以被授予、拒绝或撤销。

有关语法描述的更多详细信息,请参阅 阅读管理命令语法

表 1. 身份验证规则管理权限命令语法
命令 描述
GRANT [IMMUTABLE] CREATE AUTH RULE
  ON DBMS
  TO role[, ...]

允许指定的角色创建新的身份验证规则。

GRANT [IMMUTABLE] RENAME AUTH RULE
  ON DBMS
  TO role[, ...]

允许指定的角色更改身份验证规则的名称。

GRANT [IMMUTABLE] ALTER AUTH RULE
  ON DBMS
  TO role[, ...]

允许指定的角色修改身份验证规则。

GRANT [IMMUTABLE] DROP AUTH RULE
  ON DBMS
  TO role[, ...]

允许指定的角色删除身份验证规则。

GRANT [IMMUTABLE] SHOW AUTH RULE
  ON DBMS
  TO role[, ...]

允许指定的角色列出身份验证规则。

GRANT [IMMUTABLE] AUTH RULE MANAGEMENT
  ON DBMS
  TO role[, ...]

允许指定的角色创建、删除、重命名、修改和列出身份验证规则。

授予创建身份验证规则的权限

您可以使用 CREATE AUTH RULE 权限来授予添加身份验证规则的权限。
例如:

GRANT CREATE AUTH RULE ON DBMS TO authRuleAdder;

结果是,authRuleAdder 角色拥有允许添加身份验证规则的权限。

要以命令形式列出角色 authRuleAdder 的所有权限,请使用以下查询:

SHOW ROLE authRuleAdder PRIVILEGES AS COMMANDS;
表 2. 结果
command(命令)

"GRANT CREATE AUTH RULE ON DBMS TO `authRuleAdder`"

行:1

授予重命名身份验证规则的权限

您可以使用 RENAME AUTH RULE 权限来授予重命名身份验证规则的权限。
例如:

GRANT RENAME AUTH RULE ON DBMS TO authRuleNameModifier;

结果是,authRuleNameModifier 角色拥有允许重命名身份验证规则的权限。

要列出角色 authRuleNameModifier 的所有权限,请使用以下查询:

SHOW ROLE authRuleNameModifier PRIVILEGES AS COMMANDS;
表 3. 结果
command(命令)

"GRANT RENAME AUTH RULE ON DBMS TO `authRuleNameModifier`"

行:1

授予修改身份验证规则的权限

您可以使用 ALTER AUTH RULE 权限来授予修改身份验证规则的权限。例如:

GRANT ALTER AUTH RULE ON DBMS TO authRuleModifier;

结果是,authRuleModifier 角色拥有允许修改身份验证规则的权限。

要列出角色 authRuleModifier 的所有权限,请使用以下查询:

SHOW ROLE authRuleModifier PRIVILEGES AS COMMANDS;
表 4. 结果
command(命令)

"GRANT ALTER AUTH RULE ON DBMS TO `authRuleModifier`"

行:1

ALTER AUTH RULE 权限允许用户执行 ALTER AUTH RULE 管理命令,并带有 SET CONDITIONSET ENABLED 部分中的一个或两个。
例如:

ALTER AUTH RULE salesDepartment SET CONDITION abac.oidc.user_attribute('department') = 'sales';

授予删除身份验证规则的权限

您可以使用 DROP AUTH RULE 权限来授予删除身份验证规则的权限。
例如:

GRANT DROP AUTH RULE ON DBMS TO authRuleDropper;

结果是,authRuleDropper 角色拥有允许删除身份验证规则的权限。

要列出角色 authRuleDropper 的所有权限,请使用以下查询:

SHOW ROLE authRuleDropper PRIVILEGES AS COMMANDS;
表 5. 结果
command(命令)

"GRANT DROP AUTH RULE ON DBMS TO `authRuleDropper`"

行:1

授予列出身份验证规则的权限

您可以使用 SHOW AUTH RULE 权限来授予列出身份验证规则的权限。拥有此权限的角色可以执行 SHOW AUTH RULES 管理命令。它还授予角色通过 SHOW RULES WITH AUTH RULES 命令显示分配给角色的身份验证规则的能力。

以下查询显示了如何授予 SHOW AUTH RULE 权限的示例:

GRANT SHOW AUTH RULE ON DBMS TO authRuleViewer;

结果是,authRuleViewer 角色拥有允许列出身份验证规则的权限。

要以命令形式列出角色 authRuleViewer 的所有权限,请使用以下查询:

SHOW ROLE authRuleViewer PRIVILEGES AS COMMANDS;
表 6. 结果
command(命令)

"GRANT SHOW AUTH RULE ON DBMS TO `authRuleViewer`"

行:1

授予管理身份验证规则的权限

您可以使用 AUTH RULE MANAGEMENT 权限来授予创建、重命名、修改、删除和列出身份验证规则的权限。
例如:

GRANT AUTH RULE MANAGEMENT ON DBMS TO authRuleManager;

结果是,authRuleManager 角色拥有管理身份验证规则的所有权限。

要以命令形式列出角色 authRuleManager 的所有权限,请使用以下查询:

SHOW ROLE authRuleManager PRIVILEGES AS COMMANDS;
表 7. 结果
command(命令)

"GRANT AUTH RULE MANAGEMENT ON DBMS TO `authRuleManager`"

行:1