DBMS DATABASE MANAGEMENT 权限

可以像其他权限一样,授予、拒绝或撤销用于数据库管理的 DBMS 权限。

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

表 1. 数据库管理权限命令语法
命令 描述
GRANT [IMMUTABLE] CREATE DATABASE
  ON DBMS
  TO role[, ...]

允许指定的角色创建新的标准数据库。

GRANT [IMMUTABLE] DROP DATABASE
  ON DBMS
  TO role[, ...]

允许指定的角色删除标准数据库。

GRANT [IMMUTABLE] ALTER DATABASE
  ON DBMS
  TO role[, ...]

允许指定的角色修改标准数据库。

GRANT [IMMUTABLE] SET DATABASE ACCESS
  ON DBMS
  TO role[, ...]

允许指定的角色修改对标准数据库的访问权限。

GRANT [IMMUTABLE] SET DATABASE DEFAULT LANGUAGE
  ON DBMS
  TO role[, ...]

允许指定的角色在标准数据库上设置默认查询语言。

GRANT [IMMUTABLE] CREATE COMPOSITE DATABASE
  ON DBMS
  TO role[, ...]

允许指定的角色创建新的复合数据库。

GRANT [IMMUTABLE] DROP COMPOSITE DATABASE
  ON DBMS
  TO role[, ...]

允许指定的角色删除复合数据库。

GRANT [IMMUTABLE] ALTER COMPOSITE DATABASE
  ON DBMS
  TO role[, ...]

允许指定的角色修改复合数据库。

GRANT [IMMUTABLE] COMPOSITE DATABASE MANAGEMENT
  ON DBMS
  TO role[, ...]

允许指定的角色创建、删除或修改复合数据库。

GRANT [IMMUTABLE] DATABASE MANAGEMENT
  ON DBMS
  TO role[, ...]

允许指定的角色创建、删除和修改数据库。

从 Cypher 25(Neo4j 服务器 2025.08)开始,ALTER DATABASESET DATABASE ACCESSSET DATABASE DEFAULT LANGUAGEALTER COMPOSITE DATABASE 权限既可以作为数据库权限授予,也可以作为 DBMS 权限授予。DBMS 权限版本等同于授予所有数据库的权限,即 DATABASE *。有关数据库权限版本的更多信息,请参阅 数据库更改相关权限

授予创建标准数据库的权限

您可以使用 CREATE DATABASE 权限授予创建标准数据库的权限。
例如:

GRANT CREATE DATABASE ON DBMS TO databaseAdder

结果是,databaseAdder 角色拥有的权限仅允许创建标准数据库。要以命令形式列出角色 databaseAdder 的所有权限,请使用以下查询

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

"GRANT CREATE DATABASE ON DBMS TO `databaseAdder`"

行:1

授予创建复合数据库的权限

您可以使用 CREATE COMPOSITE DATABASE 权限授予创建复合数据库的权限。
例如:

GRANT CREATE COMPOSITE DATABASE ON DBMS TO compositeDatabaseAdder

结果是,compositeDatabaseAdder 角色拥有的权限仅允许创建复合数据库。要以命令形式列出角色 compositeDatabaseAdder 的所有权限,请使用以下查询

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

"GRANT CREATE COMPOSITE DATABASE ON DBMS TO `compositeDatabaseAdder`"

行:1

授予删除标准数据库的权限

您可以使用 DROP DATABASE 权限授予删除标准数据库的权限。
例如:

GRANT DROP DATABASE ON DBMS TO databaseDropper

结果是,databaseDropper 角色拥有的权限仅允许删除标准数据库。要以命令形式列出角色 databaseDropper 的所有权限,请使用以下查询

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

"GRANT DROP DATABASE ON DBMS TO `databaseDropper`"

行:1

授予删除复合数据库的权限

您可以使用 DROP COMPOSITE DATABASE 权限授予删除复合数据库的权限。
例如:

GRANT DROP COMPOSITE DATABASE ON DBMS TO compositeDatabaseDropper

结果是,compositeDatabaseDropper 角色拥有的权限仅允许删除复合数据库。要以命令形式列出角色 compositeDatabaseDropper 的所有权限,请使用以下查询

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

"GRANT DROP COMPOSITE DATABASE ON DBMS TO `compositeDatabaseDropper`"

行:1

授予修改标准数据库的权限

您可以使用 ALTER DATABASE 权限授予修改标准数据库的权限。
例如:

GRANT ALTER DATABASE ON DBMS TO databaseModifier;

结果是,databaseModifier 角色拥有的权限仅允许修改标准数据库。要以命令形式列出角色 databaseModifier 的所有权限,请使用以下查询

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

