Skip to content

Commit cfe956d

Browse files
authored
Merge pull request #174 from eccenca/feature/documentNewACLVocab-CMEM-6230
remove / change all occurences of the old ACL vocab
2 parents cab83de + f53c6b4 commit cfe956d

File tree

14 files changed

+132
-110
lines changed

14 files changed

+132
-110
lines changed

docs/automate/cmemc-command-line-interface/configuration/certificate-handling-and-ssl-verification/index.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ $ cmemc --debug -c ssltest.eccenca.com graph list
4141
[2020-03-11 17:50:59.137760] OAUTH_CLIENT_ID set by config to cmem-service-account
4242
[2020-03-11 17:50:59.137804] OAUTH_CLIENT_SECRET set by config
4343
[2020-03-11 17:50:59.137978] CA bundle loaded from /home/user/cacert.pem
44-
http://di.eccenca.com/project/cmem
45-
urn:elds-backend-access-conditions-graph
44+
...
4645
```
4746

4847
The CA bundle must be available in PEM format.
@@ -68,7 +67,6 @@ However, this will lead to warnings:
6867
``` shell-session
6968
$ cmemc -c ssltest.eccenca.com graph list
7069
SSL verification is disabled (SSL_VERIFY=False).
71-
http://di.eccenca.com/project/cmem
72-
urn:elds-backend-access-conditions-graph
70+
...
7371
```
7472

docs/automate/cmemc-command-line-interface/configuration/environment-based-configuration/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ We first run a cmemc command via command line parameter:
5656
$ cmemc --config-file cmemc.ini --connection mycmem graph list --raw
5757
[
5858
{
59-
"iri": "urn:elds-backend-access-conditions-graph",
59+
"iri": "https://ns.eccenca.com/data/userinfo/",
6060
... more JSON output ...
6161
```
6262

docs/automate/cmemc-command-line-interface/invocation/sparql-scripts/index.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,12 @@ $ chmod a+x ./count-graphs.sh
4040
``` shell-session
4141
$ ./count-graphs.sh
4242
graph,triples
43-
https://vocab.eccenca.com/shacl/,1796
44-
https://vocab.eccenca.com/dsm/,736
45-
https://vocab.eccenca.com/sketch/,395
46-
https://ns.eccenca.com/example/data/dataset/,233
47-
https://ns.eccenca.com/example/data/vocabs/,128
48-
urn:elds-backend-access-conditions-graph,97
49-
https://ns.eccenca.com/data/queries/,32
50-
http://di.eccenca.com/project/cmem,7
43+
https://vocab.eccenca.com/shacl/,4510
44+
https://vocab.eccenca.com/auth/,240
45+
https://ns.eccenca.com/example/data/vocabs/,169
46+
https://ns.eccenca.com/data/ac/,66
47+
https://ns.eccenca.com/data/queries/,39
48+
https://ns.eccenca.com/data/config/,4
49+
https://ns.eccenca.com/data/userinfo/,4
5150
```
5251

Binary file not shown.
Binary file not shown.
Binary file not shown.
185 KB
Loading
401 KB
Loading
344 KB
Loading

docs/deploy-and-configure/configuration/access-conditions/index.md

Lines changed: 88 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ In order to understand the different user interfaces to manage access conditions
2222
The following list describes the different attributes, a single access condition can have.
2323
They are all optional except that a single access condition needs to provide at least one grant or has a dynamic access condition query.
2424

25+
The listed IRIs in this section use the following prefix declarations:
26+
27+
``` turtle
28+
PREFIX eccauth: <https://vocab.eccenca.com/auth/>
29+
PREFIX : <https://vocab.eccenca.com/auth/Action/>
30+
```
31+
2532
### **Metadata**
2633

2734
- **Name** is a short and human readable text you can give to your access condition in order to identify them.
@@ -36,15 +43,15 @@ They are all optional except that a single access condition needs to provide at
3643

3744
| Resource | Explanation |
3845
| ---------| ------------|
39-
| `urn:elds-backend-anonymous-user`| Represents the anonymous user account. You can use it in the **Requires account** field. |
46+
| `eccauth:AnonymousUser`| Represents the anonymous user account. You can use it in the **Requires account** field. |
4047

4148
- Use **Requires group** to specify the group, the account must be member of in order to match the access condition.
4249
If the account of a given request is member of this group, this access condition is used to identify the grants for this request.
4350
Instead of an actual group, the following meta group can be used.
4451

