Definieren Sie eine anwenderdefinierte Verschlüsselungsregel
Möglicherweise ist es erforderlich, vertrauliche Informationen auf dem Weg zu Ihrer Instanz in HTTP-Anforderungen 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, indem Sie Felder in der Anforderung Tabellenfeldnamen in Ihrer Instanz zuordnen.
Was ist eine Verschlüsselungsregel
Wann anwenderdefinierte Regeln verwendet werden sollen
Ein Satz von Verschlüsselungsregeln ist Teil von enthalten Edge EncryptionPlugin. Diese Regeln behandeln viele Anwendungsfälle der Core-Plattform, z. B.:
- Bearbeiten eines Felds aus dem Listenbearbeitungsformular
- Aktualisieren eines Datensatzes aus dem Datensatzformular
- Direkter Webservice wird verwaltet
- Verarbeitung von Daten aus der REST-Anwendungsprogramm-Schnittstelle (API)
Anwendungen, die mit Standardformularen und -Listen erstellt wurden, sollten ohne anwenderdefinierte 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-Tabellennamen zuzuordnen. Zum Beispiel:
- Geskriptete Prozessoren
- Geskriptete Webservices
- Geskriptete REST-APIs, Anwenderoberflächen oder Ajax-Skripts
Format einer Verschlüsselungsregel
- Bedingung : Gibt den Typ der Anforderung an.
- Aktion : Ordnet Felder in der Anforderung Feldern in einer Tabelle zu, wobei Werte verschlüsselt werden, 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 Regel, die ausgeführt wird. Wie Business-Regeln werden Regeln vom niedrigsten zum höchsten ausgeführt.
Mit Ausnahme von Anhangsanforderungen werden HTTP-Anforderungen von ausgewertet Edge EncryptionProxy-Server. Die Edge EncryptionDer 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. Es werden keine anderen Bedingungen ausgewertet. Daher sollten die Bedingungen der Verschlüsselungsregel so spezifisch 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 von der falschen Aktion verarbeitet wird. Wenn eine generische Bedingung unvermeidbar ist, sollte die Regel mit einem hohen Wert markiert werden, damit spezifischere Regeln zuerst ausgewertet werden.
Richtlinien zum Erstellen von Verschlüsselungsregeln
Durch die Erstellung 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. Idealerweise sollten anwenderdefinierte Regeln für bestimmte Anwendungsfälle gelten, anstatt mehrere Fälle mit abzudecken wenn Oder wechseln Sie Anweisungen im Aktionsskript.
- Regeln nach Möglichkeit aufteilen. Beispiel:
- Erstellen Sie verschiedene Regeln für verschiedene Tabellen, und stellen Sie sicher, dass jede Regel nur für ihre jeweilige Tabelle ausgeführt wird.
- Erstellen Sie verschiedene Regeln für jeden Datensatzersteller, den Sie anvisieren, oder zumindest für jede Teilmenge von Datensatzerstellern. Anstelle einer Regel, die Dutzende von anvisiert
sys_IDs, Sie können mehrere verschiedene Regeln erstellen, die auf kleinere Teilmengen von Datensatzerstellern abzielen, oder sogar eine Regel pro erstellensys_ID.Hinweis:Das Erstellen mehrerer Regeln erfordert mehr Wartung. Der Kompromiss besteht darin, dass mehrere, einfachere Regeln effizienter validiert werden können als längere, komplexere Regeln.
- Minimieren Sie die Anzahl der Blöcke. Da die Verarbeitungs-Engine jeden Block beim Auswerten von Skripts scannt, führt eine große Anzahl von Blöcken zu Verzögerungen bei der Validierung. Beispiel:
- Alle ersetzen
WennBlöcke mit einer Array-Suche, und ersetzen Sie alle Blöcke in der Array-Suche durch nur einenWennBlockieren. - Kombinieren
WennBlockiert, wenn sie gruppiert werden können.
- Alle ersetzen
Verschlüsselungsregel-APIs
Verschlüsselungsregeln werden in JavaScript geschrieben und verwenden Edge EncryptionAPIs zum Auffinden und Verschlüsseln vertraulicher Informationen im Text einer Anforderung. Die API verwendet Ausdrücke, die XPath ähneln, um sowohl JSON- als auch XML-Inhalt zu navigieren.
Edge Encryption APIs verarbeiten die Anforderung außerhalb des Streams, während sie in den Ausgabestrom geschrieben wird. Durch die Stream-Analyse können Verschlüsselungsregeln netzwerkfähig sein. Das mehrfache Abrufen und Analysieren von Inhalten aus dem Textkörper kann jedoch zu unerwarteten Ergebnissen führen. Um dieses potenzielle Problem zu stornieren, sollten Anforderungen von der Aktion in einem einzigen Durchgang verarbeitet werden.
Beim Erstellen von Verschlüsselungsregeln können Sie keine Glide-APIs, Skripteinbindungen, Business-Regeln oder globale Parameter wie verwenden Aktuell . Da die Regeln für HTTP-Objekte erstellt werden, ein globales Anforderung Objekt ist verfügbar.
Beim Erstellen von Verschlüsselungsregeln können Sie keine APIs aus dem Allow-Listenmanager oder bereichsbezogene Anwendungen verwenden.
Fehlerbehandlung
Wenn eine Verschlüsselungsregelbedingung oder -Aktion eine Ausnahme auslöst, überprüfen Sie das Proxy-Protokoll auf Informationen zur Fehlerbehebung.