Zum Inhalt springen

Verwandeln Sie Ihre Kontakte in Urlaubsgeld mit unserem neuen Kundenempfehlungsprogramm! Erfahren Sie mehr

Diese Dokumentation gilt für Version 4 und höher von App Builder, dem neuen Namen für Vinyl. Hier gelangen Sie zur Vinyl-Dokumentation.

Verschlüsselung im Jitterbit App Builder

Übersicht

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 die ASP.Net Data Protection API. Obwohl App Builder versucht, die Data Protection-Bibliothek automatisch zu konfigurieren, können zusätzliche Konfigurationen erforderlich sein.

Verschlüsselung

Datenverschlüsselungsschlüssel (DEKs) sind symmetrische Verschlüsselung zum Schutz von Daten. App Builder unterstützt mehrere konfigurierbare Richtlinien für Schlüsselspeicherung und Verschlüsselung. Administratoren müssen die passenden Richtlinien für ihre Umfeld auswählen.

Lagerung

App Builder unterstützt die folgenden Schlüsselspeicherrichtlinien:

  • Dateisystem, entweder lokal oder als Netzwerkfreigabe
  • Datenbank Amazon Web Services (AWS) S3
  • AWS Systems Manager Parameter Store

Verschlüsselung

Je nach Speicherort sollten Administratoren die Verschlüsselung von Schlüsseln in Betracht ziehen. App Builder unterstützt die folgenden Verschlüsselung:

  • Zertifikat AWS-Schlüsselverwaltungsdienst

Konfiguration

Schlüsselspeicher- und Verschlüsselung werden beim Start konfiguriert. Die Konfiguration kann mithilfe der Datei appsettings.json erfolgen:

{
  "DataEncryption": {
    "KeyStorage": "FileSystem",
    "KeyEncryption": "None"
  }
}

Die Konfiguration kann auch durch Umfeld bereitgestellt werden:

export DATAENCRYPTION__KEYSTORAGE=FileSystem
export DATAENCRYPTION__KEYENCRYPTION=None

Siehe App Builder beim Start konfigurieren für weitere Informationen.

Lagerung

Dateisystem

Standardmäßig speichert App Builder Schlüssel im Dateisystem als Klartext. Sie werden im Verzeichnis keys unterhalb des App Builder-Installationsverzeichnisses gespeichert.

Einstellungen
Einstellung Beispiel Hinweise
Schlüsselspeicher FileSystem Gibt an, dass App Builder Schlüssel im Dateisystem speichern soll. Dies ist die Standardrichtlinie.
Verzeichnis keys Gibt das Verzeichnis an, in dem die Schlüssel gespeichert werden. Standardmäßig ist das Verzeichnis keys unterhalb des App Builder-Installationsverzeichnisses. Der App Builder-Prozess benötigt die volle Zugriffsberechtigung auf dieses Verzeichnis. Unter Windows wird dies durch die Erteilung der Benutzerberechtigung für den IIS-Anwendungspool erreicht.
Beispiel
{
  "DataEncryption": {
     "KeyStorage": "FileSystem",
     "Directory": "keys"
  }
}

Datenbank

Schlüssel können in der * App Builder*-Datenbank gespeichert werden. Beachten Sie, dass die Schlüssel selbst verschlüsselt werden sollten, da sie zum verschlüsseln von Daten verwendet werden, die ebenfalls in der Datenbank gespeichert sind.

Einstellungen
Einstellung Beispiel Hinweise
Schlüsselspeicher Database Gibt an, dass App Builder Schlüssel in der App Builder-Datenbank speichern soll.
Beispiel
{
  "DataEncryption": {
     "KeyStorage": "Database",
     "KeyEncryption": "Certificate",
     "Certificate": "...base64-encoded...",
     "CertificatePassword": "password"
  }
}

AWS S3

Der lokale Speicher einer EC2-Instanz wird normalerweise nicht für die langfristige Persistenz verwendet. Alternativ unterstützt App Builder die Speicherung von Schlüsseln in S3-Buckets.

