Eine benutzerdefinierte Verschlüsselungsregel definieren

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Es kann notwendig sein, sensible Informationen in HTTP-Anforderungen auf dem Weg zu Ihrer Instanz zu identifizieren und zu verschlüsseln. Sie können Verschlüsselungsregeln schreiben, um Daten in solchen Anforderungen zu identifizieren, zu interpretieren und zu verschlüsseln, und Felder in der Anforderung zu Tabellenfeldnamen in Ihrer Instanz zuordnen.

    Was ist eine Verschlüsselungsregel?

    Verschlüsselungsregeln sind Skripts, die auf dem Edge Encryption Proxy-Server ausgeführt werden, um Felder in einer Anforderung Feldern in einer Tabelle in Ihrer ServiceNow-Instanz zuzuordnen. Eine Verschlüsselungsregel weist den Edge Encryption Proxy-Server an, wie Daten in benutzerdefinierten Payloads verschlüsselt werden.
    Hinweis:
    Verschlüsselungsregeln unterstützen nur ECMAScript 3 und niedriger.

    Wann werden benutzerdefinierte Regeln verwendet?

    Ein Satz von Verschlüsselungsregeln ist im Edge Encryption Plugin enthalten. Diese Regeln behandeln viele Anwendungsfälle der Core-Plattform, z. B.:

    • Bearbeiten eines Felds über das Listenbearbeitungsformular
    • Aktualisieren eines Datensatzes aus dem Datensatzformular
    • Direkter Webservice verwalten
    • Daten aus der REST Application Program Interface (API) werden verarbeitet

    Anwendungen, die mit Standardformularen und -listen erstellt wurden, sollten ohne benutzerdefinierte Verschlüsselungsregeln funktionieren.

    Wenn Sie Skripts entwickeln, die Daten enthalten, die verschlüsselt werden sollen, erstellen Sie Verschlüsselungsregeln, um diese Daten zu finden und Glide-Tabellenfeldnamen zuzuordnen. Zum Beispiel:

    • Geskriptete Prozessoren
    • Geskriptete Webservices
    • Geskriptete REST-APIs, UIs oder Ajax-Skripts

    Format einer Verschlüsselungsregel

    Regeln bestehen aus drei Teilen:
    • Bedingung: Gibt die Art der Anforderung an.
    • Aktion: Ordnet Felder in der Anforderung Feldern in einer Tabelle zu und verschlüsselt Werte, die Feldern mit definierten Verschlüsselungskonfigurationen zugeordnet sind.
    • Reihenfolge: Priorität der Regel. Die Regel mit der niedrigsten Priorität mit einer erfüllten Bedingung ist die einzige ausgeführte Regel. Wie Business Rules laufen die Regeln vom niedrigsten zum höchsten.

    Mit Ausnahme von Anhangsanforderungen werden HTTP-Anforderungen von ausgewertet Edge Encryption Proxy-Server. Die Edge Encryption Der Proxy-Server wertet alle Verschlüsselungsregelbedingungen in Prioritätsreihenfolge aus, bis entweder alle Bedingungen „falsch“ oder eine Bedingung „wahr“ zurückgibt. Wenn eine Bedingung „wahr“ zurückgibt, wird die Aktion für die Anforderung ausgeführt, und das Ergebnis wird an die Instanz weitergeleitet. Andere Bedingungen werden nicht bewertet. Daher sollten die Bedingungen für die Verschlüsselungsregeln so genau wie möglich sein. Eine generische Regel kann für eine Anforderung, die von einer anderen Regel verarbeitet werden soll, als „Wahr“ bewertet werden, was dazu führt, dass die Anforderung durch die falsche Aktion verarbeitet wird. Wenn eine generische Bedingung unvermeidbar ist, sollte die Regel mit einem Wert höherer Ordnung markiert werden, damit spezifischere Regeln zuerst ausgewertet werden.

    Richtlinien zum Erstellen von Verschlüsselungsregeln

    Durch das Erstellen effizienter, optimierter Verschlüsselungsregeln kann die Verarbeitungszeit für die Skriptvalidierung reduziert werden.

    Allgemeine Leitlinie : Wenn Regeln lang werden, versuchen Sie, die Anzahl der Blöcke zu minimieren und die Regeln nach Möglichkeit auseinanderzubrechen. Im Idealfall sollten benutzerdefinierte Regeln für bestimmte Anwendungsfälle gelten, anstatt mehrere Fälle zu umfassen, mit den Anweisungen Falls oder „Switch“ im Aktionsskript.

    1. Teilen Sie die Regeln, wann immer möglich. Beispiel:
      • Erstellen Sie unterschiedliche Regeln für verschiedene Tabellen und stellen Sie sicher, dass jede Regel nur für die jeweilige Tabelle ausgeführt wird.
      • Erstellen Sie verschiedene Regeln für jeden Datensatzersteller, den Sie anvisieren, oder zumindest für jede Teilmenge der Datensatzersteller. Anstelle einer Regel, die auf Dutzende von sys_ids abzielt, können Sie mehrere verschiedene Regeln erstellen, die auf kleinere Teilmengen von Datensatzerstellern abzielen, oder sogar eine Regel pro sys_id erstellen.
        Hinweis:
        Das Erstellen mehrerer Regeln erfordert mehr Wartung. Der Nachteil ist, dass mehrere, einfachere Regeln effizienter validiert werden können als längere, komplexere Regeln.
    2. Minimieren Sie die Anzahl der Blöcke. Da das Verarbeitungsmodul jeden Block während der Auswertung von Skripts durchsucht, führt eine große Anzahl von Blöcken zu Verzögerungen bei der Validierung. Beispiel:
      • Ersetzen Sie alle Falls-Blöcke durch ein Array-Lookup, und ersetzen Sie alle Blöcke im Array-Lookup durch nur einen Falls-Block.
      • Kombinieren Wenn Sperrt, wann immer sie gruppiert werden können.

    Verschlüsselungsregel-APIs

    Verschlüsselungsregeln werden in JavaScript geschrieben und verwenden Edge Encryption APIs zum Auffinden und Verschlüsseln sensibler Informationen im Hauptteil einer Anforderung. Die API verwendet ähnliche Ausdrücke wie xPath, um durch JSON- und XML-Inhalte zu navigieren.

    Edge Encryption APIs verarbeiten die Anforderung aus dem Stream, während sie in den Ausgabestream geschrieben wird. Durch die Stream-Analyse können Verschlüsselungsregeln netzwerkfähig sein. Das mehrmalige Abrufen und Analysieren von Inhalten aus dem Körper kann jedoch zu unerwarteten Ergebnissen führen. Um dieses potenzielle Problem aufzuheben, sollten Anforderungen von der Aktion in einem einzigen Durchgang verarbeitet werden.

    Beim Erstellen von Verschlüsselungsregeln können Sie keine Glide-APIs, Skripteinbindungen, Geschäftsregeln oder globale Parameter wie verwenden Aktuell . Da die Regeln für HTTP-Objekte erstellt werden, ist ein globales Objekt Anforderung verfügbar.

    Beim Erstellen von Verschlüsselungsregeln können Sie keine APIs aus dem Allow-Listenmanager oder bereichsbezogene Anwendungen verwenden.

    Fehlerbehandlung

    Wenn eine Bedingung oder Aktion einer Verschlüsselungsregel eine Ausnahmebedingung auslöst, überprüfen Sie das Proxy-Protokoll auf Informationen zur Problembehandlung.