写入权限
写入权限是为图的不同部分定义的
-
CREATE
- 允许创建节点和关系。 -
DELETE
- 允许删除节点和关系。 -
SET LABEL
- 允许使用SET
子句设置指定的节点标签。 -
REMOVE LABEL
- 允许使用REMOVE
子句删除指定的节点标签。 -
SET PROPERTY
- 允许在节点和关系上设置属性。
还有一些复合权限,它们组合了上述特定权限
有关语法描述的更多详细信息,请参阅 管理命令的 Cypher 语法。 |
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
在所有图上创建标签为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
在所有图上删除关系类型为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
的节点的属性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