Einstellungen
Einstellung Beispiel Hinweise
Schlüsselspeicher S3 Gibt an, dass App Builder Schlüssel in einem AWS S3-Bucket speichern soll.
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}
  • https://{bucket}.s3{-aws-region}.amazonaws.com
Weitere Informationen finden Sie im folgenden Dokument: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html
S3KeyPrefix dev Optional. Ermöglicht mehreren Umgebungen, Schlüssel im selben Bucket zu speichern und die Schlüssel nach Präfix zu isolieren.
Beispiel
{
  "DataEncryption": {
     "KeyStorage": "S3",
     "S3BucketEndpoint": "https://{bucket}.s3{-aws-region}.amazonaws.com",
     "S3KeyPrefix": "production"
  }
}

AWS Systems Manager-Parameterspeicher

Der lokale Speicher von EC2-Instanzen wird üblicherweise nicht für die langfristige Persistenz verwendet. Alternativ können Schlüssel im AWS Systems Manager Parameter Store gespeichert werden. Im Parameter Store gespeicherte Schlüssel können mit dem Key Management Service (KMS) verschlüsselt werden.

Einstellungen
Einstellung Beispiel Hinweise
Schlüsselspeicher ParameterStore Gibt an, dass App Builder Schlüssel im AWS Systems Manager Parameter Store speichern soll.
ParameterNamePrefix /production Isoliert Schlüssel nach Präfix.
KmsKeyId arn:aws:kms:us-east-1:1234567890:key/1234abcd-12ab-34cd-56ef-1234567890ab Optional. Gibt den KMS-Schlüssel an, der zum verschlüsseln von Schlüsseln verwendet werden soll. Der Wert sollte die Form eines Amazon Resource Name (ARN) haben.
Beispiel
{
  "DataEncryption": {
     "KeyStorage": "ParameterStore",
     "ParameterNamePrefix": "/production",
     "KmsKeyId": "arn:aws:kms:us-east-1:1234567890:key/1234abcd-12ab-34cd-56ef-1234567890ab"
  }
}

Verschlüsselung

Keine

Standardmäßig verschlüsseln App Builder keine Schlüssel. Schlüssel können jedoch basierend auf der Speicherrichtlinie transparent verschlüsselt werden. Beispielsweise kann ein S3-Bucket so konfiguriert werden, dass alle Daten verschlüsseln werden.

Einstellungen
Einstellung Beispiel Hinweise
Schlüsselverschlüsselung None Gibt an, dass Schlüssel im Klartext gespeichert werden sollen.
Beispiel
{
  "DataEncryption": {
    "KeyStorage": "FileSystem",
    "KeyEncryption": "None"
  }
}

Zertifikat

Schlüssel können mit einem X.509-Zertifikat verschlüsselt werden.

Einstellungen
Einstellung Beispiel Hinweise
Schlüsselverschlüsselung Certificate Gibt an, dass Schlüssel mit einem X.509-Zertifikat verschlüsselt werden sollen. Administratoren müssen entweder Certificate oder CertificateThumbprint angeben.
Zertifikat X.509-Zertifikat. Das Zertifikat muss als Base64-kodiertes PKCS#12 (PFX)-Zertifikat mit privatem Schlüssel bereitgestellt werden. Erfordert Zertifikatskennwort.
CertificatePassword X.509-Zertifikatskennwort.
CertificateThumbprint Fingerabdruck des X.509-Zertifikats. App Builder versucht, das Zertifikat aus dem persönlichen Zertifikatspeicher des Kontos Lokaler Computer zu laden.
Beispiel
{
  "DataEncryption": {
     "KeyStorage": "FileSystem",
     "CertificateThumbprint": "C123B3E899807189F11F0EC4AC320760F00ECE34"
  }
}

AWS-Schlüsselverwaltungsdienst

App Builder kann so konfiguriert werden, dass Schlüssel mit AWS Key Management Service (KMS) verschlüsseln werden.