4552
| Resource | Explanation |
4653
| ---------| ------------|
47-
| `urn:elds-backend-public-group`| Represents the group which every user is member of (incl. anonymous users). You can use it in the *Requires group* field. |
54+
| `eccauth:PublicGroup`| Represents the group which every user is member of (incl. anonymous users). You can use it in the *Requires group* field. |
4855

4956
!!! warning "Users and groups cannot have the same name"
5057

@@ -57,28 +64,33 @@ They are all optional except that a single access condition needs to provide at
5764

5865
| Resource | Explanation |
5966
| ---------| ------------|
60-
| `urn:elds-backend-all-graphs`| Represents all RDF named graphs. You can use it in the *Allow reading graph* or *Allow writing graph* field.|
67+
| `eccauth:AllGraphs`| Represents all RDF named graphs. You can use it in the *Allow reading graph* or *Allow writing graph* field.|
6168

6269
- **Allow writing graph** is a list of graph IRIs to allow to write these graphs.
6370
The grant to write to a graph implicitly grants to read the graph.
6471
Instead of an actual graph, the following meta graph can be used.
6572

6673
| Resource | Explanation |
6774
| ---------| ------------|
68-
| `urn:elds-backend-all-graphs`| Represents all RDF named graphs. You can use it in the *Allow reading graph* or *Allow writing graph* field.|
75+
| `eccauth:AllGraphs`| Represents all RDF named graphs. You can use it in the *Allow reading graph* or *Allow writing graph* field.|
6976

7077
- **Allowed action** is a list of action IRI to allow to use the components or capabilities which are identified with this action.
7178
You can use the following actions identifier with this attribute.
7279

7380
| Resource | Explanation |
7481
| ---------| ------------|
75-
| `urn:elds-backend-actions-auth-access-control` | Represents the Authorization Management API (see the Developer Manual).|
76-
| `urn:eccenca:di`| Represents the action needed to use the eccenca DataIntegration component of eccenca Corporate Memory.|
77-
| `urn:eccenca:ThesaurusUserInterface`| Represents the action needed to use the Thesaurus Catalog as well as Thesaurus Project editing interface (needs access to specific thesaurus graphs as well).|
78-
| `urn:eccenca:AccessInternalGraphs`| Represents the action needed to list Corporate Memory Internal graphs in the exploration tab.|
79-
| `urn:eccenca:QueryUserInterface`| Represents the action needed to use the Query Catalog (needs access to query catalog graph as well).|
80-
| `urn:eccenca:VocabularyUserInterface`| Represents the action needed to use the Vocabulary Catalog (needs access to specific vocabulary graphs as well).|
81-
| `urn:eccenca:ExploreUserInterface`| Represents the action needed to use the Explore Tab (needs access to shape catalog graph as well).|
82+
| `:AllActions` | Represents all actions. You can use it to grant execution rights to all actions |
83+
| `:Build` | Represents the action needed to use eccenca DataIntegration component of eccenca Corporate Memory. |
84+
| `:Build-AdminPython` | Represents the action needed to use eccenca DataIntegration's Python plugin management component of eccenca Corporate Memory. |
85+
| `:Build-AdminWorkspace` | Represents the action needed to use eccenca DataIntegration's workspace administration component of eccenca Corporate Memory. |
86+
| `:ChangeAccessConditions` | Represents the action needed to use the Authorization management API (see Developer Manual). You can use it as object of the `eccauth:allowedAction` property to grant access to the Authorization management API if the user fulfills the access condition. |
87+
| `:Explore-BKE-Manage` | Represents the action needed to view, create, edit and delete visualisations in the BKE-Module (needs access to config graph as well). |
88+
| `:Explore-BKE-Read` | Allows to use the BKE-Module interface in read-only mode (needs access to config graph as well). |
89+
| `:Explore-KnowledgeGraphs` | Represents the action needed to use the Explore Tab (needs access to at least one graph as well) |
90+
| `:Explore-ListSystemGraphs` | Represents the action needed to list Corporate Memory system graphs (tagged with shui:isSystemResource) in the Knowledge Graph list. |
91+
| `:Explore-QueryCatalog` | Represents the action needed to use the Query Catalog (needs access to catalog graph as well if changes should be allowed) |
92+
| `:Explore-ThesaurusCatalog` | Represents the action needed to use the Thesaurus Catalog as well as Thesaurus Project editing interface (needs access to specific thesaurus graphs as well) |
93+
| `:Explore-VocabularyCatalog` | Represents the action needed to use the Vocabulary Catalog (needs access to specific vocabulary graphs as well) |
8294

