[gelöst] Exclude permission / Berechtigung entziehen

10. April 2024 17:22

Hallo zusammen,

in BC gibt es laut Doku die Möglichkeit, Berechtigungen in Berechtigungssätzen zu entziehen. (https://learn.microsoft.com/en-us/dynam ... ermissions ... "If a permission is in a permission set that is included, and is also in a permission set that is excluded, the permission will be excluded.")

Das klingt super, da bei Kunden oft die Anforderunge ist: Der Kollege darf eigentlich alles, aber dieses und jenes nicht.

Hat das schon mal jemand zum laufen gebracht?

Zum Test habe ich einen Berechtigungssatz angelegt und darin den Zugriff auf die Seiten und die Tabellendaten für Sales Header entzogen. (TEST_ENTZUG)

Test 1: Ein Benutzer hat die SUPER-Rolle und die TEST_ENTZUG-Rolle. Das hatte keinen Effekt, er konnte weiterhin überall drauf.
Test 2: Ein Benutzer hat eine Rolle mit lauter Wildcard-Rechten (TableData 0, Table 0, ...) und die TEST_ENTZUG-Rolle: Kein Effekt, er konnte überall zugreifen.
Test 3: Der Benutzer hat in einer Rolle explizit das Recht auf die Tabellen und Seiten bekommen und in der TEST_ENTZUG-Rolle entzogen bekommen: Kein Effekt, er konnte weiterhin auf die Seiten zugreifen.

Jetzt gehen mir die Ideen aus.
Zuletzt geändert von tepler am 11. April 2024 09:16, insgesamt 2-mal geändert.

Re: Exclude permission / Berechtigung entziehen

11. April 2024 09:15

Gefunden.

Hier ( https://yzhums.com/30562/ ) stand die Hilfreiche Info: "The highest permission set in the hierarchy determines whether the permission is included or excluded. If two sets are at the same level in the hierarchy, and a permission is included in one set but excluded in the other, the permission will be excluded."

Lösung:
- Permission-Set mit den Include-Rechten anlegen (A)
- Permission-Set mit den Exclude-Rechten anlegen (B)
- Im Set B das Set A mit einschließen.
- Nur Set B dem Benutzer zuordnen.

Und das geht auch, falls das mal jemandem hilft:
- Permission-Set mit allen Include-Rechten (A)
- Permission-Set mit einigen Include-Rechten (B) (das sind die Rechte, die später ausgeschlossen werden sollen, aber hier müssen sie erstmal mit "Einschließen" angelegt werden)
- Persmission-Set, das das Set A mit Art "Enschließen" beinhaltet und Set B mit Art "Ausschließen" (C) ... mit "alle Berechtigungen anzeigen" kann man kontrollieren, das man alle Rechte hat, außer die, die in Set B waren
- Set C dem Benutzer zuordnen