Benutzerverwaltung mit aktivierter Quorum-Authentifizierung für die AWS CloudHSM Nutzung der Cloud HSM CLI - 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.

Benutzerverwaltung mit aktivierter Quorum-Authentifizierung für die AWS CloudHSM Nutzung der Cloud HSM CLI

Ein AWS CloudHSM Administrator des Hardware-Sicherheitsmoduls (HSM) kann die Quorumauthentifizierung für die folgenden Vorgänge im Cluster konfigurieren: AWS CloudHSM

Nachdem der AWS CloudHSM Cluster für die Quorum-Authentifizierung konfiguriert wurde, können Administratoren die HSM Benutzerverwaltung nicht mehr selbst durchführen. Das folgende Beispiel zeigt die Ausgabe, wenn ein Administrator versucht, einen neuen Benutzer auf dem zu erstellen. HSM Der Befehl schlägt fehl und es wird ein Fehler angezeigt, der besagt, dass eine Quorumauthentifizierung erforderlich ist.

aws-cloudhsm > user create --username user1 --role crypto-user Enter password: Confirm password: { "error_code": 1, "data": "Quorum approval is required for this operation" }

Um einen HSM Benutzerverwaltungsvorgang durchzuführen, muss ein Administrator die folgenden Aufgaben ausführen:

Schritt 1. Abrufen eines Quorum-Tokens

Zunächst muss der Administrator Cloud verwenden, HSM CLI um ein Quorum-Token anzufordern.

So fordern Sie ein Quorum-Token an
  1. Verwenden Sie den folgenden Befehl, um Cloud HSM CLI zu starten.

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Verwenden Sie den login-Befehl und melden Sie sich beim Cluster als Administrator an.

    aws-cloudhsm>login --username admin --role admin
  3. Verwenden Sie zum Generieren eines Quorum-Tokens den Befehl quorum token-sign generate. Weitere Informationen finden Sie im folgenden Beispiel. Alternativ können Sie auch den Befehl help quorum token-sign generate ausführen.

Beispiel – Generieren Sie ein Quorum-Token

Dieses Beispiel ruft ein Quorum-Token für den Admin mit Benutzernamen admin ab und speichert das Token in einer Datei namens admin.token. Zum Verwenden des Beispielbefehls ersetzen Sie diese Werte durch Ihre eigenen:

  • <admin> — Der Name des Administrators, der das Token erhält. Dies muss derselbe Administrator sein, der bei dem angemeldet ist HSM und diesen Befehl ausführt.

  • <admin.token> — Der Name der Datei, die zum Speichern des Quorum-Tokens verwendet werden soll.

In dem folgenden Befehl gibt user den Namen des Dienstes an, für den Sie das Token, das Sie erzeugen, verwenden können. In diesem Fall ist das Token für HSM Benutzerverwaltungsoperationen (userDienst) bestimmt.

aws-cloudhsm > login --username <ADMIN> --role <ADMIN> --password <PASSWORD> { "error_code": 0, "data": { "username": "admin", "role": "admin" } } aws-cloudhsm > quorum token-sign generate --service user --token </path/admin.token> { "error_code": 0, "data": { "path": "/home/tfile" } }

Der quorum token-sign generate-Befehl generiert ein Quorum-Token für den Benutzerdienst im angegebenen Dateipfad. Die Tokendatei kann wie folgt überprüft werden:

$cat </path/admin.token> { "version": "2.0", "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA", "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=", "signatures": [] }

Die Tokendatei besteht aus Folgendem:

  • approval_data: Ein Base64-codiertes Rohdaten-Token, das von der generiert wurde. HSM

  • token: Ein Base64-kodiertes und -256-Hash-Token der approval_data SHA

  • Signaturen: Ein Array von Base64-codierten signierten Tokens (Signaturen) des Tokens ohne Vorzeichen, wobei jede Signatur eines Genehmiger die Form eines Objektliterals hat: JSON

    { "username": "<APPROVER_USERNAME>", "signature": "<APPROVER_RSA2048_BIT_SIGNATURE>" }

    Jede Signatur wird aus dem Ergebnis erstellt, das ein Genehmiger unter Verwendung seines entsprechenden privaten RSA 2048-Bit-Schlüssels erzielt hat, dessen öffentlicher Schlüssel bei.. registriert wurde. HSM