8395
In addition to these attributes, you can use the following special attributes to grant partial access to the access conditions itself:
8496

@@ -138,7 +150,7 @@ The access control module can be selected in the **Admin** section of the left m
138150
After clicking it, you will see a screen similar to this:
139151

140152
<figure markdown>
141-
![Access Control: List Access Conditions](24-1-access-condition-module-list.png)
153+
![Access Control: List Access Conditions](24-3-access-condition-module-list.png)
142154
<figcaption>Access Control: List Access Conditions</figcaption>
143155
</figure>
144156

@@ -165,7 +177,7 @@ In order to see the rights select a user and / or group combination from the dro
165177
Then you will see a screen similar to this:
166178

167179
<figure markdown>
168-
![Access Control: Review Access Conditions](24-1-access-condition-module-review.png)
180+
![Access Control: Review Access Conditions](24-3-access-condition-module-review.png)
169181
<figcaption>Access Control: Review Access Conditions</figcaption>
170182
</figure>
171183

@@ -187,44 +199,44 @@ With [cmemc](../../../automate/cmemc-command-line-interface/index.md) you can us
187199
This interface is primarily used for the automation of provisioning tasks.
188200
The important command groups for managing principals and access conditions are:
189201

190-
- [`admin acl`](../../../automate/cmemc-command-line-interface/command-reference/admin/acl/index.md) - List, create, delete and modify and review access conditions.
202+
- [`admin acl`](../../../automate/cmemc-command-line-interface/command-reference/admin/acl/index.md) - List, create, delete, modify and review access conditions.
191203
- [`admin user`](../../../automate/cmemc-command-line-interface/command-reference/admin/user/index.md) - List, create, delete and modify user accounts.
192204
- [`admin client`](../../../automate/cmemc-command-line-interface/command-reference/admin/client/index.md) - List client accounts, get or generate client account secrets.
193205

194206
The following session demonstrates how to create a new user, set a password and grant access to certain areas.
195207

196208

197209
``` shell-session
198-
∴ cmemc admin acl list
199-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
200-
┃ URI ┃ Name ┃
201-
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
202-
┃ :local-admins-group-rights ┃ Rights for the local-admins group ┃
203-
┃ :local-user-group-rights ┃ Rights for the local-users group ┃
204-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
205-
206-
∴ cmemc admin user create tester
210+
$ cmemc admin acl list
211+
No access conditions found. Use the `admin acl create` command to create a new access condition.
212+
213+
$ cmemc admin user create tester
207214
Creating user tester ... done
208215
209-
∴ cmemc admin user password tester
216+
$ cmemc admin user update tester --assign-group local-users
217+
Updating user tester ... done
218+
219+
$ cmemc admin user password tester
210220
Changing password for account tester ...
211221
New password:
212222
Retype new password:
213223
done
214224
215-
∴ cmemc admin acl create --id tester-rights --user tester \
216-
--action urn:eccenca:ExploreUserInterface \
217-
--read-graph urn:elds-backend-all-graphs
218-
Creating access condition 'Condition for user: tester' ... done
219-
220-
∴ cmemc admin acl list
221-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
222-
┃ URI ┃ Name ┃
223-
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
224-
┃ :local-admins-group-rights ┃ Rights for the local-admins group ┃
225-
┃ :local-user-group-rights ┃ Rights for the local-users group ┃
226-
┃ :tester-rights ┃ Condition for user: tester ┃
227-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
225+
$ cmemc admin acl create --id local-users-access --group local-users \
226+
--write-graph https://example.org/ \
227+
--write-graph https://ns.eccenca.com/data/queries/ \
228+
--read-graph https://vocab.eccenca.com/shacl/ \
229+
--action :Explore-QueryCatalog \
230+
--action :Explore-KnowledgeGraphs \
231+
--description "Access to query catalog and basic exploration of example.org"
232+
Creating access condition 'Condition for group local-users' ... done
233+
234+
$ cmemc admin acl list
235+
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
236+
┃ URI ┃ Name ┃
237+
┣━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
238+
┃ :local-users-access ┃ Condition for group local-users ┃
239+
┗━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
228240
```
229241

