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 RomeUnd früher überprüft das System einfach den Zugriff auf das Funktionsfeld selbst (wie bei jedem anderen Feld). Wenn die ACLs für dieses Feld Zugriff zulassen, erhält der Anwender den resultierenden Wert, unabhängig davon, ob der Anwender Zugriff auf die beitragenden Felder hat.
In YokohamaSpä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 Optionen wahr sind:
|
| Vorgang „Report_View“ | Ein Anwender hat nur dann Report_View-Zugriff auf ein Funktionsfeld, wenn alle der folgenden Optionen wahr sind:
|
Beispiele
- Tabelle: Gehalt
- Spalten: Base, Bonus, total (alle sind Ganzzahlen in diesem Beispiel)
- Funktionsfeld: Die Gesamtspalte ist als Funktionsfeld mit Funktionsdefinition markiert
Glidefunktion:Add(Base, 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“ abgelehnt, 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. Derselbe Anwender mit „Salary_admin“ wird jedoch den Zugriff auf „Report_View“ abgelehnt, da die Lese-ACL mit dem Skript den Zugriff standardmäßig für diesen Fall verweigert, auch wenn er über die erforderliche Rolle verfügt. |