"GRANT ALTER DATABASE ON DBMS TO `databaseModifier`"

行:1

从 Cypher 25(Neo4j 服务器 2025.08)开始,ALTER DATABASE 权限既可以作为数据库权限授予,也可以作为 DBMS 权限授予。DBMS 权限版本等同于授予所有数据库的权限,即 DATABASE *。有关数据库权限版本的更多信息,请参阅 数据库更改相关权限

授予修改标准数据库访问权限的权限

您可以使用 SET DATABASE ACCESS 权限授予修改标准数据库访问权限的权限。
例如:

GRANT SET DATABASE ACCESS ON DBMS TO accessModifier

结果是,accessModifier 角色拥有的权限仅允许修改标准数据库的访问权限。要以命令形式列出角色 accessModifier 的所有权限,请使用以下查询

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

"GRANT SET DATABASE ACCESS ON DBMS TO `accessModifier`"

行:1

从 Cypher 25(Neo4j 服务器 2025.08)开始,SET DATABASE ACCESS 权限既可以作为数据库权限授予,也可以作为 DBMS 权限授予。DBMS 权限版本等同于授予所有数据库的权限,即 DATABASE *。有关数据库权限版本的更多信息,请参阅 数据库更改相关权限

授予修改标准数据库默认语言的权限

您可以使用 SET DATABASE DEFAULT LANGUAGE 权限授予修改标准数据库默认语言的权限。
例如:

GRANT SET DATABASE DEFAULT LANGUAGE ON DBMS TO languageModifier

结果是,languageModifier 角色拥有的权限仅允许修改标准数据库的默认语言。要以命令形式列出角色 languageModifier 的所有权限,请使用以下查询

SHOW ROLE languageModifier PRIVILEGES AS COMMANDS;
表 8. 结果
command(命令)

"GRANT SET DATABASE DEFAULT LANGUAGE ON DBMS TO `languageModifier`"

行:1

从 Cypher 25(Neo4j 服务器 2025.08)开始,SET DATABASE DEFAULT LANGUAGE 权限既可以作为数据库权限授予,也可以作为 DBMS 权限授予。DBMS 权限版本等同于授予所有数据库的权限,即 DATABASE *。有关数据库权限版本的更多信息,请参阅 数据库更改相关权限

授予修改复合数据库的权限

您可以使用 ALTER COMPOSITE DATABASE 权限授予修改复合数据库的权限。
例如:

GRANT ALTER COMPOSITE DATABASE ON DBMS TO compositeDatabaseModifier;

结果是,compositeDatabaseModifier 角色拥有的权限仅允许修改复合数据库。要以命令形式列出角色 compositeDatabaseModifier 的所有权限,请使用以下查询

SHOW ROLE compositeDatabaseModifier PRIVILEGES AS COMMANDS;
表 9. 结果
command(命令)

"GRANT ALTER COMPOSITE DATABASE ON DBMS TO `compositeDatabaseModifier`"

行:1

从 Cypher 25(Neo4j 服务器 2025.08)开始,ALTER COMPOSITE DATABASE 权限既可以作为数据库权限授予,也可以作为 DBMS 权限授予。DBMS 权限版本等同于授予所有数据库的权限,即 DATABASE *。有关数据库权限版本的更多信息,请参阅 数据库更改相关权限

授予管理复合数据库的权限

您可以使用 COMPOSITE DATABASE MANAGEMENT 权限授予创建、删除和修改复合数据库的权限。
例如:

GRANT COMPOSITE DATABASE MANAGEMENT ON DBMS TO compositeDatabaseManager;

结果是,compositeDatabaseManager 角色拥有管理复合数据库的所有权限。要以命令形式列出角色 compositeDatabaseManager 的所有权限,请使用以下查询

SHOW ROLE compositeDatabaseManager PRIVILEGES AS COMMANDS;
表 10. 结果
command(命令)

"GRANT COMPOSITE DATABASE MANAGEMENT ON DBMS TO `compositeDatabaseManager`"

行:1

授予管理标准和复合数据库的权限

您可以使用 DATABASE MANAGEMENT 权限授予创建、删除和修改标准和复合数据库的权限。
例如:

GRANT DATABASE MANAGEMENT ON DBMS TO databaseManager;

结果是,databaseManager 角色拥有管理标准和复合数据库的所有权限。要以命令形式列出角色 databaseManager 的所有权限,请使用以下查询

SHOW ROLE databaseManager PRIVILEGES AS COMMANDS;
表 11. 结果
command(命令)

"GRANT DATABASE MANAGEMENT ON DBMS TO `databaseManager`"

行:1