Quorum-Authentifizierung für Admins verwenden: erstmalige Einrichtung - 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.

Quorum-Authentifizierung für Admins verwenden: erstmalige Einrichtung

In den folgenden Themen werden die Schritte beschrieben, die Sie durchführen müssen, um Ihr Hardware-Sicherheitsmodul (HSM) so zu konfigurieren, dass Administratoren die Quorum-Authentifizierung verwenden können. Sie müssen diese Schritte nur einmal ausführen, wenn Sie die Quorum-Authentifizierung für Admins zum ersten Mal konfigurieren. Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit Quorum-Authentifizierung für Administratoren verwenden fort.

Voraussetzungen

Um dieses Beispiel zu verstehen, sollten Sie mit der CloudHSM-CLI vertraut sein. In diesem Beispiel hat der AWS CloudHSM Cluster zwei HSMs mit jeweils denselben Administratoren, wie in der folgenden Ausgabe des Befehls dargestellt. user list Weitere Informationen zum Erstellen von Benutzern finden Sie unter Verwenden der CloudHSM CLI.

aws-cloudhsm>user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Erstellen und Registrieren eines Schlüssels für das Signieren

Um die Quorum-Authentifizierung zu verwenden, muss jeder Administrator alle der folgenden Schritte ausführen:

Erstellen eines RSA-Schlüsselpaares

Es gibt viele verschiedene Möglichkeiten, ein Schlüsselpaar zu erstellen und zu schützen. In den folgenden Beispielen wird gezeigt, wie dies mit OpenSSL durchgeführt wird.

Beispiel – Erstellen eines privaten Schlüssels mit OpenSSL

Im folgenden Beispiel wird gezeigt, wie OpenSSL verwendet wird, um einen 2048-Bit-RSA-Schlüssel zu erstellen, der durch eine Pass-Phrase geschützt ist. Ersetzen Sie, um dieses Beispiel zu verwenden, <admin.key> durch den Namen der Datei, in der Sie den Schlüssel speichern möchten.

$ openssl genrsa -out <admin.key> -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for admin.key: Verifying - Enter pass phrase for admin.key:

Generieren eines öffentlichen Schlüssels mit dem privaten Schlüssel, den Sie gerade erstellt haben.

Beispiel – Erstellen Sie einen öffentlichen Schlüssel mit OpenSSL

Das folgende Beispiel zeigt, wie Sie OpenSSL verwenden, um einen öffentlichen Schlüssel aus dem privaten Schlüssel zu erstellen, den Sie gerade erstellt haben.

$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub Enter pass phrase for admin.key: writing RSA key

Erstellen und signieren Sie ein Registrierungstoken

Sie erstellen ein Token und signieren es mit dem privaten Schlüssel, den Sie gerade im vorherigen Schritt generiert haben.

Beispiel – Erstellen Sie ein Registrierungstoken
  1. Verwenden Sie den folgenden Befehl, um die CloudHSM-CLI zu starten:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Erstellen Sie ein Registrierungstoken, indem Sie den Befehl quorum token-sign generate ausführen:

    aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile { "error_code": 0, "data": { "path": "/path/tokenfile" } }
  3. Der Befehl quorum token-sign generate generiert ein Registrierungstoken im angegebenen Dateipfad. Untersuchen Sie die Tokendatei:

    $ cat /path/tokenfile{ "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": "" } ] }

    Die Tokendatei besteht aus Folgendem:

    • approval_data: Ein Base64-kodiertes zufälliges Datentoken, dessen Rohdaten das Maximum von 245 Byte nicht überschreiten.

    • unsigniert: Ein base64-kodiertes und SHA256-gehashtes Token der approval_data.

    • signiert: Ein base64-kodiertes signiertes Token (Signatur) des unsignierten Tokens, unter Verwendung des zuvor mit OpenSSL generierten privaten RSA-Schlüssels mit 2048 Bit.

    Sie signieren das unsignierte Token mit dem privaten Schlüssel, um nachzuweisen, dass Sie Zugriff auf den privaten Schlüssel haben. Sie benötigen die vollständig mit einer Signatur und dem öffentlichen Schlüssel aufgefüllte Registrierungstokendatei, um den Administrator als Quorumbenutzer im Cluster zu registrieren. AWS CloudHSM

Beispiel – Signieren Sie das unsignierte Registrierungstoken
  1. Dekodieren Sie das Base64-kodierte unsignierte Token und platzieren Sie es in einer Binärdatei:

    $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
  2. Verwenden Sie OpenSSL und den privaten Schlüssel, um das jetzt binäre unsignierte Registrierungstoken zu signieren und eine binäre Signaturdatei zu erstellen:

    $ openssl pkeyutl -sign \ -inkey admin.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
  3. Kodieren Sie die binäre Signatur in Base64:

    $ base64 -w0 admin.sig.bin > admin.sig.b64
  4. Kopieren Sie die Base64-kodierte Signatur und fügen Sie sie in die Token-Datei ein:

    { "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": <signed token in base64 encoding> } ] }

Registrieren Sie den öffentlichen Schlüssel beim HSM

Nach der Erstellung eines Schlüssels muss der Administrator den öffentlichen Schlüssel im AWS CloudHSM Cluster registrieren.

