加载权限
本节解释如何使用 Cypher 管理加载权限。所有加载权限适用于整个系统。与 DBMS 权限一样,它们不属于特定的数据库或图。有关图、数据库和 DBMS 之间区别的更多详细信息,请参阅Cypher 手册 → Cypher 和 Neo4j。
加载权限适用于 Cypher LOAD CSV
子句,决定是否可以从给定来源加载数据。
加载权限语法
加载权限使用 Cypher 管理命令分配。它们可以像其他权限一样被授予、拒绝和撤销。有关更多详细信息,请参见RBAC 和细粒度权限。
命令 | 描述 |
---|---|
|
启用指定角色在查询中加载外部数据。 |
|
启用指定角色在查询中从给定 CIDR 范围加载外部数据。 |
有关语法描述的更多详细信息,请参见管理命令的 Cypher 语法。 |
与其他权限不同,LOAD
权限不是在 DBMS
、DATABASE
或 GRAPH
上授予、拒绝或撤销的,而是在要加载的数据源上。添加 ON ALL DATA
意味着角色拥有从所有来源加载数据的权限。如果只想允许从特定 CIDR 范围提供的来源加载数据,请使用 ON CIDR cidr
。
强烈建议仅通过 HTTPS 等安全协议允许资源加载,而不是像 HTTP 这样的不安全协议。这可以通过将可访问范围限制为仅使用安全协议的可信来源来实现。如果允许不安全协议是绝对无法避免的,Neo4j 会在内部采取措施,在其限制范围内增强这些请求的安全性。然而,这意味着虚拟主机上的不安全 URL 将无法运行,除非您将 JVM 参数 |
ALL DATA
权限
ALL DATA
上的加载权限启用或禁用数据加载。如果授予,用户可以从任何来源加载数据。如果缺失或拒绝,则根本无法加载数据。
roleLoadAllData
的用户使用 LOAD CSV
加载数据的能力GRANT LOAD ON ALL DATA TO roleLoadAllData
roleLoadAllData
的所有权限列为命令SHOW ROLE roleLoadAllData PRIVILEGES AS COMMANDS
命令 |
---|
|
行数:1 |
LOAD ON ALL DATA
权限默认授予 PUBLIC
角色。
CIDR
权限
CIDR cidr
上的加载权限启用或禁用从给定 IPv4 或 IPv6 CIDR 范围加载数据。如果授予,用户可以从给定 CIDR 范围内的来源加载数据。如果缺失或拒绝,则无法从给定 CIDR 范围内的来源加载数据。
roleLoadCidr
的用户从 127.0.0.1/32
使用 LOAD CSV
加载数据的能力DENY LOAD ON CIDR "127.0.0.1/32" TO roleLoadCidr
roleLoadCidr
的所有权限列为命令SHOW ROLE roleLoadCidr PRIVILEGES AS COMMANDS
命令 |
---|
|
行数:1 |