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.
Fehlerbehebung für einen Custom Key Store
AWS CloudHSM-Schlüsselspeicher sind so konzipiert, dass sie zuverlässig und widerstandsfähig sind. Es gibt jedoch einige Fehlerzustände, die Sie möglicherweise beheben müssen, um die Betriebsbereitschaft Ihres AWS CloudHSM-Schlüsselspeichers zu wahren.
Themen
- So reparieren Sie nicht-verfügbare KMS-Schlüssel
- Beheben eines fehlerhaften KMS-Schlüssels
- Beheben eines Verbindungsfehlers
- Wie man auf Fehler bei kryptografischen Produktionen reagiert
- Reparieren ungültiger kmsuser-Anmeldeinformationen
- Löschen von verwaistem Schlüsselmaterial
- Wiederherstellen von gelöschtem Schlüsselmaterial für einen KMS-Schlüssel
- Anmeldung als kmsuser
So reparieren Sie nicht-verfügbare KMS-Schlüssel
Der Schlüsselstatus von AWS KMS keys in einem AWS CloudHSM-Schlüsselspeicher ist normalerweise Enabled
. Wie bei allen KMS-Schlüsseln ändert sich der Schlüsselstatus, wenn Sie die KMS-Schlüssel in einem AWS CloudHSM-Schlüsselspeicher deaktivieren oder sie zur Löschung einplanen. Im Gegensatz zu anderen KMS-Schlüsseln können die KMS-Schlüssel in einem benutzerdefinierten Schlüsselspeicher aber auch den Schlüsselstatus Unavailable
haben.
Der Schlüsselstatus Unavailable
gibt an, dass sich der KMS-Schlüssel in einem benutzerdefinierten Schlüsselspeicher befindet, der absichtlich getrennt wurde und eventuelle Versuche, die Verbindung wiederherzustellen, fehlgeschlagen sind. Wenn ein KMS-Schlüssel nicht verfügbar ist, können Sie ihn anzeigen und verwalten, ihn jedoch nicht für kryptographische Produktionen verwenden.
Um den Schlüsselstatus eines KMS-Schlüssels zu ermitteln, zeigen Sie auf der Seite Customer managed keys (kundenverwaltete Schlüssel) das Feld Status des KMS-Schlüssels an. Oder verwenden Sie die -DescribeKeyOperation und zeigen Sie das -KeyState
Element in der Antwort an. Details hierzu finden Sie unter Anzeigen von Schlüsseln.
Die KMS-Schlüssel in einem benutzerdefinierten Schlüsselspeicher haben den Schlüsselstatus Unavailable
oder PendingDeletion
. KMS-Schlüssel, die zur Löschung aus einem benutzerdefinierten Schlüsselspeicher geplant sind, haben den Schlüsselstatus Pending Deletion
, auch wenn der benutzerdefinierten Schlüsselspeicher getrennt ist. Auf diese Weise können Sie die geplante Löschung des Schlüssels stornieren, ohne dass Sie erneut eine Verbindung mit dem Custom Key Store herstellen müssen.
Um die Nichtverfügbarkeit eines KMS-Schlüssels zu beheben, verbinden Sie den benutzerdefinierten Schlüsselspeicher wieder. Wenn der benutzerdefinierten Schlüsselspeicher wieder verbunden ist, wechselt der Schlüsselstatus der KMS-Schlüssels im benutzerdefinierten Schlüsselspeicher automatisch wieder zum vorherigen Zustand, etwa zu Enabled
oder Disabled
. KMS-Schlüssel, die zur Löschung ausstehen, bleiben im Status PendingDeletion
. Während das Problem bestehen bleibt, ändert das Aktivieren und Deaktivieren eines nicht-verfügbaren KMS-Schlüssels dessen Schlüsselstatus nicht. Das Aktivieren und Deaktivieren wirkt sich erst aus, wenn der Schlüssel wieder verfügbar ist.
Für Hilfe bei fehlgeschlagenen Verbindungen vgl. Beheben eines Verbindungsfehlers.
Beheben eines fehlerhaften KMS-Schlüssels
Probleme mit der Erstellung und Verwendung von KMS-Schlüssel in AWS CloudHSM-Schlüsselspeichern können von einem Problem mit Ihrem AWS CloudHSM-Schlüsselspeicher, dem dazugehörigen AWS CloudHSM-Cluster, dem KMS-Schlüssel oder dessen Schlüsselmaterial verursacht werden.
Wenn ein AWS CloudHSM-Schlüsselspeicher von seinem AWS CloudHSM-Cluster getrennt wird, ist der Schlüsselstatus der KMS-Schlüssels in dem benutzerdefinierten Schlüsselspeicher Unavailable
. Alle Anforderungen zum Erstellen von KMS-Schlüsseln in einem getrennten AWS CloudHSM-Schlüsselspeicher führen zu der Ausnahme CustomKeyStoreInvalidStateException
. Alle Anforderungen zum Verschlüsseln, erneuten Verschlüsseln oder zum Generieren von Datenschlüsseln führen zu der Ausnahme KMSInvalidStateException
. Verbinden Sie zur Behebung des Problems den AWS CloudHSM-Schlüsselspeicher erneut.
Ihre Versuche, einen KMS-Schlüssel aus einem AWS CloudHSM-Schlüsselspeicher für kryptographische Produktionen zu verwenden, können jedoch fehlschlagen, selbst wenn sein Schlüsselstatus Enabled
und der Verbindungsstatus des AWS CloudHSM-Schlüsselspeichers Connected
ist. Dies kann durch eine der folgenden Ursachen bedingt sein.
-
Möglicherweise wurde das Schlüsselmaterial für den KMS-Schlüssel von dem zugehörigen AWS CloudHSM-Cluster gelöscht. Um dies zu ermitteln, suchen Sie zuerst den Schlüssel-Handle des Schlüsselmaterials für einen KMS-Schlüssel und versuchen Sie bei Bedarf, das Schlüsselmaterial wiederherzustellen.
-
Alle HSMs wurden aus dem AWS CloudHSM-Cluster gelöscht, der mit dem AWS CloudHSM-Schlüsselspeicher verbunden ist. Damit ein KMS-Schlüssel in einem AWS CloudHSM-Schlüsselspeicher in einer kryptographischen Produktion verwendet werden kann, muss dessen AWS CloudHSM-Cluster mindestens ein aktives HSM enthalten. Um die Anzahl und den Status von HSMs in einem -AWS CloudHSMCluster zu überprüfen, verwenden Sie die -AWS CloudHSMKonsole oder die -DescribeClustersOperation. Um dem Cluster ein HSM hinzuzufügen, verwenden Sie die -AWS CloudHSMKonsole oder die -CreateHsmOperation.
-
Der mit dem AWS CloudHSM-Schlüsselspeicher verbundene AWS CloudHSM-Cluster wurde gelöscht. Um das Problem zu beheben, erstellen Sie einen Cluster aus einer Sicherung, die mit dem ursprünglichen Cluster verbunden ist, oder aus einer Sicherung, die zur Erstellung des ursprünglichen Clusters verwendet wurde. Bearbeiten Sie dann die Cluster-ID in den Einstellungen für den Custom Key Store. Anweisungen finden Sie unter Wiederherstellen von gelöschtem Schlüsselmaterial für einen KMS-Schlüssel.
-
Der dem benutzerdefinierten Schlüsselspeicher zugeordnete AWS CloudHSM-Cluster verfügte über keine verfügbaren PKCS#11-Sitzungen. Dies tritt normalerweise in Zeiten mit hohem Burst-Verkehr auf, wenn zusätzliche Sitzungen erforderlich sind, um den Datenverkehr zu bedienen. Um auf eine
KMSInternalException
mit einer Fehlermeldung über PKCS#11-Sitzungen zu antworten, gehen Sie zurück und wiederholen Sie die Anfrage.
Beheben eines Verbindungsfehlers
Wenn Sie versuchen, einen AWS CloudHSM-Schlüsselspeicher mit seinem AWS CloudHSM-Cluster zu verbinden, der Vorgang jedoch fehlschlägt, wechselt der Verbindungsstatus des AWS CloudHSM-Schlüsselspeichers zu FAILED
. Um den Verbindungsstatus eines -AWS CloudHSMSchlüsselspeichers zu ermitteln, verwenden Sie die -AWS KMSKonsole oder die -DescribeCustomKeyStoresOperation.
Alternativ können einige Verbindungsversuche aufgrund leicht zu erkennender Cluster-Konfigurationsfehler fehlschlagen. In diesem Fall lautet der Verbindungsstatus immer noch DISCONNECTED
. Diese Fehler geben eine Fehlermeldung oder Ausnahme mit einer Begründung für den fehlgeschlagenen Verbindungsversuch zurück. Überprüfen Sie die Beschreibung der Ausnahme und die -Cluster-Anforderungen, beheben Sie das Problem, aktualisieren Sie den AWS CloudHSM-Schlüsselspeicher, sofern erforderlich, und versuchen Sie erneut, eine Verbindung herzustellen.
Wenn der Verbindungsstatus lautetFAILED
, führen Sie die -DescribeCustomKeyStoresOperation aus und sehen Sie sich das -ConnectionErrorCode
Element in der Antwort an.
Anmerkung
Wenn der Verbindungsstatus eines AWS CloudHSM-Schlüsselspeichers FAILED
ist, müssen Sie den AWS CloudHSM-Schlüsselspeicher trennen, bevor Sie versuchen, ihn wieder zu verbinden. Ein AWS CloudHSM-Schlüsselspeicher mit dem Verbindungsstatus FAILED
kann nicht verbunden werden.
-
CLUSTER_NOT_FOUND
gibt an, dass AWS KMS keinen AWS CloudHSM-Cluster mit der angegebenen Cluster-ID finden kann. Dies kann auftreten, wenn die falsche Cluster-ID für eine API-Produktion bereitgestellt wurde, oder wenn der Cluster gelöscht und nicht ersetzt wurde. Um diesen Fehler zu beheben, überprüfen Sie die Cluster-ID, z. B. mithilfe der AWS CloudHSM Konsole oder der -DescribeClustersOperation. Wenn der Cluster gelöscht wurde, erstellen Sie einen Cluster aus einer möglichst neuen Sicherung des Originals. Trennen Sie dann den AWS CloudHSM-Schlüsselspeicher, bearbeiten Sie die -Cluster-ID-Einstellung des AWS CloudHSM-Schlüsselspeichers, und verbinden Sie den AWS CloudHSM-Schlüsselspeicher wieder mit dem Cluster. -
INSUFFICIENT_CLOUDHSM_HSMS
zeigt an, dass der zugehörige AWS CloudHSM-Cluster keine HSMs enthält. Zum herstellen einer Verbindung muss der Cluster mindestens über ein HSM verfügen. Verwenden Sie die -DescribeClustersOperation, um die Anzahl der HSMs im Cluster zu ermitteln. Um diesen Fehler zu beheben, fügen Sie mindestens ein HSM dem Cluster hinzu. Wenn Sie mehrere HSMs hinzufügen, sollten Sie sie in verschiedenen Availability Zones erstellen. INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET
zeigt an, dass AWS KMS den AWS CloudHSM-Schlüsselspeicher nicht mit dessenAWS CloudHSM-Cluster verbinden konnte, weil mindestens ein privates Subnetz, das mit dem Cluster verknüpft ist, keine verfügbaren IP-Adressen hat. Eine AWS CloudHSM-Schlüsselspeicherverbindung erfordert eine freie IP-Adresse in jedem der zugehörigen privaten Subnetze, wobei es vorzugsweise zwei sind.Sie können in einem vorhandenen Subnetz keine IP-Adressen
(CIDR-Blöcke) hinzufügen. Verschieben oder löschen Sie nach Möglichkeit andere Ressourcen, die die IP-Adressen im Subnetz verwenden, wie z. B. nicht verwendete EC2-Instances oder Elastic-Network-Schnittstellen. Andernfalls können Sie einen Cluster von einem aktuellen Backup des AWS CloudHSM-Clusters mit neuen oder vorhandenen privaten Subnetzen, die mehr freien Adressraum haben, erstellen. Wenn Sie dann den neuen Cluster mit Ihrem AWS CloudHSM-Schlüsselspeicher verknüpfen möchten, trennen Sie den benutzerdefinierten Schlüsselspeicher, ändern Sie die Cluster-ID des AWS CloudHSM-Schlüsselspeichers in die ID des neuen Clusters und versuchen Sie erneut, eine Verbindung herzustellen. Tipp
Um das Zurücksetzen des kmsuser-Passworts zu vermeiden, verwenden Sie die neueste Sicherung des AWS CloudHSM-Clusters.
-
INTERNAL_ERROR
gibt an, dass AWS KMS die Anforderung aufgrund eines internen Fehlers nicht ordnungsgemäß durchführen konnte. Wiederholen Sie die Anforderung. Trennen Sie beiConnectCustomKeyStore
-Anforderungen den AWS CloudHSM-Schlüsselspeicher, bevor Sie die Verbindung wieder herzustellen. -
INVALID_CREDENTIALS
zeigt an, dass AWS KMS sich nicht beim zugehörigen AWS CloudHSM-Cluster anmelden kann, da es nicht über das korrektekmsuser
-Kontopasswort verfügt. Für Unterstützung bei diesem Fehler vgl. Reparieren ungültiger kmsuser-Anmeldeinformationen. -
NETWORK_ERRORS
weist normalerweise auf vorübergehende Netzwerkprobleme hin. Trennen Sie den AWS CloudHSM-Schlüsselspeicher, warten Sie einige Minuten, und versuchen Sie dann erneut, eine Verbindung herzustellen. SUBNET_NOT_FOUND
gibt an, dass mindestens ein Subnetz in der AWS CloudHSM-Clusterkonfiguration gelöscht wurde. Wenn AWS KMS nicht alle Subnetze in der Clusterkonfiguration finden kann, schlagen Versuche, den AWS CloudHSM-Schlüsselspeicher mit dem AWS CloudHSM-Cluster zu verbinden, fehl.Um diesen Fehler zu beheben, erstellen Sie einen Cluster aus einer möglichst neuen Sicherung desselben AWS CloudHSM-Clusters. (Dieser Prozess erstellt eine neue Clusterkonfiguration mit einer VPC und privaten Subnetzen.) Stellen Sie sicher, dass der neue Cluster die Anforderungen für einen benutzerdefinierten Schlüsselspeicher erfüllt, und notieren Sie sich die neue Cluster-ID. Wenn Sie dann den neuen Cluster mit Ihrem AWS CloudHSM-Schlüsselspeicher verknüpfen möchten, trennen Sie den benutzerdefinierten Schlüsselspeicher, ändern Sie die Cluster-ID des AWS CloudHSM-Schlüsselspeichers in die ID des neuen Clusters und versuchen Sie erneut, eine Verbindung herzustellen.
Tipp
Um das Zurücksetzen des kmsuser-Passworts zu vermeiden, verwenden Sie die neueste Sicherung des AWS CloudHSM-Clusters.
-
USER_LOCKED_OUT
gibt an, dass das kmsuser-Kryptobenutzer (CU)-Konto aufgrund zu vieler fehlerhafter Passworteingaben aus dem zugehörigen AWS CloudHSM-Cluster ausgesperrt wurde. Für Unterstützung bei diesem Fehler vgl. Reparieren ungültiger kmsuser-Anmeldeinformationen.Um diesen Fehler zu beheben, trennen Sie den AWS CloudHSM-Schlüsselspeicher, und verwenden Sie den Befehl changePswd in cloudhsm_mgmt_util, um das
kmsuser
-Kontopasswort zu ändern. Bearbeiten Sie dann die kmsuser-Passworteinstellung für den Custom Key Store, und versuchen Sie erneut, eine Verbindung herzustellen. Falls Sie Hilfe benötigen, verwenden Sie die Vorgehensweise aus dem Thema Reparieren ungültiger kmsuser-Anmeldeinformationen. -
USER_LOGGED_IN
gibt an, dass daskmsuser
-CU-Konto beim zugehörigen AWS CloudHSM-Cluster angemeldet ist. Dadurch wird AWS KMS daran gehindert, daskmsuser
-Kontopasswort zu rotieren und sich beim Cluster anzumelden. Melden Sie denkmsuser
-CU vom Cluster ab, um diesen Fehler zu beheben. Wenn Sie daskmsuser
-Kennwort für die Anmeldung beim Cluster geändert haben, müssen Sie auch den Passwortwert für den AWS CloudHSM-Schlüsselspeicher aktualisieren. Weitere Informationen dazu finden Sie unter Abmelden und erneutes Verbinden. -
USER_NOT_FOUND
gibt an, dass AWS KMS keinkmsuser
-CU-Konto im zugeordneten AWS CloudHSM-Cluster findet. Um diesen Fehler zu beheben, erstellen Sie ein kmsuser CU-Konto im Cluster, und aktualisieren Sie dann den Passwortwert für den AWS CloudHSM-Schlüsselspeicher. Weitere Informationen dazu finden Sie unter Reparieren ungültiger kmsuser-Anmeldeinformationen.
Wie man auf Fehler bei kryptografischen Produktionen reagiert
Eine kryptografische Produktion, die einen KMS-Schlüssel in einem benutzerdefinierten Schlüsselspeicher verwendet, schlägt möglicherweise mit einem KMSInvalidStateException
fehl. Die folgenden Fehlermeldungen könnten dem KMSInvalidStateException
beiliegen.
KMS kann nicht mit Ihrem CloudHSM-Cluster kommunizieren. Dies könnte ein vorübergehendes Netzwerkproblem sein. Wenn dieser Fehler wiederholt auftritt, überprüfen Sie, ob die Netzwerk-ACLs und die Sicherheitsgruppenregeln für die VPC des AWS CloudHSM-Clusters korrekt sind. |
-
Obwohl dies ein HTTPS-400-Fehler ist, kann es auf vorübergehende Netzwerkprobleme zurückzuführen sein. Um zu antworten, versuchen Sie zunächst die Anforderung erneut. Wenn es jedoch weiterhin fehlschlägt, überprüfen Sie die Konfiguration der Netzwerkkomponenten. Dieser Fehler wird höchstwahrscheinlich durch die Fehlkonfiguration einer Netzwerkkomponente verursacht, z. B. eine Firewall-Regel oder eine VPC -Sicherheitsgruppen-Regel, die ausgehenden Datenverkehr blockiert.
KMS kann nicht mit dem AWS CloudHSM-Cluster kommunizieren, da der kmsuser gesperrt ist. Wenn dieser Fehler wiederholt auftritt, trennen Sie die Verbindung zum AWS CloudHSM-Schlüsselspeicher und setzen Sie das Passwort für das kmsuser-Konto zurück. Aktualisieren Sie das kmsuser-Passwort für den benutzerdefinierten Schlüsselspeicher und versuchen Sie es erneut mit der Anfrage. |
-
Diese Fehlermeldung gibt an, dass das kmsuser-Crypto-Benutzer (CU)-Konto aufgrund zu vieler fehlerhafter Passworteingaben aus dem zugehörigen AWS CloudHSM-Cluster ausgesperrt wurde. Für Unterstützung bei diesem Fehler vgl. Trennen und Anmelden.
Reparieren ungültiger kmsuser
-Anmeldeinformationen
Wenn Sie einen AWS CloudHSM-Schlüsselspeicher verbinden, meldet AWS KMS sich bei dem zugeordneten AWS CloudHSM-Cluster als kmsuser-Kryptobenutzer (Crypto User, CU) an. Die Anmeldung bleibt bestehen, bis der AWS CloudHSM-Schlüsselspeicher getrennt wird. Die Antwort DescribeCustomKeyStores meldet ConnectionState
als FAILED
und ConnectionErrorCode
mit dem Wert INVALID_CREDENTIALS
(siehe folgendes Beispiel).
Wenn Sie den AWS CloudHSM-Schlüsselspeicher trennen und das kmsuser
-Passwort ändern, kann sich AWS KMS nicht beim AWS CloudHSM-Cluster mit den Anmeldeinformationen des kmsuser
-CU-Kontos anmelden. Dies hat zur Folge, dass alle Versuche, den AWS CloudHSM-Schlüsselspeicher zu verbinden, fehlschlagen. Die Antwort DescribeCustomKeyStores
meldet ConnectionState
als FAILED
und ConnectionErrorCode
mit dem Wert INVALID_CREDENTIALS
(siehe folgendes Beispiel).
$
aws kms describe-custom-key-stores --custom-key-store-name
ExampleKeyStore
{ "CustomKeyStores": [ "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionErrorCode": "INVALID_CREDENTIALS" "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "TrustAnchorCertificate": "
<certificate string appears here>
", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" ], }
Weiterhin gilt, dass, AWS CloudHSM nach fünf fehlgeschlagenen Anmeldeversuchen bei dem Cluster mit einem inkorrekten Passwort das Benutzerkonto sperrt. Zur Anmeldung bei dem Cluster müssen Sie das Kontopasswort ändern.
Wenn AWS KMS beim Versuch zur Anmeldung bei dem Cluster als kmsuser
-CU eine Lockout-Antwort erhält, schlägt der Verbindungsversuch für den AWS CloudHSM-Schlüsselspeicher fehl. Die DescribeCustomKeyStores Antwort enthält einen ConnectionState
von FAILED
und einen ConnectionErrorCode
Wert von USER_LOCKED_OUT
, wie im folgenden Beispiel gezeigt.
$
aws kms describe-custom-key-stores --custom-key-store-name
ExampleKeyStore
{ "CustomKeyStores": [ "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionErrorCode": "USER_LOCKED_OUT" "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "TrustAnchorCertificate": "
<certificate string appears here>
", "CreationDate": "1.499288695918E9", "ConnectionState": "FAILED" ], }
Gehen Sie zum Beheben eines dieser Zustände wie folgt vor.
-
Führen Sie die -DescribeCustomKeyStoresOperation aus und zeigen Sie den Wert des -
ConnectionErrorCode
Elements in der Antwort an.-
Wenn der
ConnectionErrorCode
-WertINVALID_CREDENTIALS
ist, ermitteln Sie das aktuelle Passwort für daskmsuser
-Konto. Verwenden Sie bei Bedarf den Befehl changePswd in cloudhsm_mgmt_util, um das Passwort auf einen bekannten Wert zu setzen. -
Wenn der
ConnectionErrorCode
-WertUSER_LOCKED_OUT
ist, müssen Sie den Befehl changePswd in cloudhsm_mgmt_util verwenden, um daskmsuser
-Passwort zu ändern.
-
-
Bearbeiten Sie die kmsuser Passworteinstellung, so dass sie dem aktuellen
kmsuser
-Passwort in dem Cluster entspricht. Diese Aktion weist AWS KMS an, welches Passwort für die Anmeldung bei dem Cluster zu verwenden ist. Daskmsuser
-Passwort in dem Cluster wird nicht geändert.
Löschen von verwaistem Schlüsselmaterial
Nach der Planung der Löschung eines KMS-Schlüssels aus einem AWS CloudHSM-Schlüsselspeicher müssen Sie möglicherweise das entsprechende Schlüsselmaterial manuell aus dem zugehörigen AWS CloudHSM-Cluster löschen.
Wenn Sie einen KMS-Schlüssel in einem AWS CloudHSM-Schlüsselspeicher erstellen, erstellt AWS KMS die KMS-Schlüssel-Metadaten in AWS KMS und generiert das Schlüsselmaterial in dem zugeordneten AWS CloudHSM-Cluster. Wenn Sie die Löschung eines KMS-Schlüssels in einem AWS CloudHSM-Schlüsselspeicher planen, löscht AWS KMS nach der Wartezeit die KMS-Schlüssel-Metadaten. Anschließend versucht AWS KMS unter Verwendung aller verfügbaren Methoden, das Schlüsselmaterial aus dem zugehörigen AWS CloudHSM-Cluster zu löschen. Der Versuch kann fehlschlagen, wenn AWS KMS nicht auf den Cluster zugreifen kann, z. B. wenn die Verbindung zum AWS CloudHSM-Schlüsselspeicher getrennt wurde oder sich das kmsuser
Kennwort geändert hat. AWS KMS versucht nicht, das Material des Schlüssels aus Clustersicherungen zu löschen.
AWS KMS meldet die Ergebnisse des Versuchs, das Schlüsselmaterial aus dem Cluster im DeleteKey
-Eventeintrag Ihrer AWS CloudTrail-Protokolle zu löschen. Es erscheint im backingKeysDeletionStatus
-Element des additionalEventData
-Elements, wie im folgenden Beispieleintrag gezeigt. Der Eintrag enthält die KMS-Schlüssel-ID, die AWS CloudHSM-Cluster-ID und den Schlüssel-Handle des Schlüsselmaterials (backing-key-id
).
{ "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "invokedBy": "AWS Internal" }, "eventTime": "2021-12-10T14:23:51Z", "eventSource": "kms.amazonaws.com", "eventName": "DeleteKey", "awsRegion": "eu-west-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "additionalEventData": { "customKeyStoreId": "cks-1234567890abcdef0", "clusterId": "cluster-1a23b4cdefg", "backingKeys": "[{\"keyHandle\":\"01\",\"backingKeyId\":\"
backing-key-id
\"}]", "backingKeysDeletionStatus": "[{\"keyHandle\":\"16\",\"backingKeyId\":\"backing-key-id
\",\"deletionStatus\":\"FAILURE\"}]" }, "eventID": "c21f1f47-f52b-4ffe-bff0-6d994403cf40", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "managementEvent": true, "eventCategory": "Management" }
Gehen Sie zum Löschen des Schlüsselmaterials von dem zugehörigen AWS CloudHSM-Cluster etwa wie folgt vor. Dieses Beispiel verwendet die Befehlszeilen-Tools AWS CLI und AWS CloudHSM, Sie können stattdessen aber auch die AWS Management Console verwenden.
-
Trennen Sie, falls noch nicht geschehen, den AWS CloudHSM-Schlüsselspeicher, und melden Sie sich dann bei key_mgmt_util an, wie in Trennen und Anmelden erläutert.
-
Verwenden Sie den Befehl deleteKey in key_mgmt_util, um den Schlüssel von den HSMs in dem Cluster zu löschen.
Beispielsweise löscht dieser Befehl den Schlüssel
262162
von den HSMs in dem Cluster. Das Schlüssel-Handle ist im CloudTrail Protokolleintrag aufgeführt.Command:
deleteKey -k
262162
Cfm3DeleteKey returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
-
Melden Sie sich von key_mgmt_util ab, und verbinden Sie den AWS CloudHSM-Schlüsselspeicher wieder wie in Abmelden und erneutes Verbinden beschrieben.
Wiederherstellen von gelöschtem Schlüsselmaterial für einen KMS-Schlüssel
Wenn das Schlüsselmaterial für einen AWS KMS key gelöscht wird, kann der KMS-Schlüssel nicht verwendet werden und der gesamte Chiffretext, der unter dem KMS-Schlüssel verschlüsselt wurde, kann nicht entschlüsselt werden. Dies kann der Fall sein, wenn das Schlüsselmaterial für einen KMS-Schlüssel in einem AWS CloudHSM-Schlüsselspeicher aus dem zugeordneten AWS CloudHSM-Cluster gelöscht wurde. Es kann jedoch möglich sein, das Schlüsselmaterial wiederherzustellen.
Wenn Sie einen AWS KMS key (KMS-Schlüssel) in einem AWS CloudHSM-Schlüsselspeicher erstellen, meldet sich AWS KMS im zugeordneten AWS CloudHSM-Cluster an und erstellt das Schlüsselmaterial für den KMS-Schlüssel. Dazu ändert es das Passwort zu einem Wert, der nur ihm bekannt ist, und bleibt angemeldet, bis der AWS CloudHSM-Schlüsselspeicher verbunden wird. Da nur der Eigentümer des Schlüssels, d.h. der CU, der den Schlüssel erstellt hat, diesen löschen kann, ist es unwahrscheinlich, dass der Schlüssel versehentlich von den HSMs gelöscht wird.
Wenn jedoch das Schlüsselmaterial für einen KMS-Schlüssel von den HSMs in einem Cluster gelöscht wird, wechselt der Schlüsselstatus des KMS-Schlüssels schließlich zu UNAVAILABLE
. Wenn Sie versuchen, den KMS-Schlüssel für eine kryptographische Operation zu verwenden, schlägt die Operation mit einer KMSInvalidStateException
-Ausnahme fehl. Wichtig dabei ist, dass die mit dem KMS-Schlüssel verschlüsselten Daten nicht mehr entschlüsselt werden können.
Unter bestimmten Umständen können Sie das gelöschte Schlüsselmaterial wiederherstellen, indem Sie einen Cluster aus einem Backup erstellen, das das Schlüsselmaterial enthält. Diese Strategie funktioniert nur, wenn mindestens eine Sicherung erstellt wurde, während der Schlüssel vorhanden war und bevor er gelöscht wurde.
Gehen Sie wie folgt vor, um das Schlüsselmaterial wiederherzustellen.
-
Suchen Sie ein Cluster-Backup, das das Schlüsselmaterial enthält. Die Sicherung muss dazu alle Benutzer und Schlüssel enthalten, die zur Unterstützung des Clusters und seiner verschlüsselten Daten erforderlich sind.
Verwenden Sie die -DescribeBackupsOperation, um die Backups für einen Cluster aufzulisten. Verwenden Sie dann den Sicherung-Zeitstempel, um eine Sicherung auszuwählen. Um die Ausgabe auf den Cluster zu beschränken, der mit dem AWS CloudHSM-Schlüsselspeicher verbunden ist, verwenden Sie den Parameter
Filters
, wie im folgenden Beispiel gezeigt.$
aws cloudhsmv2 describe-backups --filters clusterIds=
<cluster ID>
{ "Backups": [ { "ClusterId": "cluster-1a23b4cdefg", "BackupId": "backup-9g87f6edcba", "CreateTimestamp": 1536667238.328, "BackupState": "READY" }, ... ] }
-
Erstellen Sie einen Cluster aus der ausgewählten Sicherung. Prüfen Sie, ob die Sicherung den gelöschten Schlüssel sowie weitere Benutzer und Schlüssel enthält, die für den Cluster erforderlich sind.
-
Trennen Sie den AWS CloudHSM-Schlüsselspeicher, damit Sie seine Eigenschaften bearbeiten können.
-
Bearbeiten Sie die Cluster-ID des AWS CloudHSM-Schlüsselspeichers. Geben Sie die Cluster-ID des Clusters ein, den Sie aus der Sicherung erstellt haben. Da der Cluster seinen Sicherungsverlauf mit dem ursprünglichen Cluster gemeinsam hat, sollte die neue Cluster-ID gültig sein.
Anmeldung als kmsuser
Um Schlüsselmaterial in dem AWS CloudHSM-Cluster für Ihren AWS CloudHSM-Schlüsselspeicher zu erstellen und zu verwalten, verwendet AWS KMS das kmsuser-Kryptobenutzer-Konto (CU). Sie erstellen das kmsuser-CU-Konto in Ihrem Cluster und übergeben dessen Passwort an AWS KMS, wenn Sie Ihren AWS CloudHSM-Schlüsselspeicher erstellen.
Generell verwaltet AWS KMS das kmsuser
-Konto. Für einige Aufgaben müssen Sie jedoch den AWS CloudHSM-Schlüsselspeicher trennen, sich bei dem Cluster als kmsuser
-CU anmelden und die Befehlszeilen-Tools cloudhsm_mgmt_util und key_mgmt_util verwenden.
Anmerkung
Sämtliche Versuche, KMS-Schlüssel in einem benutzerdefinierten Schlüsselspeicher zu erstellen oder vorhandene KMS-Schlüssel in kryptografischen Produktionen zu nutzen, schlagen fehl, während der benutzerdefinierte Schlüsselspeicher getrennt ist. Diese Aktion kann verhindern, dass Benutzer vertrauliche Daten speichern und darauf zugreifen.
In diesem Thema wird erläutert, wie Sie Ihren AWS CloudHSM-Schlüsselspeicher trennen und sich als kmsuser anmelden, das AWS CloudHSM-Befehlszeilen-Tool ausführen und sich abmelden und Ihren AWS CloudHSM-Schlüsselspeicher wieder verbinden.
Trennen und Anmelden
Gehen Sie jedes Mal wie folgt vor, wenn Sie sich bei einem zugehörigen Cluster als kmsuser
-CU anmelden müssen.
-
Trennen Sie den AWS CloudHSM-Schlüsselspeicher, falls noch nicht geschehen. Sie können die AWS KMS-Konsole oder die AWS KMS-API verwenden.
Während Ihrer AWS CloudHSM Schlüssel verbunden ist, wird AWS KMS als
kmsuser
angemeldet. Dadurch wird verhindert, dass Sie sich alskmsuser
anmelden oder daskmsuser
-Passwort ändern.Dieser Befehl verwendet beispielsweise , DisconnectCustomKeyStore um einen Beispiel-Schlüsselspeicher zu trennen. Ersetzen Sie die Beispiel-ID des AWS CloudHSM-Schlüsselspeichers durch eine gültige ID.
$
aws kms disconnect-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
-
Starten Sie cloudhsm_mgmt_util. Verwenden Sie das im Abschnitt Vorbereitung zur Ausführung von cloudhsm_mgmt_util des AWS CloudHSM-Benutzerhandbuch beschriebene Verfahren.
-
Melden Sie sich bei cloudhsm_mgmt_util auf dem AWS CloudHSM-Cluster als Verschlüsselungsverantwortlicher (Crypto Officer, CO) an.
Dieser Befehl führt beispielsweise zur Anmeldung eines COs namens „admin“. Ersetzen Sie den Beispiel-CO-Benutzernamen und das Passwort durch gültige Werte.
aws-cloudhsm>
loginHSM CO
admin
<password>
loginHSM success on server 0(10.0.2.9) loginHSM success on server 1(10.0.3.11) loginHSM success on server 2(10.0.1.12)
-
Verwenden Sie den Befehl changePswd, um das Passwort des
kmsuser
-Kontos zu einem Passwort zu ändern, das Sie kennen. (AWS KMS rotiert das Passwort, wenn Sie Ihren AWS CloudHSM-Schlüsselspeicher verbinden.) Das Passwort muss 7 – 32 alphanumerische Zeichen umfassen. Bei der Angabe wird zwischen Groß- und Kleinschreibung unterschieden, Sonderzeichen sind nicht zulässig.Beispielsweise ändert dieser Befehl das
kmsuser
-Passwort zutempPassword
.aws-cloudhsm>
changePswd CU kmsuser
tempPassword
*************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. Cav server does NOT synchronize these changes with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Changing password for kmsuser(CU) on 3 nodes
-
Melden Sie sich bei key_mgmt_util oder cloudhsm_mgmt_util als
kmsuser
mit dem von ihnen eingerichteten Passwort an. Detaillierte Anleitungen finden Sie unter Erste Schritte mit cloudhsm_mgmt_util und Erste Schritte mit key_mgmt_util. Das Tool, das Sie verwenden, hängt von Ihrer Aufgabe ab.Beispielsweise führt dieser Befehl zur Anmeldung bei key_mgmt_util.
Command:
loginHSM -u CU -s kmsuser -p
tempPassword
Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
Abmelden und erneutes Verbinden
-
Führen Sie die Aufgabe durch, und melden Sie sich dann von dem Befehlszeilen-Tool ab. Wenn Sie sich nicht abmelden, schlagen Versuche, Ihren AWS CloudHSM-Schlüsselspeicher wieder zu verbinden, fehl.
Command:
logoutHSM
Cfm3LogoutHSM returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
-
Bearbeiten Sie die kmsuser-Passworteinstellung für den Custom Key Store.
Dadurch wird AWS KMS das aktuelle Passwort für
kmsuser
in dem Cluster mitgeteilt. Wenn Sie diesen Schritt auslassen, kann sich AWS KMS nicht bei dem Cluster alskmsuser
anmelden, und alle Versuche, ihren Custom Key Store wieder zu verbinden, schlagen fehl. Sie können die -AWS KMSKonsole oder den -KeyStorePassword
Parameter der -UpdateCustomKeyStoreOperation verwenden.Beispielsweise teilt dieser Befehl AWS KMS mit, dass das aktuelle Passwort
tempPassword
ist. Ersetzen Sie das Beispielpasswort durch das tatsächliche Passwort.$
aws kms update-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
--key-store-passwordtempPassword
-
Verbinden Sie den AWS KMS-Schlüsselspeicher wieder mit dessen AWS CloudHSM-Cluster. Ersetzen Sie die Beispiel-ID des AWS CloudHSM-Schlüsselspeichers durch eine gültige ID. Während des Verbindungsvorgangs ändert AWS KMS das
kmsuser
-Passwort zu einem Wert, der nur ihm bekannt ist.Der ConnectCustomKeyStore Vorgang kehrt schnell zurück, aber der Verbindungsprozess kann einen längeren Zeitraum in Anspruch nehmen. Die erste Reaktion ist kein Zeichen für den Erfolg des Verbindungsvorgangs.
$
aws kms connect-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
-
Verwenden Sie die -DescribeCustomKeyStoresOperation, um zu überprüfen, ob der -AWS CloudHSMSchlüsselspeicher verbunden ist. Ersetzen Sie die Beispiel-ID des AWS CloudHSM-Schlüsselspeichers durch eine gültige ID.
In diesem Beispiel zeigt das Verbindungsfeld, dass der AWS CloudHSM-Schlüsselspeicher jetzt verbunden ist.
$
aws kms describe-custom-key-stores --custom-key-store-id
cks-1234567890abcdef0
{ "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "
<certificate string appears here>
", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }