Eine benutzerdefinierte Verschlüsselungsregel definieren

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 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 Kernplattform, z. B.:

    • Bearbeiten eines Felds aus dem Listenbearbeitungsformular
    • Aktualisieren eines Datensatzes aus dem Datensatzformular
    • Direkten Webservice verwalten
    • Daten aus der REST-Anwendungsprogrammschnittstelle (API) verarbeiten

    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 den Glide-Tabellenfeldnamen zuzuordnen. Beispiel:

    • Geskriptete Prozessoren
    • Geskriptete Webservices
    • Scripted 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 Anhanganforderungen werden HTTP-Anforderungen vom Proxy-Server Edge Encryption ausgewertet. Der Edge Encryption -Proxy-Server wertet alle Verschlüsselungsregelbedingungen in der Prioritätsreihenfolge aus, bis entweder alle Bedingungen „falsch“ oder eine Bedingung „wahr“ zurückgibt. Wenn eine Bedingung „true“ zurückgibt, wird die Aktion für die Anforderung ausgeführt und das Ergebnis 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 Richtlinie: Wenn Regeln lang werden, versuchen Sie, die Anzahl der Blöcke so gering wie möglich zu halten und die Regeln nach Möglichkeit aufzuschlüsseln. 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 unterschiedliche Regeln für jeden Datensatzersteller, auf den Sie abzielen, oder zumindest für jede Teilmenge von Datensatzerstellern. 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 Sie if -Blöcke, wann immer es möglich ist, sie zu gruppieren.

    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 Streamanalyse können Verschlüsselungsregeln netzwerkleistungsfähig sein. Das mehrmalige Abrufen und Analysieren von Inhalten aus dem Körper kann jedoch zu unerwarteten Ergebnissen führen. Um dieses potenzielle Problem zu vermeiden, sollten Anforderungen von der Aktion in einem einzigen Schritt verarbeitet werden.

    Beim Erstellen von Verschlüsselungsregeln können Sie keine Glide-APIs, Skripteinbindungen, Business Rules oder globale Parameter wie currentverwenden. 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-Listen-Manager 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.