Es kann bestätigt werden, dass das generierte Quorum-Token für den Benutzerdienst im HSM Cloud-Cluster vorhanden ist, indem Sie den folgenden Befehl ausführen: quorum token-sign list

aws-cloudhsm > quorum token-sign list { "error_code": 0, "data": { "tokens": [ { "username": "admin", "service": "user", "approvals-required": { "value": 2 }, "number-of-approvals": { "value": 0 }, "token-timeout-seconds": { "value": 597 }, "cluster-coverage": "full" } ] } }

Die token-timeout-seconds-Zeit gibt den Zeitraum in Sekunden an, in dem ein generiertes Token genehmigt werden muss, bevor es abläuft.

Schritt 2. Unterschriften von genehmigenden Administratoren einholen

Ein Administrator, der ein Quorum-Token besitzt, muss das Token von anderen Admins genehmigen lassen. Für die Genehmigung nutzen die anderen Admins Ihren Signaturschlüssel zur kryptografischen Token-Signierung. Sie tun das außerhalb derHSM.

Es gibt viele verschiedene Möglichkeiten, ein Token zu signieren. Das folgende Beispiel zeigt, wie das mit Open gemacht wirdSSL. Um ein anderes Signaturtool zu verwenden, stellen Sie sicher, dass das Tool den privaten Schlüssel (Signaturschlüssel) des Administrators verwendet, um einen SHA -256-Digest des Tokens zu signieren.

Beispiel – Unterschriften von genehmigenden Administratoren einholen

In diesem Beispiel benötigt der Administrator, der das Token (admin) besitzt, mindestens zwei (2) Genehmigungen. Die folgenden Beispielbefehle zeigen, wie zwei (2) Administratoren Open verwenden können, um das Token kryptografisch SSL zu signieren.

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

    $echo -n '0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=' | base64 -d > admin.bin
  2. Verwenden Sie Open SSL und den jeweiligen privaten Schlüssel des Genehmigers, (admin3) um das jetzt binäre unsignierte Quorum-Token für den Benutzerservice zu signieren und eine binäre Signaturdatei zu erstellen:

    $openssl pkeyutl -sign \ -inkey admin3.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 abschließend die Base64-kodierte Signatur und fügen Sie sie in die Tokendatei ein. Folgen Sie dabei dem zuvor für die Signatur des JSON Genehmigers angegebenen Objektliteralformat:

    { "version": "2.0", "approval_data": "AAEAAwAAABgAAAAAAAAAAJ9eFkfcP3mNzJAlfK+OWbNhZG1pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj5vbeAAAAAAAAAAAAAQADAAAAFQAAAAAAAAAAW/v5Euk83amq1fij0zyvD2FkbWluAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPm9t4AAAAAAAAAAAABAAMAAAAUAAAAAAAAAABDw2XDwfK4hB8a15Xh1E0nYWRtaW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+b23gAAAAAAAAAA", "token": "0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=", "signatures": [ { "username": "admin2", "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw==" }, { "username": "admin3", "signature": "O6qx7/mUaVkYYVr1PW7l8JJko+Kh3e8zBIqdk3tAiNy+1rW+OsDtvYujhEU4aOFVLcrUFmyB/CX9OQmgJLgx/pyK+ZPEH+GoJGqk9YZ7X1nOXwZRP9g7hKV+7XCtg9TuDFtHYWDpBfz2jWiu2fXfX4/jTs4f2xIfFPIDKcSP8fhxjQ63xEcCf1jzGha6rDQMu4xUWWdtDgfT7um7EJ9dXNoHqLB7cTzphaubNaEFbFPXQ1siGmYKmvETlqe/ssktwyruGFLpXs1n0tJOEglGhx2qbYTs+omKWZdORl5WIWEXW3IXw/Dg5vVObrNpvG0eZKO8nSMc27+cyPySc+ZbNw==" } ] }

