Skip to content

Commit 10c2ccb

Browse files
renetapopovaConorNeoHunternessphil198JPryce-Aklundh
authored
5.x cherry pick 5 (#1141)
Cherry-picks #1066, #1067, #1068, #1069, #1083, #1107, #1073 --------- Co-authored-by: ConorNeo <[email protected]> Co-authored-by: Therese Magnusson <[email protected]> Co-authored-by: Phil Wright <[email protected]> Co-authored-by: Jens Pryce-Åklundh <[email protected]>
1 parent c326c47 commit 10c2ccb

File tree

15 files changed

+516
-199
lines changed

15 files changed

+516
-199
lines changed

modules/ROOT/content-nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@
169169
*** xref:authentication-authorization/privileges-writes.adoc[]
170170
*** xref:authentication-authorization/database-administration.adoc[]
171171
*** xref:authentication-authorization/dbms-administration.adoc[]
172+
*** xref:authentication-authorization/load-privileges.adoc[]
172173
*** xref:authentication-authorization/limitations.adoc[]
173174
*** xref:authentication-authorization/privileges-immutable.adoc[]
174175
*** xref:authentication-authorization/manage-execute-permissions.adoc[]

modules/ROOT/images/privileges_grant_and_deny_syntax.svg

Lines changed: 1 addition & 9 deletions
Loading

modules/ROOT/images/privileges_grant_and_deny_syntax_load_privileges.svg

Lines changed: 1 addition & 0 deletions
Loading

modules/ROOT/images/privileges_on_graph_syntax.svg

Lines changed: 1 addition & 9 deletions
Loading

modules/ROOT/pages/authentication-authorization/built-in-roles.adoc

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ The built-in roles have the following default privileges:
2121
[.compact]
2222
<<access-control-built-in-roles-public, `PUBLIC`>>::
2323
* Access to the home database.
24-
* Allows executing procedures with the users' own privileges.
25-
* Allows executing user-defined functions with the users' own privileges.
26-
* Allows loading data.
24+
* Execute procedures with the users' own privileges.
25+
* Execute user-defined functions with the users' own privileges.
26+
* Load data.
2727
<<access-control-built-in-roles-reader, `reader`>>::
2828
* Access to all databases.
2929
* Traverse and read on the data graph (all nodes, relationships, properties).
@@ -45,11 +45,11 @@ In other words, the `editor` role cannot add to the schema but can only make cha
4545
<<access-control-built-in-roles-admin, `admin`>>::
4646
* Access to all databases.
4747
* Traverse, read, and write on the data graph.
48-
* Allows loading data.
48+
* Load data.
4949
* Create/drop/show indexes and constraints along with any other future schema constructs.
50-
* Allows executing procedures using boosted privileges.
51-
* Allows executing admin procedures.
52-
* Allows executing user-defined functions using boosted privileges.
50+
* Execute procedures using boosted privileges.
51+
* Execute admin procedures.
52+
* Execute user-defined functions using boosted privileges.
5353
* View/terminate queries.
5454
* Manage databases, users, roles, and privileges.
5555

@@ -398,15 +398,6 @@ All of the commands require that the user executing the commands has the rights
398398
| {check-mark}
399399
| {check-mark}
400400

401-
| Load data
402-
|
403-
|
404-
|
405-
|
406-
| {check-mark}
407-
| {check-mark}
408-
| {check-mark}
409-
410401

411402
| Execute procedures
412403
|
@@ -449,7 +440,7 @@ All of the commands require that the user executing the commands has the rights
449440
== The `PUBLIC` role
450441

451442
All users are granted the `PUBLIC` role, and it can not be revoked or dropped.
452-
By default, it gives access to the default database and allows executing all procedures and user-defined functions.
443+
By default, it gives access to the default database and allows loading data, executing all procedures and user-defined functions.
453444

454445
[IMPORTANT]
455446
====
@@ -472,7 +463,8 @@ SHOW ROLE PUBLIC PRIVILEGES AS COMMANDS
472463
|"GRANT ACCESS ON HOME DATABASE TO `PUBLIC`"
473464
|"GRANT EXECUTE FUNCTION * ON DBMS TO `PUBLIC`"
474465
|"GRANT EXECUTE PROCEDURE * ON DBMS TO `PUBLIC`"
475-
a|Rows: 3
466+
|"GRANT LOAD ON ALL DATA TO `PUBLIC`"
467+
a|Rows: 4
476468
|===
477469

478470

@@ -500,6 +492,11 @@ GRANT EXECUTE PROCEDURES * ON DBMS TO PUBLIC
500492
GRANT EXECUTE USER DEFINED FUNCTIONS * ON DBMS TO PUBLIC
501493
----
502494

495+
[source, cypher, role=noplay]
496+
----
497+
GRANT LOAD ON ALL DATA TO PUBLIC
498+
----
499+
503500
The resulting `PUBLIC` role now has the same privileges as the original built-in `PUBLIC` role.
504501

505502

@@ -839,6 +836,7 @@ These include the rights to perform the following classes of tasks:
839836
** Change configuration parameters.
840837
** Manage sub-graph privileges.
841838
** Manage procedure security.
839+
** Manage xref:authentication-authorization/load-privileges.adoc[load privileges] to control the rights to load data from external sources.
842840

843841
These rights are conferred using privileges that can be managed through the xref:authentication-authorization/manage-privileges.adoc#access-control-graph-privileges[`GRANT`, `DENY` and `REVOKE` commands].
844842

@@ -859,6 +857,7 @@ SHOW ROLE admin PRIVILEGES AS COMMANDS
859857
|"GRANT ALL DBMS PRIVILEGES ON DBMS TO `admin`"
860858
|"GRANT CONSTRAINT MANAGEMENT ON DATABASE * TO `admin`"
861859
|"GRANT INDEX MANAGEMENT ON DATABASE * TO `admin`"
860+
|"GRANT LOAD ON ALL DATA TO `admin`"
862861
|"GRANT MATCH {*} ON GRAPH * NODE * TO `admin`"
863862
|"GRANT MATCH {*} ON GRAPH * RELATIONSHIP * TO `admin`"
864863
|"GRANT NAME MANAGEMENT ON DATABASE * TO `admin`"
@@ -868,7 +867,7 @@ SHOW ROLE admin PRIVILEGES AS COMMANDS
868867
|"GRANT STOP ON DATABASE * TO `admin`"
869868
|"GRANT TRANSACTION MANAGEMENT (*) ON DATABASE * TO `admin`"
870869
|"GRANT WRITE ON GRAPH * TO `admin`"
871-
a|Rows: 13
870+
a|Rows: 14
872871
|===
873872

874873
If the built-in `admin` role has been altered or dropped and needs to be restored to its original state, see xref:configuration/password-and-user-recovery[Password and user recovery].
@@ -916,6 +915,11 @@ GRANT MATCH {*} ON GRAPH * TO admin
916915
GRANT WRITE ON GRAPH * TO admin
917916
----
918917

918+
[source, cypher, role=noplay]
919+
----
920+
GRANT LOAD ON ALL DATA TO admin
921+
----
922+
919923
[source, cypher, role=noplay]
920924
----
921925
GRANT ALL ON DATABASE * TO admin

0 commit comments

Comments
 (0)