230242
## Typical Use Cases
@@ -233,28 +245,36 @@ Creating access condition 'Condition for user: tester' ... done
233245

234246
In order to create a regular administration user account, you need to grant the following rights:
235247

236-
- Allowed Actions: **All Actions** (`urn:elds-backend-all-actions`)
237-
- Allow writing graphs: **All Graphs** (`urn:elds-backend-all-graphs`)
248+
- Allowed Actions: **All Actions** (`https://vocab.eccenca.com/auth/Action/AllActions`)
249+
- Allow writing graphs: **All Graphs** (`https://vocab.eccenca.com/auth/AllGraphs`)
238250

239251
In the web interface, this will look like:
240252

241253
<figure markdown>
242-
![Access Control: Create a regular Administration user](24-1-create-admin-user.png)
254+
![Access Control: Create a regular Administration user](24-3-create-admin-user.png)
243255
<figcaption>Access Control: Create a regular Administration user</figcaption>
244256
</figure>
245257

246258
With cmemc, you can achieve this with the following command:
247259

248-
``` shell
249-
$ cmemc admin acl create --id my-admin-account-acl --user my-admin \
250-
--action urn:elds-backend-all-actions \
251-
--write-graph urn:elds-backend-all-graphs
260+
``` shell-session
261+
$ cmemc admin acl create --id my-admin-account-acl \
262+
--user my-admin --action :AllActions \
263+
--write-graph https://vocab.eccenca.com/auth/AllGraphs
252264
Creating access condition 'Condition for user: my-admin' ... done
265+
266+
∴ cmemc admin acl list
267+
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
268+
┃ URI ┃ Name ┃
269+
┣━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
270+
┃ :local-users-access ┃ Condition for group local-users ┃
271+
┃ :my-admin-account-acl ┃ Condition for user: my-admin ┃
272+
┗━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
253273
```
254274

255275
In case you need to create the user account, you can do this as well:
256276

257-
``` shell
277+
``` shell-session
258278
$ cmemc admin user create my-admin
259279
Creating user my-admin ... done
260280
@@ -271,22 +291,27 @@ In order to limit access to specific parts of the application, you need to know
271291

272292
The following list, provides grants which work together:
273293

274-
- Access the Explore User Interface:
275-
- Allowed Actions: **Explore User Interface** (`urn:eccenca:ExploreUserInterface`)
276-
- Allow read graphs:
277-
- **CMEM Shape Catalog** (`https://vocab.eccenca.com/shacl/`)
278-
- Any other graph the user should be able to explore
279-
- Allow write graphs:
280-
- (optional) Any graph the user should be able to change
281-
- Access the Query Catalog:
282-
- Allowed Actions: **Query Catalog User Interface** (`urn:eccenca:QueryUserInterface`)
283-
- Allow read graphs:
284-
- (optional) Any graph the user should be able to query
285-
- Allow write graphs:
286-
- **CMEM Query Catalog** (`https://ns.eccenca.com/data/queries/`)
287-
- (optional) Any graph the user should be able to change
288-
- Access the Knowledge Graph Build Component / DataIntegration:
289-
- Allowed Actions: **eccenca DataIntegration** (`urn:eccenca:di`)
290-
- Allow write graphs:
291-
- **All Graphs** (`urn:elds-backend-all-graphs`)
294+
#### Access to the Explore User Interface
295+
296+
- Allowed Actions: **Explore - Knowledge Graphs Exploration** (`:Explore-KnowledgeGraphs`)
297+
- Allow read graphs:
298+
- **CMEM Shape Catalog** (`https://vocab.eccenca.com/shacl/`)
299+
- Any other graph the user should be able to explore
300+
- Allow write graphs:
301+
- (optional) Any graph the user should be able to change
302+
303+
#### Access to the Query Catalog
304+
305+
- Allowed Actions: **Explore - Query Catalog** (`:Explore-QueryCatalog`)
306+
- Allow read graphs:
307+
- (optional) Any graph the user should be able to query
308+
- Allow write graphs:
309+
- **CMEM Query Catalog** (`https://ns.eccenca.com/data/queries/`)
310+
- (optional) Any graph the user should be able to change
311+
312+
#### Access to DataIntegration
313+
314+
- Allowed Actions: **Build - Workspace** (`:Build`)
315+
- Allow write graphs:
316+
- **All Graphs** (`https://vocab.eccenca.com/auth/AllGraphs`)
292317

0 commit comments

Comments
 (0)