Zum Inhalt springen

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:

Anhang

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:

  1. Schutz von Sicherheitstoken wie Sitzungscookies.

  2. 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.
Example AppSettings JSON Configuration
{
    "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.
Example AppSettings JSON Configuration
{
    "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.