ACL-Steuerung von Funktionsfeldern
Bei der Auswertung des Zugriffs auf ein Funktionsfeld überprüft das System zusätzlich zum Überprüfen des Zugriffs auf das Funktionsfeld selbst auch den Zugriff auf die beitragenden Felder der Funktion. Beitragende Felder sind diejenigen, die als Argumente in einer bestimmten Funktionsdefinition verwendet werden.
Weitere Informationen zu Funktionsfeldern finden Sie unter Funktionsfeld .
In Rome Und früher überprüft das System einfach den Zugriff auf das Funktionsfeld selbst (wie bei jedem anderen Feld). Wenn die ACLs in diesem Feld Zugriff zulassen, erhält der Anwender den resultierenden Wert, unabhängig davon, ob der Anwender Zugriff auf die beitragenden Felder hat.
In Zurich Später erfordert das System auch Zugriff auf alle beitragenden Felder, um Zugriff auf das Funktionsfeld zu ermöglichen. Wenn eine oder mehrere der beitragenden Feld-ACLs den Zugriff verweigern, verweigert das Funktionsfeld auch den Zugriff.
Die einzigen Vorgänge, die von der neuen Anforderung betroffen sind, sind read und Report_View. Report_View hat eigene zusätzliche Anforderungen.
| Vorgang | Beschreibung |
|---|---|
| Lesevorgang | Ein Anwender hat nur Lesezugriff auf ein Funktionsfeld, wenn beide der folgenden Aussagen wahr sind:
|
| Vorgang „Report_View“ | Ein Anwender hat nur dann Report_View-Zugriff auf ein Funktionsfeld, wenn alle der folgenden Elemente wahr sind:
|
Beispiele
- Tabelle: Gehalt
- Spalten: Base, Bonus, total (in diesem Beispiel sind alle Ganzzahlen)
- Funktionsfeld: Die Gesamtspalte ist als Funktionsfeld mit Funktionsdefinition markiert
Glidefunktion:hinzufügen (Basis, Bonus). - Beitragende Felder: Basis und Bonus, da sie in der Funktionsdefinition verwendet werden
- Rollen: Salary_admin, Bonus_admin
| ACLs | Ergebnis |
|---|---|
| Gesamt, Basis, Bonus: Read und Report_View für die Rolle „Salary_admin“ ohne Bedingungen oder Skripts | Einem Anwender mit der Rolle „Salary_admin“ wird Lese- und Report_View-Zugriff auf total gewährt, da er über die erforderliche Rolle verfügt. |
| ACLs | Ergebnis |
|---|---|
|
Einem Anwender mit der Rolle „Salary_admin“ wird der Lese- und Report_View-Zugriff auf „total“ verweigert, da der Bonus den Lesezugriff auf seine Rolle verweigert. |
| ACLs | Ergebnis |
|---|---|
|
Einem Anwender mit der Rolle „Salary_admin“ wird Lesezugriff auf total gewährt, da er über die erforderliche Rolle für alle Felder verfügt. Der Zugriff auf Report_View wird jedoch für denselben Anwender mit dem Skript „Salary_admin“ abgelehnt, da die Lese-ACL mit dem Skript den Zugriff standardmäßig für diesen Fall verweigert, obwohl sie über die erforderliche Rolle verfügen. |