Einstellungen
Einstellung Beispiel Hinweise
Schlüsselverschlüsselung Kms Gibt an, dass App Builder Schlüssel mit AWS KMS verschlüsseln soll.
KmsKeyId arn:aws:kms:us-east-1:1234567890:key/1234abcd-12ab-34cd-56ef-1234567890ab Identifiziert den KMS-Schlüssel, der zum verschlüsseln von Schlüsseln verwendet werden soll. Der Wert sollte die Form eines Amazon Resource Name (ARN) haben.
Beispiel
{
  "DataEncryption": {
     "KeyStorage": "Database",
     "KeyEncryption": "Kms",
     "KmsKeyId": "arn:aws:kms:us-east-1:1234567890:key/1234abcd-12ab-34cd-56ef-1234567890ab"
  }
}

Amazon Web Services

S3-Bucket-Richtlinie

Wenn Sie Verschlüsselung in einem S3-Bucket speichern, sollten Sie die Verwendung einer Rolle in Betracht ziehen, um der EC2-Instanz Zugriff auf den Bucket zu gewähren.

Beispiel
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::{bucket-name}/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": "*"
        }
    ]
}

KMS-Schlüsselrichtlinie

Wenn Sie Schlüssel mit KMS verschlüsseln, sollten Sie die Verwendung einer Rolle in Betracht ziehen, um der EC3-Instanz Zugriff auf den Schlüssel zu gewähren.

Beispiel
{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:GenerateDataKey",
      "kms:Encrypt",
      "kms:Decrypt"
    ],
    "Resource": [
      "arn:aws:kms:us-west-2:1234567890:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    ]
  }
}

Elastische Bohnenstange

App Builder wird mit einem .ebextensions Script geliefert, das die Umfeld automatisch registriert.

Standardeinstellungen

Die Standardkonfiguration von Elastic Beanstalk variiert je nach Version von App Builder.

Einstellung 3.2 und niedriger 3.3 und höher
Schlüsselspeicher S3 Database
S3BucketEndpoint https://{bucket}.s3{-aws-region}.amazonaws.com
S3BucketPrefix {elastic-beanstalk-environment-name}
Schlüsselverschlüsselung Kms
KmsKeyId {kms-key-arn}

Vorsicht

App Builder startet nicht mit den Umfeld von Elastic Beanstalk. Administratoren müssen die KmsKeyId ändern oder eine alternative Verschlüsselung auswählen.

Kryptografieanbieter

App Builder ist eine .NET-Anwendung. In .NET können Implementierungen kryptografischer Algorithmen von einem von drei Kryptografieanbietern bereitgestellt werden.

Crypto Service Provider (CSP) - Der Crypto Service Provider ist ein Wrapper für die Windows Cryptography API (CAPI). CAPI ist veraltet. Dieser Anbieter wird daher nicht unterstützt. - Cryptography Next Generation (CNG) - Die vom CNG-Anbieter implementierten Algorithmen sind in der Regel FIPS-konform. Dies ist der Standard-Kryptografieanbieter. - Verwaltet - Die von diesem Anbieter implementierten Algorithmen sind in der Regel nicht FIPS-konform. Sie können langsamer sein als vergleichbare CNG-Implementierungen. Verwaltete Implementierungen werden jedoch mit .NET ausgeliefert und sind daher auf allen Plattformen verfügbar.

Einstellungen

Einstellung Beispiel Hinweise
KryptoProvider Cng Bestimmt den Krypto-Anbieter. Gültige Werte sind:
  • Cng- Kryptographie der nächsten Generation. Standard.
  • Managed- Verwaltete Implementierungen.

Beispiel

{
  "DataEncryption": {
    "CryptoProvider": "Managed"
  }
}

Import

Verschlüsselung können beim Systemstart importiert werden. Dies geschieht typischerweise, um Schlüssel von einem Speicherort an einen anderen zu migrieren. Dabei werden die Schlüssel entschlüsselt und verschlüsselt.

Einstellungen

Einstellung Beispiel Hinweise
Importieren Alternativer Satz von Schlüsselspeicher- und Verschlüsselung.

Beispiel

{
  "DataEncryption": {
    "KeyStorage": "Database",
    "KeyEncryption": "Certificate",
    "Certificate": "...base64-encoded...",
    "CertificatePassword": "password",
    "Import": {
      "KeyStorage": "FileSystem",
      "Directory": "keys"
    }
  }
}