Hochverfügbare Bereitstellung vor Ort für Jitterbit App Builder
Einführung
Das folgende Diagramm veranschaulicht die Schlüsselkomponenten einer Hochverfügbarkeitsbereitstellung von App Builder:
App Builder erfordert Synchronisierung des Verschlüsselung, Redis als Nachrichtenbus und einfache Datensynchronisation und Anwendungsserverkonfiguration.
Verschlüsselung
App Builder verwendet Verschlüsselung für zwei Zwecke:
-
Schutz von Sicherheitstoken wie Sitzungscookies.
-
Verschlüsselung auf Anwendungsebene.
Beide verwenden dieselbe zugrunde liegende Verschlüsselung. Genauer gesagt verwenden sie ASP.Net Data Protection API. Obwohl App Builder versucht, die Datenschutzbibliothek automatisch zu konfigurieren. Möglicherweise sind zusätzliche Konfigurationen erforderlich.
Speicherung von Verschlüsselung
Datenverschlüsselungsschlüssel (DEKs) sind symmetrische Verschlüsselung zum Schutz von Daten. Da DEKs zum verschlüsseln von in der Datenbank gespeicherten Daten verwendet werden, können die DEKs selbst nicht in der Datenbank gespeichert werden. App Builder unterstützt mehrere konfigurierbare DEK-Speicherrichtlinien. Administratoren müssen die geeignete Speicherrichtlinie für ihre Umfeld auswählen. App Builder unterstützt die folgenden Speicherrichtlinien:
-
Dateisystem
-
S3
Die Speicherrichtlinie wird über AppSettings konfiguriert. Siehe Benutzerdefinierte .NET-Konfiguration für weitere Informationen zu AppSettings.
Dateisystemspeicher
Standardmäßig App Builder speichert DEKs im Dateisystem im Klartext, unter dem App Builder Stammverzeichnis der Webanwendung.
Einstellung | Beispiel | Hinweise |
---|---|---|
DataEncryption.KeyStorage | FileSystem | Zeigt an, dass App Builder soll DEKs im Dateisystem speichern. Dies ist der Standardwert. |
DataEncryption.Directory | C:\inetpub\wwwroot\App Builder\App_Data\Keys | Gibt das Verzeichnis an, in dem DEKs gespeichert werden. Standardmäßig ist dies das Verzeichnis App_Data\Keysd unterhalb des App Builder Installationsverzeichnis. Der Anwendungspoolbenutzer muss über die volle Kontrolle über dieses Verzeichnis verfügen. |
DateEncryption.CertificateThumbprint | C123B3E899807189F11F0EC4AC320760F00ECE34 | Optional. X.509-Fingerabdruck des Key Encryption Key (KEK). Das KEK-Zertifikat sollte im persönlichen Zertifikatspeicher für den lokalen Computer registriert sein. Der Fingerabdruck kann in den Zertifikateigenschaften gefunden werden. |
{
"DataEncryption": {
"KeyStorage": "FileSystem",
"Directory": "C:\Path\To\Keys",
"CertificateThumbprint": "C123B3E899807189F11F0EC4AC320760F00ECE34"
}
}
Amazon S3 Speicher
Da der lokale Speicher der EC2-Instanz nicht zur Langzeitspeicherung verwendet werden kann, müssen DEKs woanders gespeichert werden. App Builder unterstützt das Speichern von DEKs in S3-Buckets. Die folgenden Einstellungen konfigurieren den S3-DEK-Speicher.
Einstellung | Beispiel | Hinweise |
---|---|---|
DataEncryption.KeyStorage | S3 | Zeigt an, dass {{nm.ab}} sollte DEKs auf Amazon S3 speichern. |
DataEncryption.S3BucketEndpoint | https://s3.amazonaws.com/vinyl-data-encryption-keys oder https://vinyl-data-encryption-keys.s3.amazonaws.com/ | Identifiziert die AWS-Region und den S3-Bucket, in dem S3-Schlüssel gespeichert werden. Die URL muss eine der folgenden Formen haben: https://s3{-aws-region}.amazonaws.com/{bucket} oder https://{bucket}.s3{-aws-region}.amazonaws.com . Weitere Informationen finden Sie im folgenden Dokument: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html |
DataEncryption.S3KeyPrefix | dev | Optional. Ermöglicht mehreren Umgebungen, DEKs im selben Bucket zu speichern und die Schlüssel nach Präfix zu isolieren. |
{
"DataEncryption": {
"KeyStorage": "S3",
"S3BucketEndpoint": "https://bucket.s3.us-east-2.amazonaws.com",
"S3KeyPrefix": "dev"
}
}
Redis Einrichtung
Verwenden Sie Redis, um die Kommunikation zwischen App Builder Server. Ein kleiner Server ohne Replikate oder Shards ist alles, was benötigt wird.
App Builder wurde getestet und funktioniert sowohl mit Redis Version 3.2 als auch mit Redis 6.X
Anwendungsserverkonfiguration
Sie müssen die folgenden Änderungen an einer Standardeinstellung vornehmen App Builder setup - diese Einstellungen sollten auf jede Instanz von App Builder. Alle Einstellungen sollten identisch sein für App Builder Instanzen, die dieselbe Umfeld bedienen (DEV oder QA oder PROD)
Folgendes sollte eingerichtet werden in C:\inetpub\wwwroot\App Builder\AppSettings.json
(Verwendung von S3 zur Speicherung von Verschlüsselung )
{
"SharedState": {
"Provider": "Redis",
"RedisConnectionString": "REDISSERVER:6379,password=abc123"
},
"DataEncryption": {
"KeyStorage": "S3",
"S3BucketEndpoint": "https://BUCKET.s3.us-east-2.amazonaws.com",
"S3KeyPrefix": "ENV"
}
}
Folgendes sollte eingerichtet werden in C:\inetpub\wwwroot\App Builder\AppSettings.json
(Verwendung von NFS zur Speicherung von Verschlüsselung )
{
"SharedState": {
"Provider": "Redis",
"RedisConnectionString": "REDISSERVER:6379,password=abc123"
},
"DataEncryption": {
"KeyStorage": "FileSystem",
"Directory": "C:\Path\To\Keys"
}
}
Jede Instanz von App Builder sollte dieselbe Datei connection.xml haben.
Nachdem Sie Änderungen vorgenommen und neu gestartet haben App Builder, überprüfen Sie die Protokolle, um sicherzustellen, dass die Einstellungen korrekt übernommen werden.