API der Zugriffssteuerungsliste – ServiceNow Fluent
Die API für Zugriffssteuerungslisten definiert Zugriffssteuerungslisten [sys_Security_acl], die Teile einer Anwendung sichern.
Allgemeine Informationen zu Zugriffssteuerungslisten (ACLs) finden Sie unter Access Control List Rules.
ACL-Objekt
Konfigurieren Sie eine anwenderdefinierte ACL-Regel [sys_Security_acl], um den Zugriff auf neue Objekte zu sichern oder das standardmäßige Sicherheitsverhalten zu ändern.
ACLs müssen eine oder mehrere Rollen, ein Sicherheitsattribut, eine Bedingung oder ein Skript enthalten.
| Name | Typ | Beschreibung |
|---|---|---|
| $ID | Zeichenfolge oder Zahl | Erforderlich. Eine eindeutige ID für das Metadatenobjekt. Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte. Format: |
| operation | Zeichenfolge | Erforderlich. Der Vorgang, den diese ACL-Regel sicherstellt. Eine ACL-Regel kann nur einen Vorgang sichern. Um mehrere Vorgänge zu sichern, erstellen Sie für jeden eine separate ACL-Regel. Der Vorgang muss sein Gültige Werte:
|
| Typ | Zeichenfolge | Erforderlich. Der Typ des Objekts, das diese ACL-Regel sichert. Der Typ bestimmt, welche Vorgänge verfügbar sind. Wenn Sie nach dem Erstellen einer ACL-Regel den Typ ändern möchten, müssen Sie die ACL löschen und eine neue mit dem richtigen Typ erstellen. Gültige Werte:
Standard: Datensatz |
| aktiv | Boolean | Kennzeichnung, die angibt, ob die ACL-Regel erzwungen wird. Gültige Werte:
Standardwert: wahr |
| Administratorüberschreibungen | Boolean | Kennzeichnung, die angibt, ob Anwender mit der Administratorrolle die Berechtigungsprüfung für diese ACL-Regel automatisch bestehen. Gültige Werte:
Standardwert: wahr |
| Skript | Skript | Ein anwenderdefiniertes Skript, das die für den Zugriff auf das Objekt erforderlichen Berechtigungen definiert. Diese Eigenschaft unterstützt eine Funktion aus einem JavaScript-Modul, einen Verweis auf eine andere Datei in der Anwendung, die ein Skript enthält, oder Inline-JavaScript. ACLs müssen eine oder mehrere Rollen, ein Sicherheitsattribut, eine Bedingung oder ein Skript enthalten. Hinweis: Wenn Typ Eigenschaft ist graphql , Skripts werden nicht unterstützt.Das Skript kann die Werte von verwenden Aktuell Und Zurück Globale Variablen und Systemeigenschaften. Das Skript muss eine wahr- oder falsch-Antwort auf eine von zwei Arten generieren:
Hinweis: Wenn sich das ausgewertete Element in einer zugehörigen Liste befindet, Aktuell Verweist auf das Element, in dem sich die zugehörige Liste befindet, nicht auf das aktuelle Element, für das die ACL bestimmt ist. Wenn sich das Element, für das Sie die ACL auswerten, jedoch nicht in einer zugehörigen Liste befindet, Aktuell Verweist auf das tatsächliche Element.Format:
|
| Beschreibung | Zeichenfolge | Eine Beschreibung des Objekts oder der Berechtigungen, die diese ACL-Regel sichert. |
| LocalOdervorhanden | Zeichenfolge | Der Typ des anzuwendenden Sicherheitsattributs. Gültige Werte:
Standard: Lokal |
| DecisionType | Zeichenfolge | Eine Option, mit der festgelegt wird, ob die ACL den Zugriff zulassen oder verweigern soll. Gültige Werte:
Standard: Zulassen |
| Bedingung | Zeichenfolge | Eine Filterabfrage, die die Felder und Werte angibt, die „wahr“ sein müssen, damit Anwender auf das Objekt zugreifen können. Weitere Informationen finden Sie unter Operators available for filters and queries. ACLs müssen eine oder mehrere Rollen, ein Sicherheitsattribut, eine Bedingung oder ein Skript enthalten. |
| Rollen | Array | Eine Liste von Variablenbezeichnern von Rolle Objekte oder sys_IDs von Rollen, die ein Anwender haben muss, um auf das Objekt zuzugreifen. Weitere Informationen finden Sie unter Rollen-API – ServiceNow Fluent. ACLs müssen eine oder mehrere Rollen, ein Sicherheitsattribut, eine Bedingung oder ein Skript enthalten. Hinweis: Anwender mit der Administratorrolle bestehen diese Berechtigungsprüfung immer, da die Administratorrolle Anwendern automatisch alle anderen Rollen gewährt. |
| SecurityAttribute | Zeichenfolge | Vordefinierte Bedingungen für die zu verwendende ACL. Beispiel: Ob ein Anwender die Identität eines anderen Anwenders annimmt. Weitere Informationen zu Sicherheitsattributen finden Sie unter OOB (Out-of-Box) Security Attributes. ACLs müssen eine oder mehrere Rollen, ein Sicherheitsattribut, eine Bedingung oder ein Skript enthalten. Hinweis: Für Sicherheitsattribute mit Is localizedFeld auf „wahr“ festgelegt, die LocalOdervorhanden Eigenschaft der ACL muss auf „Lokal“ festgelegt werden. Wenn Is localizedFeld ist „falsch“, LocalOdervorhanden Eigenschaft muss auf „vorhanden“ festgelegt werden. |
| Tabelle | Zeichenfolge | Der Name der Tabelle, für die die ACL gilt. Diese Eigenschaft gilt nur und ist erforderlich, wenn Typ Eigenschaft ist einer der folgenden Werte: ux_Data_Broker, ux_page, ux_Route, pd_action oder Record. |
| Ausstehend | Zeichenfolge | Der Name eines zu sichernden Felds in der Tabelle. Sie können das Platzhalterzeichen ( „*“ ), um alle Felder auszuwählen. |
| Name | Zeichenfolge | Der Name der ACL. Diese Eigenschaft gilt nur und ist erforderlich, wenn Typ Eigenschaft ist einer der folgenden Werte: Rest_Endpoint, ui_page, Processor, graphql, Client_callable_Flow_object, oder Client_callable_script_include. |
| $Meta | Objekt | Metadaten für die Anwendungsmetadaten. Mit InstallMethod Eigenschaft können Sie die Anwendungsmetadaten einem Ausgabeverzeichnis zuordnen, das nur unter bestimmten Umständen geladen wird. Gültige Werte für InstallMethod :
|
import { Acl } from "@servicenow/sdk/core";
export default Acl({
$id: Now.ID['task_delete_acl'],
active: true,
adminOverrides: true,
type: 'record',
table: 'task',
field: 'description',
operation: 'delete',
roles: [adminRole, managerRole],
})
import { Role } from "@servicenow/sdk/core";
const managerRole = Role({
$id: Now.ID['manager_role'],
name: 'x_snc_example.manager'
})
const adminRole = Role({
$id: Now.ID['admin_role'],
name: 'x_snc_example.admin',
containsRoles: [managerRole]
})