Gestione degli utenti con autenticazione del quorum abilitata per AWS CloudHSM l'utilizzo di Cloud HSM CLI - AWS CloudHSM

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione degli utenti con autenticazione del quorum abilitata per AWS CloudHSM l'utilizzo di Cloud HSM CLI

Un AWS CloudHSM amministratore del modulo di sicurezza hardware (HSM) può configurare l'autenticazione quorum per le seguenti operazioni nel cluster: AWS CloudHSM

Dopo aver configurato il AWS CloudHSM cluster per l'autenticazione del quorum, gli amministratori non possono eseguire autonomamente le operazioni di gestione HSM degli utenti. L'esempio seguente mostra l'output quando un amministratore tenta di creare un nuovo utente su. HSM Il comando ha esito negativo e viene restituito un errore che indica che è richiesta l'autenticazione del quorum.

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

Per eseguire un'operazione di gestione HSM degli utenti, un amministratore deve completare le seguenti attività:

Fase 1: Ottenere un token del quorum

Innanzitutto, l'amministratore deve utilizzare Cloud HSM CLI per richiedere un token di quorum.

Per ottenere un token del quorum
  1. Usa il seguente comando per avviare Cloud. HSM CLI

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Utilizza il comando login ed esegui l'accesso al cluster come amministratore.

    aws-cloudhsm>login --username admin --role admin
  3. Utilizza il comando quorum token-sign generate per generare un token del quorum. Per ulteriori informazioni, vedi l'esempio seguente oppure utilizza il comando help quorum token-sign generate.

Esempio - Generare un token del quorum

In questo esempio si ottiene un token del quorum per l'amministratore con il nome utente admin, che viene salvato nel file admin.token. Per utilizzare il comando di esempio, sostituisci i valori i tuoi personali:

  • <admin> — Il nome dell'amministratore che riceve il token. Deve essere lo stesso amministratore che ha effettuato l'accesso a HSM e sta eseguendo questo comando.

  • <admin.token> — Il nome del file da utilizzare per archiviare il token del quorum.

Nel comando seguente, user identifica il nome del servizio per cui potrai utilizzare il token che stai generando. In questo caso, il token serve per le operazioni di gestione HSM degli utenti (userservizio).

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" } }

Il comando quorum token-sign generate genera un token del quorum per il servizio utente nel percorso del file specificato. Il file del token può essere ispezionato:

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

Il file del token comprende:

  • approval_data: un token di dati grezzi codificato in base64 generato da. HSM

  • token: un token codificato in base64 e con hash -256 di approval_data SHA

  • firme: una serie di token firmati codificati in base64 (firme) del token non firmato, in cui ogni firma di un approvatore ha la forma di un oggetto letterale: JSON

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

    Ogni firma viene creata dal risultato di un approvatore che utilizza la corrispondente chiave privata a RSA 2048 bit la cui chiave pubblica è stata registrata presso.. HSM

È possibile confermare l'esistenza del token del quorum del servizio utente generato nel HSM cluster Cloud eseguendo il comando: 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" } ] } }

Il tempo token-timeout-seconds indica il periodo di timeout in secondi per l'approvazione di un token generato prima della scadenza.

Fase 2: Ottenere le firme dagli amministratori di approvazione

Un amministratore che dispone di un token del quorum deve ottenerne l'approvazione da parte di altri amministratori. Per concedere l'approvazione, gli altri amministratori utilizzano la chiave di firma per firmare crittograficamente il token. Lo fanno al di fuori del. HSM

Sono disponibili vari modi per firmare il token. L'esempio seguente mostra come farlo con Open SSL. Per utilizzare uno strumento di firma diverso, assicurati che lo strumento utilizzi la chiave privata dell'amministratore (chiave di firma) per firmare un digest SHA -256 del token.

Esempio - Ottenere le firme dagli amministratori di approvazione

In questo esempio, l'amministratore che dispone del token (admin) necessita di almeno due (2) approvazioni. I seguenti comandi di esempio mostrano come due (2) amministratori possono utilizzare Open SSL per firmare crittograficamente il token.

  1. Decodifica il token non firmato con codifica base64 e inseriscilo in un file binario:

    $echo -n '0l2LZkmAHZyAc1hPhyckOoVW33aGrgG77qmDHWQ3CJ8=' | base64 -d > admin.bin
  2. Utilizzate Open SSL e la rispettiva chiave privata dell'approvatore (admin3) per firmare il token non firmato del quorum, ora binario, per il servizio utente e creare un file di firma binario:

    $openssl pkeyutl -sign \ -inkey admin3.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
  3. Codifica la firma binaria in base64:

    $base64 -w0 admin.sig.bin > admin.sig.b64
  4. Infine, copia e incolla la firma codificata in base64 nel file token, seguendo il formato letterale dell'JSONoggetto specificato in precedenza per la firma dell'approvatore:

    { "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==" } ] }

Fase 3. Approva il token sul cluster AWS CloudHSM ed esegui un'operazione di gestione degli utenti

Dopo aver ottenuto le approvazioni/firme necessarie, come descritto nella sezione precedente, l'amministratore può fornire quel token al cluster AWS CloudHSM ed effettuare una delle seguenti operazioni di gestione degli utenti:

Per ulteriori informazioni sull'utilizzo di questi comandi, consulta Gestione degli utenti con Cloud HSM CLI.

Durante la transazione, il token verrà approvato all'interno del AWS CloudHSM cluster ed eseguirà l'operazione di gestione degli utenti richiesta. La riuscita dell'operazione di gestione degli utenti dipende sia da un token del quorum approvato valido e sia da un'operazione di gestione degli utenti valida.

L'amministratore può utilizzare il token per un'unica operazione. Quando tale operazione va a buon fine, il token non è più valido. Per eseguire un'altra operazione di gestione HSM degli utenti, l'amministratore deve ripetere la procedura sopra descritta. Cioè, l'amministratore deve generare un nuovo token quorum, ottenere nuove firme dagli approvatori e quindi approvare e utilizzare il nuovo token con l'operazione di gestione degli HSM utenti richiesta.

Nota

Il token del quorum è valido solo finché la sessione di accesso corrente è aperta. Se esci da Cloud HSM CLI o se la rete si disconnette, il token non è più valido. Allo stesso modo, un token autorizzato può essere utilizzato solo all'interno di Cloud HSMCLI. Non può essere utilizzato per l'autenticazione in un'applicazione diversa.

Esempio Creare un nuovo utente amministratore

Nell'esempio seguente, un amministratore che ha effettuato l'accesso crea un nuovo utente su: HSM

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" } }

L'amministratore immette quindi il comando user list per confermare la creazione del nuovo utente:

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" } ] } }

Se l'amministratore tenta di eseguire un'altra operazione di gestione HSM degli utenti, fallisce con un errore di autenticazione del quorum:

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

Come mostrato di seguito, il comando quorum token-sign list mostra che l'amministratore non ha token approvati. Per eseguire un'altra operazione di gestione HSM degli utenti, l'amministratore deve generare un nuovo token di quorum, ottenere nuove firme dagli approvatori ed eseguire l'operazione di gestione degli utenti desiderata con l'argomento --approval per fornire il token del quorum da approvare e utilizzare durante l'esecuzione dell'operazione di gestione degli utenti.

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