写入权限
写入权限针对图的不同部分定义
-
CREATE
- 允许创建节点和关系。 -
DELETE
- 允许删除节点和关系。 -
SET LABEL
- 允许使用SET
子句设置指定的节点标签。 -
REMOVE LABEL
- 允许使用REMOVE
子句删除指定的节点标签。 -
SET PROPERTY
- 允许在节点和关系上设置属性。
还有结合上述特定权限的复合权限
-
MERGE
- 允许MATCH
、CREATE
和SET PROPERTY
应用MERGE
命令。 -
WRITE
- 允许对整个图执行所有WRITE
操作。 -
ALL GRAPH PRIVILEGES
- 允许对整个图执行所有READ
和WRITE
操作。
有关如何阅读管理命令语法的更多详细信息,请参阅阅读管理命令语法和图权限命令的组成部分。
CREATE
权限
CREATE
权限允许用户在图上创建新的节点和关系元素。更多详细信息,请参阅Cypher 手册 → CREATE
子句。
GRANT [IMMUTABLE] CREATE
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
[
ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }
]
TO role[, ...]
例如,要授予角色 regularUsers
在图 neo4j
上 CREATE
元素的权限,请使用
GRANT CREATE ON GRAPH neo4j ELEMENTS * TO regularUsers
CREATE
权限也可以被拒绝
DENY [IMMUTABLE] CREATE
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
[
ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }
]
TO role[, ...]
例如,要拒绝角色 regularUsers
在所有图上 CREATE
带有标签 foo
的节点的权限,请使用
DENY CREATE ON GRAPH * NODES foo TO regularUsers
如果用户尝试创建带有数据库中尚不存在的标签的节点,则用户还必须拥有 |
如果数据库中不存在某个标签或关系类型,则用户无法使用相应的权限,直到它被创建。有关更多信息,请参阅不存在的标签、关系类型和属性名称的权限。 |
DELETE
权限
DELETE
权限允许用户删除图上的节点和关系元素。更多详细信息,请参阅Cypher 手册 → DELETE
子句。
GRANT [IMMUTABLE] DELETE
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
[
ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }
]
TO role[, ...]
例如,要授予角色 regularUsers
在图 neo4j
上 DELETE
元素的权限,请使用
GRANT DELETE ON GRAPH neo4j ELEMENTS * TO regularUsers
DELETE
权限也可以被拒绝
DENY [IMMUTABLE] DELETE
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
[
ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }
]
TO role[, ...]
例如,要拒绝角色 regularUsers
在所有图上 DELETE
关系类型为 bar
的关系的权限,请使用
DENY DELETE ON GRAPH * RELATIONSHIPS bar TO regularUsers
拥有 |
如果数据库中不存在某个标签或关系类型,则用户无法使用相应的权限,直到它被创建。有关更多信息,请参阅不存在的标签、关系类型和属性名称的权限。 |
SET LABEL
权限
SET LABEL
权限允许您使用Cypher SET
子句在节点上设置标签
GRANT [IMMUTABLE] SET LABEL { * | label[, ...] }
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要授予角色 regularUsers
在图 neo4j
的节点上 SET
任何标签的权限,请使用
GRANT SET LABEL * ON GRAPH neo4j TO regularUsers
与许多其他 |
SET LABEL
权限也可以被拒绝
DENY [IMMUTABLE] SET LABEL { * | label[, ...] }
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要拒绝角色 regularUsers
在所有图的节点上 SET
标签 foo
的权限,请使用
DENY SET LABEL foo ON GRAPH * TO regularUsers
如果数据库中不存在此标签的任何实例,则还需要 |
如果数据库中不存在某个标签,则用户无法使用相应的权限,直到它被创建。有关更多信息,请参阅不存在的标签、关系类型和属性名称的权限。 |
REMOVE LABEL
权限
REMOVE LABEL
权限允许您使用Cypher REMOVE
子句从节点中删除标签
GRANT [IMMUTABLE] REMOVE LABEL { * | label[, ...] }
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要授予角色 regularUsers
从图 neo4j
的节点中 REMOVE
任何标签的权限,请使用
GRANT REMOVE LABEL * ON GRAPH neo4j TO regularUsers
与许多其他 |
REMOVE LABEL
权限也可以被拒绝
DENY [IMMUTABLE] REMOVE LABEL { * | label[, ...] }
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要拒绝角色 regularUsers
从所有图的节点中删除标签 foo
的权限,请使用
DENY REMOVE LABEL foo ON GRAPH * TO regularUsers
如果数据库中不存在某个标签,则用户无法使用相应的权限,直到它被创建。有关更多信息,请参阅不存在的标签、关系类型和属性名称的权限。 |
SET PROPERTY
权限
SET PROPERTY
权限允许用户使用Cypher SET
子句在图中的节点或关系元素上设置属性
GRANT [IMMUTABLE] SET PROPERTY "{" { * | property[, ...] } "}"
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
[
ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }
]
TO role[, ...]
例如,要授予角色 regularUsers
在图 neo4j
的所有元素上 SET
任何属性的权限,请使用
GRANT SET PROPERTY {*} ON HOME GRAPH ELEMENTS * TO regularUsers
SET PROPERTY
权限也可以被拒绝
DENY [IMMUTABLE] SET PROPERTY "{" { * | property[, ...] } "}"
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
[
ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }
]
TO role[, ...]
例如,要拒绝角色 regularUsers
在所有图的带有标签 bar
的节点上 SET
属性 foo
的权限,请使用
DENY SET PROPERTY { foo } ON GRAPH * NODES bar TO regularUsers
如果用户尝试设置一个数据库中尚不存在的属性名称的属性,则用户还必须拥有 |
如果数据库中不存在某个标签、关系类型或属性名称,则用户无法使用相应的权限,直到它被创建。有关更多信息,请参阅不存在的标签、关系类型和属性名称的权限。 |
MERGE
权限
MERGE
权限是一个复合权限,它结合了 TRAVERSE
和 READ
(即 MATCH
)以及 CREATE
和 SET PROPERTY
。这旨在启用Cypher MERGE
命令的使用,但也适用于所有需要这些权限的读写操作。
GRANT [IMMUTABLE] MERGE "{" { * | property[, ...] } "}"
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
[
ELEMENT[S] { * | label-or-rel-type[, ...] }
| NODE[S] { * | label[, ...] }
| RELATIONSHIP[S] { * | rel-type[, ...] }
]
TO role[, ...]
例如,要授予角色 regularUsers
在图 neo4j
的所有元素上 MERGE
的权限,请使用
GRANT MERGE {*} ON GRAPH neo4j ELEMENTS * TO regularUsers
无法拒绝 MERGE
权限。如果您希望阻止用户创建元素和设置属性:请使用 DENY CREATE
或 DENY SET PROPERTY
。
如果用户尝试创建带有数据库中尚不存在的标签的节点,则用户还必须拥有 |
如果数据库中不存在某个标签、关系类型或属性名称,则用户无法使用相应的权限,直到它被创建。有关更多信息,请参阅不存在的标签、关系类型和属性名称的权限。 |
WRITE
权限
WRITE
权限允许用户在图上执行任何 WRITE
命令。
GRANT [IMMUTABLE] WRITE
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要授予角色 regularUsers
在图 neo4j
上 WRITE
的权限,请使用
GRANT WRITE ON GRAPH neo4j TO regularUsers
与更具体的 |
WRITE
权限也可以被拒绝
DENY [IMMUTABLE] WRITE
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要拒绝角色 regularUsers
在图 neo4j
上 WRITE
的权限,请使用
DENY WRITE ON GRAPH neo4j TO regularUsers
拥有 |
ALL GRAPH PRIVILEGES
权限
ALL GRAPH PRIVILEGES
权限允许用户在图上执行任何命令
GRANT [IMMUTABLE] ALL [ [ GRAPH ] PRIVILEGES ]
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要授予角色 regularUsers
在图 neo4j
上 ALL GRAPH PRIVILEGES
的权限,请使用
GRANT ALL GRAPH PRIVILEGES ON GRAPH neo4j TO regularUsers
与更具体的 |
|
ALL GRAPH PRIVILEGES
权限也可以被拒绝
DENY [IMMUTABLE] ALL [ [ GRAPH ] PRIVILEGES ]
ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } }
TO role[, ...]
例如,要拒绝角色 regularUsers
在图 neo4j
上的所有图权限,请使用
DENY ALL GRAPH PRIVILEGES ON GRAPH neo4j TO regularUsers