Skip to content

Commit bd09869

Browse files
renetapopovagem-neo4jHunternessparnmatt
authored
5.x cherry picks for 5.13 part 2 (#1135)
Cherry-picks #1046, #1044, and #1063 --------- Co-authored-by: Gemma Lamont <[email protected]> Co-authored-by: Therese Magnusson <[email protected]> Co-authored-by: Matthew Parnell <[email protected]>
1 parent 8d21ef8 commit bd09869

File tree

3 files changed

+118
-79
lines changed

3 files changed

+118
-79
lines changed

modules/ROOT/pages/authentication-authorization/access-control.adoc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,12 @@ There are two different ways of doing this, either by using the built-in roles,
116116

117117
Neo4j comes with built-in roles that cover a number of common needs:
118118

119-
* `PUBLIC` - All users have this role, can by default access the home database, and run all procedures and user-defined functions.
119+
* `PUBLIC` - All users have this role, can by default access the home database, load data, and run all procedures and user-defined functions.
120120
* `reader` - Can read data from all databases.
121121
* `editor` - Can read and update all databases, but not expand the schema with new labels, relationship types or property names.
122122
* `publisher` - Can read and edit, as well as add new labels, relationship types, and property names.
123123
* `architect` - Has all the capabilities of the publisher as well as the ability to manage indexes and constraints.
124-
* `admin` - Can perform architect actions as well as manage databases, users, roles, and privileges.
124+
* `admin` - Can perform architect actions as well as load data and manage databases, users, roles, and privileges.
125125

126126
Consider Charlie from the example of users.
127127
As a researcher, they do not need write access to the database, so they are assigned the `reader` role.
@@ -252,6 +252,7 @@ SHOW ROLE itadmin PRIVILEGES AS COMMANDS;
252252
| "GRANT STOP ON DATABASE * TO `itadmin`" |
253253
| "GRANT TRANSACTION MANAGEMENT (*) ON DATABASE * TO `itadmin`" |
254254
| "GRANT ALL DBMS PRIVILEGES ON DBMS TO `itadmin`" |
255+
| "GRANT LOAD ON ALL DATA TO `itadmin`" |
255256
| "DENY READ {ssn} ON GRAPH `healthcare` NODE Patient TO `itadmin`" |
256257
| "DENY CREATE ON GRAPH `healthcare` RELATIONSHIP DIAGNOSIS TO `itadmin`" |
257258
+-------------------------------------------------------------------------+
@@ -407,6 +408,7 @@ neo4j@system> SHOW USER charlie PRIVILEGES AS COMMANDS;
407408
| "GRANT ACCESS ON DATABASE `healthcare` TO $role" |
408409
| "GRANT EXECUTE PROCEDURE * ON DBMS TO $role" |
409410
| "GRANT EXECUTE FUNCTION * ON DBMS TO $role" |
411+
| "GRANT LOAD ON ALL DATA TO $role" |
410412
| "GRANT MATCH {*} ON GRAPH `healthcare` NODE * TO $role" |
411413
| "GRANT MATCH {*} ON GRAPH `healthcare` RELATIONSHIP * TO $role" |
412414
| "DENY TRAVERSE ON GRAPH `healthcare` RELATIONSHIP DIAGNOSIS TO $role" |
@@ -781,6 +783,7 @@ SHOW USER daniel PRIVILEGES AS COMMANDS;
781783
| "GRANT ACCESS ON DATABASE `healthcare` TO $role" |
782784
| "GRANT EXECUTE PROCEDURE * ON DBMS TO $role" |
783785
| "GRANT EXECUTE FUNCTION * ON DBMS TO $role" |
786+
| "GRANT LOAD ON ALL DATA TO $role" |
784787
| "GRANT TRAVERSE ON GRAPH `healthcare` NODE * TO $role" |
785788
| "GRANT TRAVERSE ON GRAPH `healthcare` RELATIONSHIP * TO $role" |
786789
| "GRANT READ {*} ON GRAPH `healthcare` NODE * TO $role" |
@@ -936,6 +939,7 @@ neo4j@system> SHOW USER daniel PRIVILEGES AS COMMANDS;
936939
| "GRANT ACCESS ON DATABASE `healthcare` TO $role" |
937940
| "GRANT EXECUTE PROCEDURE * ON DBMS TO $role" |
938941
| "GRANT EXECUTE FUNCTION * ON DBMS TO $role" |
942+
| "GRANT LOAD ON ALL DATA TO $role" |
939943
| "GRANT TRAVERSE ON GRAPH `healthcare` NODE * TO $role" |
940944
| "GRANT TRAVERSE ON GRAPH `healthcare` RELATIONSHIP * TO $role" |
941945
| "GRANT READ {*} ON GRAPH `healthcare` NODE * TO $role" |
@@ -1042,6 +1046,7 @@ neo4j@system> SHOW USER tina PRIVILEGES AS COMMANDS;
10421046
| "GRANT ACCESS ON DATABASE `healthcare` TO $role" |
10431047
| "GRANT EXECUTE PROCEDURE * ON DBMS TO $role" |
10441048
| "GRANT EXECUTE FUNCTION * ON DBMS TO $role" |
1049+
| "GRANT LOAD ON ALL DATA TO $role" |
10451050
| "GRANT ROLE MANAGEMENT ON DBMS TO $role" |
10461051
| "GRANT USER MANAGEMENT ON DBMS TO $role" |
10471052
| "GRANT SHOW PRIVILEGE ON DBMS TO $role" |
@@ -1072,6 +1077,7 @@ SHOW USER sally PRIVILEGES AS COMMANDS;
10721077
| "GRANT ACCESS ON DATABASE `healthcare` TO $role" |
10731078
| "GRANT EXECUTE PROCEDURE * ON DBMS TO $role" |
10741079
| "GRANT EXECUTE FUNCTION * ON DBMS TO $role" |
1080+
| "GRANT LOAD ON ALL DATA TO $role" |
10751081
| "GRANT MATCH {*} ON GRAPH `healthcare` NODE Patient TO $role" |
10761082
| "GRANT SET PROPERTY {*} ON GRAPH `healthcare` NODE Patient TO $role" |
10771083
| "GRANT CREATE ON GRAPH `healthcare` NODE Patient TO $role" |

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Neo4j provides built-in roles with default privileges. The built-in roles and th
1313
* Access to the home database.
1414
* Allows executing procedures with the users own privileges.
1515
* Allows executing user-defined functions with the users own privileges.
16+
* Allows loading data.
1617
`reader`::
1718
* Access to all databases.
1819
* Traverse and read on the data graph (all nodes, relationships, properties).
@@ -34,6 +35,7 @@ In other words, the `editor` role cannot add to the schema but can only make cha
3435
`admin`::
3536
* Access to all databases.
3637
* Traverse, read, and write on the data graph.
38+
* Allows loading data.
3739
* Create/drop/show indexes and constraints along with any other future schema constructs.
3840
* Allows executing procedures with the users own privileges or boosted privileges.
3941
* Allows executing admin procedures.
@@ -380,6 +382,15 @@ The subset of the functionality which is available with Community Edition is als
380382
|
381383
| {check-mark}
382384

385+
| Load data
386+
|
387+
|
388+
|
389+
|
390+
| {check-mark}
391+
| {check-mark}
392+
| {check-mark}
393+
383394
| Execute procedures
384395
|
385396
|

0 commit comments

Comments
 (0)