AWS CloudHSM Bewährte Methoden für die Anwendungsintegration - AWS CloudHSM

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS CloudHSM Bewährte Methoden für die Anwendungsintegration

Folgen Sie den bewährten Methoden in diesem Abschnitt, um die Integration Ihrer Anwendung in Ihren AWS CloudHSM Cluster zu optimieren.

Bootstrap für Ihren Client SDK

Bevor Ihr Client eine Verbindung zu Ihrem Cluster herstellen SDK kann, muss er gebootet werden. Beim Bootstrapping von IP-Adressen zu Ihrem Cluster empfehlen wir, den --cluster-id Parameter nach Möglichkeit zu verwenden. Diese Methode füllt Ihre Konfiguration mit allen HSM IP-Adressen in Ihrem Cluster, ohne dass Sie jede einzelne Adresse verfolgen müssen. Auf diese Weise wird Ihre Anwendungsinitialisierung für den Fall, dass eine Anwendung gewartet HSM wird oder während eines Ausfalls der Availability Zone, zusätzliche Stabilität erhält. Weitere Details finden Sie unter Bootstrap für den Client SDK.

Authentifizieren Sie sich, um Operationen auszuführen

In AWS CloudHSM müssen Sie sich bei Ihrem Cluster authentifizieren, bevor Sie die meisten Operationen, wie z. B. kryptografische Operationen, ausführen können.

Mit Cloud authentifizieren HSM CLI: Sie können sich bei Cloud HSM CLI entweder im Einzelbefehlsmodus oder im interaktiven Modus authentifizieren. Verwenden Sie den Loggen Sie sich in eine Cloud ein und HSM verwenden HSM CLI Befehl, um sich im interaktiven Modus zu authentifizieren. Um sich im Einzelbefehlsmodus zu authentifizieren, müssen Sie die Umgebungsvariablen CLOUDHSM_ROLE und festlegen. CLOUDHSM_PIN Einzelheiten dazu finden Sie unter. Einzelbefehlsmodus AWS CloudHSM empfiehlt, Ihre HSM Anmeldeinformationen sicher zu speichern, wenn sie nicht von Ihrer Anwendung verwendet werden.

Authentifizieren Sie sich mit PKCS #11: In PKCS #11 melden Sie sich mit C_Login an, API nachdem Sie eine Sitzung mit C_ geöffnet haben. OpenSession Sie müssen nur einen C_Login pro Slot (Cluster) durchführen. Nachdem Sie sich erfolgreich angemeldet haben, können Sie weitere Sitzungen mit C_ öffnen, OpenSession ohne zusätzliche Anmeldevorgänge durchführen zu müssen. Beispiele für die Authentifizierung bei PKCS #11 finden Sie unter. Codebeispiele für die PKCS #11 -Bibliothek für AWS CloudHSM Client SDK 5

Authentifizieren mit JCE: Der AWS CloudHSM JCE Anbieter unterstützt sowohl implizite als auch explizite Anmeldung. Welche Methode für Sie funktioniert, hängt von Ihrem Anwendungsfall ab. Wenn möglich, empfehlen wir die Verwendung von Implicit Login, da SDK dies die Authentifizierung automatisch durchführt, wenn Ihre Anwendung vom Cluster getrennt wird und erneut authentifiziert werden muss. Wenn Sie die implizite Anmeldung verwenden, können Sie auch Anmeldeinformationen für Ihre Anwendung angeben, wenn Sie eine Integration verwenden, bei der Sie keine Kontrolle über Ihren Anwendungscode haben. Weitere Informationen zu Anmeldemethoden finden Sie unterSchritt 2: Geben Sie dem JCE Anbieter Anmeldeinformationen an.

Mit Open authentifizieren SSL: Mit der Open SSL Dynamic Engine geben Sie Anmeldeinformationen über Umgebungsvariablen an. AWS CloudHSM empfiehlt, Ihre HSM Anmeldeinformationen sicher zu speichern, wenn sie nicht von Ihrer Anwendung verwendet werden. Wenn möglich, sollten Sie Ihre Umgebung so konfigurieren, dass diese Umgebungsvariablen systematisch und ohne manuelle Eingabe abgerufen und festgelegt werden. Einzelheiten zur Authentifizierung mit Open finden Sie SSL unterInstallieren Sie die Open SSL Dynamic Engine für AWS CloudHSM Client SDK 5.

Authentifizieren mit KSP: Sie können sich bei Key Storage Provider (KSP) entweder mithilfe der Windows-Anmeldeinformationsverwaltung oder mithilfe von Umgebungsvariablen authentifizieren, siehe. Installieren Sie den Key Storage Provider (KSP) für AWS CloudHSM Client SDK 5

Effektives Verwalten von Schlüsseln in Ihrer Anwendung

Verwenden Sie Schlüsselattribute, um zu steuern, was Schlüssel bewirken können: Verwenden Sie beim Generieren eines Schlüssels Schlüsselattribute, um eine Reihe von Berechtigungen zu definieren, die bestimmte Arten von Vorgängen für diesen Schlüssel zulassen oder verweigern. Wir empfehlen, Schlüssel mit der geringsten Anzahl an Attributen zu generieren, die zur Ausführung ihrer Aufgabe erforderlich sind. Ein AES Schlüssel, der für die Verschlüsselung verwendet wird, sollte beispielsweise nicht auch Schlüssel aus dem herausnehmen dürfenHSM. Weitere Informationen finden Sie auf unseren Seiten mit Attributen für den folgenden ClientSDKs:

Wenn möglich, speichern Sie Schlüsselobjekte im Cache, um die Latenz zu minimieren: Bei Schlüsselsuchoperationen werden alle Objekte HSM in Ihrem Cluster abgefragt. Dieser Vorgang ist teuer und skaliert nicht mit der HSM Anzahl in Ihrem Cluster.

  • Mit PKCS #11 finden Sie Schlüssel mit dem C_FindObjectsAPI.

  • Mit JCE finden Sie Schlüssel mit dem KeyStore.

Um eine optimale Leistung zu erzielen, AWS empfiehlt es sich, Befehle zur Schlüsselsuche (wie Suchen Sie nach AWS CloudHSM Schlüsseln anhand von Attributen mit KMU undSchlüssel für einen Benutzer mit Cloud auflisten HSM CLI) nur einmal beim Start der Anwendung zu verwenden und das zurückgegebene Schlüsselobjekt im Anwendungsspeicher zwischenzuspeichern. Wenn Sie dieses Schlüsselobjekt zu einem späteren Zeitpunkt benötigen, sollten Sie das Objekt aus Ihrem Cache abrufen, anstatt dieses Objekt bei jedem Vorgang abzufragen, was zu einem erheblichen Leistungsaufwand führt.

Verwenden Sie Multithreading

AWS CloudHSM unterstützt Multithread-Anwendungen, aber es gibt einige Dinge, die Sie bei Multithread-Anwendungen beachten sollten.

Mit PKCS #11 sollten Sie die PKCS #11 -Bibliothek (AufrufC_Initialize) nur einmal initialisieren. Jedem Thread sollte eine eigene Sitzung (C_OpenSession) zugewiesen werden. Es wird nicht empfohlen, dieselbe Sitzung in mehreren Threads zu verwenden.

Mit JCE sollte der AWS CloudHSM Anbieter nur einmal initialisiert werden. Teilen Sie Instanzen von SPI Objekten nicht über mehrere Threads hinweg. Beispielsweise sollten Cipher, Signature, Digest, Mac KeyFactory oder KeyGenerator Objekte nur im Kontext ihres eigenen Threads verwendet werden.

Gehen Sie mit Drosselungsfehlern um

Unter den folgenden Umständen können HSM Drosselungsfehler auftreten:

  • Ihr Cluster ist nicht richtig skaliert, um Spitzenverkehr zu bewältigen.

  • Ihr Cluster verfügt nicht über eine +1-Redundanz bei Wartungsereignissen.

  • Ausfälle in der Availability Zone führen zu einer geringeren Anzahl verfügbarer Objekte HSMs in Ihrem Cluster.

Informationen HSMDrosselung zur optimalen Handhabung dieses Szenarios finden Sie unter.

Um sicherzustellen, dass Ihr Cluster ausreichend dimensioniert ist und nicht gedrosselt wird, AWS empfiehlt es sich, einen Lasttest in Ihrer Umgebung mit dem zu erwartenden Spitzenverkehr durchzuführen.

Integrieren Sie Wiederholungsversuche bei Clustervorgängen

AWS kann Ihre aus Betriebs HSM - oder Wartungsgründen ersetzen. Um Ihre Anwendung gegen solche Situationen widerstandsfähig zu machen, AWS empfiehlt es sich, für alle Operationen, die an Ihren Cluster weitergeleitet werden, eine clientseitige Wiederholungslogik zu implementieren. Nachfolgende Wiederholungen bei fehlgeschlagenen Vorgängen aufgrund von Ersatzvorgängen werden voraussichtlich erfolgreich sein.

Implementieren Sie Strategien für die Notfallwiederherstellung

Als Reaktion auf ein Ereignis kann es erforderlich sein, Ihren Datenverkehr von einem ganzen Cluster oder einer Region weg zu verlagern. In den folgenden Abschnitten werden mehrere Strategien beschrieben, um dies zu erreichen.

Verwenden Sie VPC Peering, um von einem anderen Konto oder einer anderen Region aus auf Ihren Cluster zuzugreifen: Sie können VPC Peering verwenden, um von einem anderen Konto oder einer anderen Region aus auf Ihren AWS CloudHSM Cluster zuzugreifen. Informationen zur Einrichtung finden Sie unter Was ist VPC Peering? im VPCPeering Guide. Sobald Sie Ihre Peering-Verbindungen eingerichtet und Ihre Sicherheitsgruppen entsprechend konfiguriert haben, können Sie wie gewohnt mit HSM IP-Adressen kommunizieren.

Connect zu mehreren Clustern aus derselben Anwendung her: Der JCE Anbieter, die PKCS #11 -Bibliothek und Cloud HSM CLI in Client SDK 5 unterstützen die Verbindung zu mehreren Clustern aus derselben Anwendung. Sie können beispielsweise zwei aktive Cluster haben, die sich jeweils in unterschiedlichen Regionen befinden, und Ihre Anwendung kann eine Verbindung zu beiden gleichzeitig herstellen und im Rahmen des normalen Betriebs einen Lastenausgleich zwischen den beiden herstellen. Wenn Ihre Anwendung nicht Client SDK 5 (die neueste VersionSDK) verwendet, können Sie von derselben Anwendung aus keine Verbindung zu mehreren Clustern herstellen. Alternativ können Sie einen anderen Cluster am Laufen halten und, falls es zu einem regionalen Ausfall kommt, Ihren Datenverkehr auf den anderen Cluster verlagern, um Ausfallzeiten zu minimieren. Einzelheiten finden Sie auf den jeweiligen Seiten:

Einen Cluster aus einem Backup wiederherstellen: Sie können einen neuen Cluster aus einer Sicherung eines vorhandenen Clusters erstellen. Weitere Informationen finden Sie unter Cluster-Backups in AWS CloudHSM.