Zugriffssteuerungslisten-API – ServiceNow Fluent
Die API für Zugriffssteuerungslisten enthält Objekte, die Zugriffssteuerungslisten [sys_security_acl] definieren, die Teile einer Anwendung sichern.
ACL-Objekt
Konfigurieren Sie eine anwenderdefinierte ACL-Regel [sys_security_acl], um den Zugriff auf neue Objekte zu sichern oder das Standardsicherheitsverhalten 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, die im folgenden Format bereitgestellt wird: wobei<value> ist eine Zeichenfolge oder Zahl.Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht. |
| table | Zeichenfolge | Der Name der Tabelle, für die die ACL gilt. Diese Eigenschaft gilt nur und ist erforderlich, wenn die Typeigenschaft einen der folgenden Werte aufweist: ux_data_broker, ux_page, ux_route, pd_action oder record. |
| Feld | Zeichenfolge | Der Name eines zu sichernden Felds in der Tabelle. Sie können das Platzhalterzeichen („*“) verwenden, um alle Felder auszuwählen.Diese Eigenschaft gilt nur und ist erforderlich, wenn die Typeigenschaft einen der folgenden Werte aufweist: ux_data_broker, ux_page, ux_route, pd_action oder record. |
| name | Zeichenfolge | Der Name der ACL. Diese Eigenschaft gilt nur und ist erforderlich, wenn die Typeigenschaft einen der folgenden Werte aufweist: rest_endpoint, ui_page, Processor, graphql, client_callable_flow_object oder client_callable_script_include. |
| operation | Zeichenfolge | Erforderlich. Der Vorgang, den diese ACL-Regel sichert. 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 ausgeführt werden, wenn die Typeigenschaft „client_callable_flow_object“, „client_callable_script_include“, „graphql“, „processor“ oder „rest_endpoint“ ist. Gültige Werte: execute, create, read, write, delete, edit_task_relations, edit_ci_relations, save_as_template, add_to_list, report_on, list_edit, report_view, personalize_choices |
| Typ | Zeichenfolge | 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: record, rest_endpoint, ui_page, Processor, graphql, pd_action, ux_data_broker, ux_page, ux_route, client_callable_flow_object, client_callable_script_include Standard: Datensatz |
| aktiv | Boolean | Kennzeichnung, die angibt, ob die ACL-Regel erzwungen wird. Gültige Werte:
Standardwert: wahr |
| Rollen | Array | Die Variablenbezeichner von Rollenobjekten oder sys_ids von Rollen, die ein Anwender haben muss, um auf das Objekt zugreifen zu können. 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: Benutzer mit der Administratorrolle bestehen diese Berechtigungsprüfung immer, da die Administratorrolle Benutzern automatisch alle anderen Rollen gewährt. |
| Skript | Skript | Eine Funktion oder ein Inline-Skript, dem ein Skript -Tag vorangestellt ist. Das anwenderdefinierte Skript sollte die Berechtigungen definieren, die für den Zugriff auf das Objekt erforderlich sind. ACLs müssen eine oder mehrere Rollen, ein Sicherheitsattribut, eine Bedingung oder ein Skript enthalten. Hinweis: Wenn die Typeigenschaft „graphql“ lautet, werden Skripts nicht unterstützt. Verwenden Sie für Funktionen den Namen einer Funktion, eines Funktionsausdrucks oder einer Standardfunktion, die aus einem JavaScript-Modul exportiert und in die .now.ts- Datei importiert wurde. Informationen zu JavaScript-Modulen finden Sie unter JavaScript-Module und Bibliotheken von Drittparteien. Inline-Skripts verwenden das Skript- Tag im folgenden Format:
Das Skript kann die Werte der aktuellen und vorherigen globalen Variablen und Systemeigenschaften verwenden. Das Skript muss auf eine von zwei Arten eine Wahr- oder Falsch-Antwort generieren:
Hinweis: Wenn sich das ausgewertete Element in einer zugehörigen Liste befindet, verweist current auf das Element, auf dem sich die zugehörige Liste befindet, und nicht auf das aktuelle Element, für das die ACL gilt. Wenn sich das Element jedoch, für das Sie die ACL auswerten, nicht in einer zugehörigen Liste befindet, verweist current auf das tatsächliche Element. |
| admin_overrides | Boolean | Kennzeichnung, die angibt, ob Anwender mit der Administratorrolle die Berechtigungsprüfung für diese ACL-Regel automatisch bestehen. Gültige Werte:
Administratorbenutzer bestehen unabhängig davon, welche Skript- oder Rollenbeschränkungen gelten. Die Rolle niemand, die nur von ServiceNow -Mitarbeitern zugewiesen werden kann, hat jedoch Vorrang vor der Option zum Überschreiben des Administrators. Wenn einer ACL die Rolle niemand zugewiesen ist, können Administratoren nicht auf die Ressource zugreifen, auch wenn admin_overrides auf „wahr“ festgelegt ist. Weitere Informationen finden Sie unter Basissystemrollen. Standardwert: wahr |
| 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. |
| description | Zeichenfolge | Eine Beschreibung des Objekts oder der Berechtigungen, die durch diese ACL-Regel gesichert werden. |
| local_or_existing | Zeichenfolge | Der Typ des anzuwendenden Sicherheitsattributs. Gültige Werte:
Standard: Lokal |
| security_attribute | Zeichenfolge | Zu verwendende vordefinierte Bedingungen. Zum Beispiel, ob ein Benutzer die Identität eines anderen Benutzers 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, bei denen das Feld Is localized auf „wahr“ festgelegt ist, muss die Eigenschaft „local_or_existing“ der ACL auf „Lokal“ festgelegt werden. Wenn das Feld Is localized auf „false“ festgelegt ist, muss die Eigenschaft „local_or_existing“ auf „Existing“ festgelegt werden. Gültige Werte: role_explicit, group_explicit, user_is_authenticated, impersonating, interaktive_session, has_admin_role, role,logged_in, network_criteria, group, allow_unauth_roleless_acl |
| „decision_type“ | Zeichenfolge | Gibt an, ob die ACL den Zugriff zulassen oder verweigern soll. Gültige Werte:
Standard: zulassen |
import { Acl } from "@servicenow/sdk/core";
export default Acl({
$id: Now.ID['task_delete_acl'],
active: true,
admin_overrides: 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',
contains_roles: [managerRole]
})