You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/authentication-authorization/manage-privileges.adoc
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,19 +7,20 @@
7
7
Role-based access control (_RBAC_) is a method of restricting access to authorized users, by assigning users to specific roles with a particular set of privileges granted to them.
8
8
Privileges control the access rights to graph elements using a combined allowlist/denylist mechanism.
9
9
It is possible to grant or deny access, or use a combination of the two.
10
-
The user will be able to access the resource if they have a `GRANT` (allowlist) and do not have a `DENY` (denylist) relevant to that resource.
11
-
All other combinations of `GRANT` and `DENY` will result in the matching path being inaccessible.
12
-
What this means in practice depends on whether we are talking about a xref:authentication-authorization/privileges-reads.adoc[read privilege] or a xref:authentication-authorization/privileges-writes.adoc[write privilege]:
10
+
You are able to access a resource if you have a `GRANT` (allowlist) and do not have a `DENY` (denylist) relevant to that resource.
11
+
All other combinations of `GRANT` and `DENY` result in the matching path being inaccessible.
12
+
What this means in practice depends on whether you have a xref:authentication-authorization/privileges-reads.adoc[read privilege] or a xref:authentication-authorization/privileges-writes.adoc[write privilege]:
13
13
14
-
* If an entity is not accessible due to xref:authentication-authorization/privileges-reads.adoc[read privileges], the data will become invisible.
15
-
It will appear to the user as if they had a smaller database (smaller graph).
16
-
* If an entity is not accessible due to xref:authentication-authorization/privileges-writes.adoc[write privileges], an error will occur on any attempt to write that data.
14
+
* If an entity is not accessible due to xref:authentication-authorization/privileges-reads.adoc[read privileges], the data is invisible.
15
+
It appears to you as if you had a smaller database (smaller graph).
16
+
* If an entity is not accessible due to xref:authentication-authorization/privileges-writes.adoc[write privileges], an error occurs on any attempt to write that data.
17
17
18
18
[NOTE]
19
19
====
20
-
In this document we will often use the terms _'allows'_ and _'enables'_ in seemingly identical ways. However, there is a subtle difference.
21
-
We will use _'enables'_ to refer to the consequences of xref:authentication-authorization/privileges-reads.adoc[read privileges] where a restriction will not cause an error, only a reduction in the apparent graph size.
22
-
We will use _'allows'_ to refer to the consequence of xref:authentication-authorization/privileges-writes.adoc[write privileges] where a restriction can result in an error.
20
+
This page often uses the terms _'allows'_ and _'enables'_ in seemingly identical ways.
21
+
However, there is a subtle difference.
22
+
_'enables'_ refers to the consequences of xref:authentication-authorization/privileges-reads.adoc[read privileges] where a restriction will not cause an error, only a reduction in the apparent graph size.
23
+
_'allows'_ refers to the consequence of xref:authentication-authorization/privileges-writes.adoc[write privileges] where a restriction can result in an error.
Once the user-defined strategy has been specified, we can add configuration to the xref:configuration/configuration-settings.adoc#config_server.cluster.catchup.user_defined_upstream_strategy[`server.cluster.catchup.user_defined_upstream_strategy`] setting based on the server tags that have been set for the cluster.
351
+
Once the user-defined strategy has been specified, you can add configuration to the xref:configuration/configuration-settings.adoc#config_server.cluster.catchup.user_defined_upstream_strategy[`server.cluster.catchup.user_defined_upstream_strategy`] setting based on the server tags that have been set for the cluster.
352
352
353
353
This functionality is described with two examples:
354
354
@@ -358,7 +358,7 @@ This functionality is described with two examples:
358
358
For illustrative purposes four regions are proposed: `north`, `south`, `east`, and `west` and within each region there is a number of data centers such as `north1` or `west2`.
359
359
The server tags are configured so that each data center maps to its own server tag.
360
360
Additionally it is assumed that each data center fails independently from the others and that a region can act as a supergroup of its constituent data centers.
361
-
So a server in the `north` region might have configuration like `initial.server.tags=north2,north` which puts it in two groups that match to our physical topology as shown in the diagram below.
361
+
So a server in the `north` region might have configuration like `initial.server.tags=north2,north` which puts it in two groups that match to your physical topology as shown in the diagram below.
362
362
363
363
[[img-nesw-regions-and-dcs]]
364
364
image::nesw-regions-and-dcs.svg[title="Mapping regions and data centers onto server tags", role="middle"]
@@ -410,25 +410,25 @@ The `min()` filter is a simple but reasonable health indicator of a set of serve
410
410
// === Building upstream strategy plugins using Java
411
411
412
412
// Neo4j supports an API which advanced users may use to enhance upstream recommendations in arbitrary ways: load, subnet, machine size, or anything else accessible from the JVM.
413
-
// In such cases we are invited to build our own implementations of `org.neo4j.causalclustering.upstream.UpstreamDatabaseSelectionStrategy` to suit our own needs, and register them with the catch-up strategy selection pipeline just like the pre-packaged plugins.
413
+
// In such cases you are invited to build your own implementations of `org.neo4j.causalclustering.upstream.UpstreamDatabaseSelectionStrategy` to suit your own needs, and register them with the catch-up strategy selection pipeline just like the pre-packaged plugins.
414
414
415
-
// We have to override the `org.neo4j.causalclustering.upstream.UpstreamDatabaseSelectionStrategy#upstreamDatabase()` method in our code.
416
-
// Overriding that class gives us access to the following items:
415
+
// You have to override the `org.neo4j.causalclustering.upstream.UpstreamDatabaseSelectionStrategy#upstreamDatabase()` method in your code.
416
+
// Overriding that class gives you access to the following items:
417
417
418
418
// [options="header"]
419
419
// |===
420
420
// | Resource | Description
421
421
// | `org.neo4j.causalclustering.discovery.TopologyService` | This is a directory service which provides access to the addresses of all servers and server groups in the cluster.
422
422
// | `org.neo4j.kernel.configuration.Config` | This provides the configuration from _neo4j.conf_ for the local instance.
423
-
// Configuration for our own plugin can reside here.
423
+
// Configuration for your own plugin can reside here.
424
424
// | `org.neo4j.causalclustering.identity.MemberId` | This provides the unique cluster `MemberId` of the current instance.
425
425
// |===
426
426
427
-
// Once our code is written and tested, we have to prepare it for deployment.
427
+
// Once your code is written and tested, you have to prepare it for deployment.
428
428
// `UpstreamDatabaseSelectionStrategy` plugins are loaded via the Java Service Loader.
429
-
// This means when we package our code into a jar file, we'll have to create a file _META-INF.services/org.neo4j.upstream.readreplica.UpstreamDatabaseSelectionStrategy_ in which we write the fully qualified class name(s) of the plugins, e.g. `org.example.myplugins.PreferServersWithHighIOPS`.
429
+
// This means when you package your code into a jar file, you'll have to create a file _META-INF.services/org.neo4j.upstream.readreplica.UpstreamDatabaseSelectionStrategy_ in which you write the fully qualified class name(s) of the plugins, e.g. `org.example.myplugins.PreferServersWithHighIOPS`.
430
430
431
-
// To deploy this jar into the Neo4j server we copy it into the xref:configuration/file-locations.adoc[_plugins_] directory and restart the instance.
431
+
// To deploy this jar into the Neo4j server you copy it into the xref:configuration/file-locations.adoc[_plugins_] directory and restart the instance.
Copy file name to clipboardExpand all lines: modules/ROOT/pages/database-administration/composite-databases/querying-composite-databases.adoc
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
= Set up and query composite databases
6
6
7
7
//Make an image that sets up the example?
8
-
//The query examples assume that we have a setup similar to that in <<example-create-a-single-instance-fabric-setup>>.
8
+
//The query examples assume that you have a setup similar to that in <<example-create-a-single-instance-fabric-setup>>.
9
9
10
10
The examples featured in this section make use of the two Cypher clauses: link:{neo4j-docs-base-uri}/cypher-manual/5/clauses/use[`USE`] and link:{neo4j-docs-base-uri}/cypher-manual/5/subqueries/call-subquery/[`CALL {}`].
11
11
@@ -106,7 +106,7 @@ RETURN movie.title AS title
106
106
----
107
107
====
108
108
In the example above, the part of the query accessing graph data, `MATCH (movie:Movie)`, is wrapped in a sub-query with a dynamic `USE` clause.
109
-
`UNWIND` is used to get the names of our graphs, each on one row.
109
+
`UNWIND` is used to get the names of your graphs, each on one row.
110
110
The `CALL {}` sub-query executes once per input row.
111
111
In this case, once selecting `cineasts.latest`, and once selecting `cineasts.upcoming`.
112
112
@@ -198,7 +198,7 @@ RETURN movie
198
198
====
199
199
200
200
The first part of the query finds the movie with the longest running time from `cineasts.latest`, and returns its release month.
201
-
The second part of the query finds all movies in `cineasts.upcoming` that fulfill our condition and returns them.
201
+
The second part of the query finds all movies in `cineasts.upcoming` that fulfill your condition and returns them.
202
202
The sub-query imports the `monthOfLongest` variable using `WITH monthOfLongest`, to make it accessible.
The Neo4j log output can be collected from the log files and sent to a unified location using tools, such as Fluentd (https://www.fluentd.org) or Logstash (https://www.elastic.co/logstash).
36
-
We recommend running these either as "sidecar" containers in the Neo4j pods or as separate DaemonSets.
36
+
It is recommended to run these either as "sidecar" containers in the Neo4j pods or as separate DaemonSets.
37
37
38
38
* For more information about Pods and the sidecar pattern, see link:https://kubernetes.io/docs/concepts/workloads/pods/[Kubernetes Pod documentation].
39
39
* For more information about DaemonSets, see link:https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/[Kubernetes DaemonSet documentation].
0 commit comments