Schritt 3. Genehmigen Sie das Token auf dem AWS CloudHSM -Cluster und führen Sie einen Benutzerverwaltungsvorgang aus

Sobald ein Administrator über die erforderlichen Genehmigungen/Signaturen verfügt hat, wie im vorherigen Abschnitt beschrieben, kann er dieses Token zusammen mit einem der folgenden Benutzerverwaltungsvorgänge an den AWS CloudHSM -Cluster weitergeben:

Weitere Informationen zur Verwendung dieser Befehle finden Sie unter Benutzerverwaltung mit Cloud HSM CLI.

Während der Transaktion wird das Token innerhalb des AWS CloudHSM Clusters genehmigt und der angeforderte Benutzerverwaltungsvorgang ausgeführt. Der Erfolg des Benutzerverwaltungsvorgangs hängt sowohl von einem gültigen genehmigten Quorum-Token als auch von einem gültigen Benutzerverwaltungsvorgang ab.

Der Admin kann das Token nur für einen Vorgang nutzen. Wurde dieser erfolgreich ausgeführt, verliert das Token seine Gültigkeit. Um einen weiteren HSM Benutzerverwaltungsvorgang durchzuführen, muss der Administrator den oben beschriebenen Vorgang wiederholen. Das heißt, der Administrator muss ein neues Quorum-Token generieren, neue Signaturen von Genehmigern einholen und dann das neue Token für den angeforderten HSM Benutzerverwaltungsvorgang genehmigen und verwenden.

Anmerkung

Das Quorum-Token ist nur gültig, solange Ihre aktuelle Anmeldesitzung geöffnet ist. Wenn Sie sich von der Cloud abmelden HSM CLI oder die Netzwerkverbindung unterbrochen wird, ist das Token nicht mehr gültig. Ebenso kann ein autorisiertes Token nur innerhalb der Cloud HSM CLI verwendet werden. Es kann nicht zur Authentifizierung in einer anderen Anwendung verwendet werden.

Beispiel Einen neuen Benutzer als Administrator erstellen

Im folgenden Beispiel erstellt ein angemeldeter Administrator einen neuen Benutzer auf derHSM:

aws-cloudhsm > user create --username user1 --role crypto-user --approval /path/admin.token Enter password: Confirm password: { "error_code": 0, "data": { "username": "user1", "role": "crypto-user" } }

Der Administrator gibt dann den user list-Befehl ein, um die Erstellung des neuen Benutzers zu bestätigen:

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": "user1", "role": "crypto-user", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Wenn der Administrator versucht, einen weiteren HSM Benutzerverwaltungsvorgang durchzuführen, schlägt er mit einem Quorum-Authentifizierungsfehler fehl:

aws-cloudhsm > user delete --username user1 --role crypto-user { "error_code": 1, "data": "Quorum approval is required for this operation" }

Wie unten gezeigt, zeigt der quorum token-sign list-Befehl, dass der Administrator keine genehmigten Token hat. Um einen weiteren HSM Benutzerverwaltungsvorgang durchzuführen, muss der Administrator ein neues Quorum-Token generieren, neue Signaturen von Genehmigern einholen und den gewünschten Benutzerverwaltungsvorgang mit dem Argument --approval ausführen, um das Quorum-Token bereitzustellen, das während der Ausführung des Benutzerverwaltungsvorgangs genehmigt und verwendet werden soll.

aws-cloudhsm > quorum token-sign list { "error_code": 0, "data": { "tokens": [] } }