So registrieren Sie einen öffentlichen Schlüssel bei dem HSM
  1. Verwenden Sie den folgenden Befehl, um die CloudHSM-CLI zu starten:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Melden Sie sich mit der CloudHSM-CLI als Administrator an.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Verwenden Sie den Befehl user change-quorum token-sign register, um den öffentlichen Schlüssel zu registrieren. Weitere Informationen finden Sie im folgenden Beispiel. Alternativ können Sie auch den Befehl help user change-quorum token-sign register ausführen.

Beispiel — Registrieren Sie einen öffentlichen Schlüssel im AWS CloudHSM Cluster

Das folgende Beispiel zeigt, wie Sie den user change-quorum token-sign register-Befehl in CloudHSM CLI verwenden, um einen öffentlichen Schlüssel von admin im HSM zu registrieren. Der Admin muss bei dem HSM angemeldet sein, um diesen Befehl zu verwenden. Ersetzen Sie diese Werte durch Ihre eigenen Werte:

aws-cloudhsm > user change-quorum token-sign register --public-key </path/admin.pub> --signed-token </path/tokenfile> { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
Anmerkung

/path/admin.pub: Der Dateipfad zur PEM-Datei mit dem öffentlichen Schlüssel

Erforderlich: Ja

/path/tokenfile: Der Dateipfad mit dem Token, das mit dem privaten Schlüssel des Benutzers signiert wurde

Erforderlich: Ja

Nachdem alle Admins ihre öffentlichen Schlüssel registriert haben, zeigt die Ausgabe des user list-Befehls dies im Quorumfeld an und gibt an, welche aktivierte Quorum-Strategie verwendet wird, wie unten dargestellt:

aws-cloudhsm > user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Setzten des Quorum-Mindestwerts für das HSM

Um die Quorum-Authentifizierung zu verwenden, muss sich ein Administrator beim HSM anmelden und dann den Mindestwert für das Quorum festlegen. Dies ist die Mindestanzahl von Admin-Genehmigungen, die erforderlich sind, um HSM-Benutzermanagement-Vorgänge auszuführen. Jeder Administrator auf dem HSM kann den Mindestwert für das Quorum festlegen, auch Administratoren, die keinen Schlüssel zum Signieren registriert haben. Sie können den Quorum-Mindestwert jederzeit ändern. Weitere Informationen finden Sie unter Ändern Sie den Mindestwert.

So legen Sie den Quorum-Mindestwert im HSM fest
  1. Verwenden Sie den folgenden Befehl, um die CloudHSM-CLI zu starten:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Melden Sie sich mit der CloudHSM-CLI als Administrator an.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Verwenden Sie den Quorum-Token-Zeichen set-quorum-value-Befehl, um den Quorum-Mindestwert festzulegen. Weitere Informationen finden Sie im folgenden Beispiel. Alternativ können Sie auch den Befehl help quorum token-sign set-quorum-value ausführen.

Beispiel – Setzen des Quorum-Mindestwerts für das HSM

In diesem Beispiel wird ein Quorum-Mindestwert von zwei (2) verwendet. Sie können einen Wert zwischen zwei (2) und acht (8) wählen, bis zur Gesamtzahl der Administratoren auf dem HSM. In diesem Beispiel hat das HSM vier (4) Administratoren, sodass der maximal mögliche Wert vier (4) ist.

Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie die letzte Zahl (<2>) durch den bevorzugten Quorum-Mindestwert.

aws-cloudhsm > quorum token-sign set-quorum-value --service user --value <2> { "error_code": 0, "data": "Set quorum value successful" }

In diesem Beispiel identifiziert der Dienst den HSM-Dienst, dessen Quorum-Mindestwert Sie festlegen. Der Quorum-Token-Zeichen list-quorum-values-Befehl listet die HSM-Diensttypen, -namen und -beschreibungen auf, die im Dienst enthalten sind.

Admin-Dienste: Die Quorum-Authentifizierung wird für Dienste mit Administratorrechten verwendet, z. B. für das Erstellen von Benutzern, das Löschen von Benutzern, das Ändern von Benutzerkennwörtern, das Festlegen von Quorumwerten und das Deaktivieren von Quorum- und MFA-Funktionen.

Jeder Diensttyp wird weiter in einen qualifizierenden Dienstnamen unterteilt, der eine bestimmte Gruppe von Quorum-unterstützten Dienstvorgängen enthält, die ausgeführt werden können.

Service-Name Servicetyp Serviceoperationen
user Admin.
  • user create

  • user delete

  • user change-password

  • user change-mfa

quorum Admin.
  • Quorum-Tokenzeichen set-quorum-value

Um den Quorum-Mindestwert für einen Dienst abzurufen, verwenden Sie den quorum token-sign list-quorum-values-Befehl:

aws-cloudhsm > quorum token-sign list-quorum-values { "error_code": 0, "data": { "user": 2, "quorum": 1 } }

Die Ausgabe des vorangegangenen quorum token-sign list-quorum-values-Befehls zeigt, dass der Quorum-Mindestwert für den HSM-Benutzerdienst, der für die Benutzerverwaltungsvorgänge zuständig ist, jetzt zwei (2) beträgt. Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit Quorum verwenden (M von N) fort.