Hochverfügbare Bereitstellung vor Ort für Jitterbit App Builder
Einführung
Das folgende Diagramm veranschaulicht die wichtigsten Komponenten 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 aus zwei Gründen:
-
Schutz von Sicherheitstoken wie Sitzungscookies.
-
Verschlüsselung auf Anwendungsebene.
Beide verwenden dieselbe zugrunde liegende Verschlüsselung. Insbesondere verwenden sie ASP.Net Data Protection API. Obwohl App Builder versucht, die Datenschutzbibliothek automatisch zu konfigurieren, sind möglicherweise 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 passende 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 speichert App Builder DEKs im Dateisystem im Klartext, unterhalb des Stammverzeichnisses der App Builder Webanwendung.
Einstellung | Beispiel | Hinweise |
---|---|---|
DataEncryption.KeyStorage | FileSystem | Gibt an, dass App Builder DEKs im Dateisystem speichern soll. Dies ist der Standardwert. |
DataEncryption.Directory | C:\inetpub\wwwroot\App Builder\App_Data\Keys | Gibt das Verzeichnis an, in dem die DEKs gespeichert werden. Standardmäßig ist dies das Verzeichnis „App_Data\Keysd“ unterhalb des App Builder-Installationsverzeichnisses. Der Anwendungspoolbenutzer benötigt die volle Zugriffsberechtigung für dieses Verzeichnis. |
DateEncryption.CertificateThumbprint | C123B3E899807189F11F0EC4AC320760F00ECE34 | Optional. X.509-Fingerabdruck des Schlüsselverschlüsselungsschlüssels (KEK). Das KEK-Zertifikat sollte im persönlichen Zertifikatspeicher des lokalen Computers 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 für die Langzeitspeicherung verwendet werden kann, müssen DEKs an anderer Stelle gespeichert werden. App Builder unterstützt die Speicherung von DEKs in S3-Buckets. Die folgenden Einstellungen konfigurieren den S3-DEK-Speicher.
Einstellung | Beispiel | Hinweise |
---|---|---|
DataEncryption.KeyStorage | S3 | Gibt an, dass App Builder DEKs auf Amazon S3 speichern soll. |
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 die 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 Servern zu erleichtern. Ein kleiner Server ohne Replikate oder Shards ist ausreichend.
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 einem Standard App Builder-Setup vornehmen - diese Einstellungen sollten auf jede Instanz von App Builder angewendet werden. Alle Einstellungen sollten für App Builder Instanzen, die dieselbe Umfeld bedienen (DEV, QA oder PROD), identisch sein.
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 eingestellt 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 über dieselbe Datei connection.xml verfügen.
Nachdem Sie Änderungen vorgenommen und App Builder neu gestartet haben, überprüfen Sie die Protokolle, um sicherzustellen, dass die Einstellungen richtig übernommen werden.