Rotazione delle chiavi per gli utenti con MFA abilitata - 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à.

Rotazione delle chiavi per gli utenti con MFA abilitata

Segui la procedura per ruotare le chiavi per utenti con l’autenticazione MFA abilitata.

  1. Utilizza la CLI di CloudHSM per accedere all'HSM come amministratore o come utente specifico che ha abilitato la MFA (consulta Accesso degli utenti con MFA abilitata per maggiori dettagli).

  2. Esegui quindi il comando per modificare la tua strategia MFA. Devi fornire il parametro --token. Questo parametro specifica un file in cui verranno scritti token non firmati.

    aws-cloudhsm > user change-mfa token-sign --token unsigned-tokens.json --username <USERNAME> --role crypto-user --change-quorum Enter password: Confirm password:
  3. Identifica il file con token non firmati che devono essere firmati: unsigned-tokens.json. Il numero di token in questo file dipende dal numero di HSM nel cluster. Ogni token rappresenta un HSM. Questo file è in formato JSON e contiene token che devono essere firmati per dimostrare che disponi di una chiave privata. Questa sarà la nuova chiave privata della nuova coppia di chiavi pubblica/privata RSA utile per ruotare la chiave pubblica attualmente registrata.

    $cat unsigned-tokens.json { "version": "2.0", "tokens": [ { "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=", "signed": "" }, { "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=", "signed": "" }, { "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=", "signed": "" } ] }
  4. Firma questi token con la chiave privata creata in precedenza durante la configurazione. Per prima cosa, devi estrarre e decodificare i token codificati in base64.

    $ echo "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=" > token1.b64 $ echo "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=" > token2.b64 $ echo "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=" > token3.b64 $ base64 -d token1.b64 > token1.bin $ base64 -d token2.b64 > token2.bin $ base64 -d token3.b64 > token3.bin
  5. Ora hai dei token binari. Firmali utilizzando la chiave privata RSA creata in precedenza durante la configurazione.

    $ openssl pkeyutl -sign \ -inkey officer1.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in token1.bin \ -out token1.sig.bin $ openssl pkeyutl -sign \ -inkey officer1.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in token2.bin \ -out token2.sig.bin $ openssl pkeyutl -sign \ -inkey officer1.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in token3.bin \ -out token3.sig.bin
  6. Ora hai le firme binarie dei token. Codificali in base64 e inseriscili nuovamente nel tuo file token.

    $ base64 -w0 token1.sig.bin > token1.sig.b64 $ base64 -w0 token2.sig.bin > token2.sig.b64 $ base64 -w0 token3.sig.bin > token3.sig.b64
  7. Infine, copia e incolla nuovamente i valori base64 nel tuo file del token:

    { "version": "2.0", "tokens": [ { "unsigned": "1jqwxb9bJOUUQLiNb7mxXS1uBJsEXh0B9nj05BqnPsE=", "signed": "eiw3fZeCKIY50C4zPeg9Rt90M1Qlq3WlJh6Yw7xXm4nF6e9ETLE39+9M+rUqDWMRZjaBfaMbg5d9yDkz5p13U7ch2tlF9LoYabsWutkT014KRq/rcYMvFsU9n/Ey/TK0PVaxLN42X+pebV4juwMhN4mK4CzdFAJgM+UGBOj4yB9recpOBB9K8QFSpJZALSEdDgUc/mS1eDq3rU0int6+4NKuLQjpR+LSEIWRZ6g6+MND2vXGskxHjadCQ09L7Tz8VcWjKDbxJcBiGKvkqyozl9zrGo8fA3WHBmwiAgS61Merx77ZGY4PFR37+j/YMSC14prCN15DtMRv2xA1SGSb4w==" }, { "unsigned": "LMMFc34ASPnvNPFzBbMbr9FProS/Zu2P8zF/xzk5hVQ=", "signed": "HBImKnHmw+6R2TpFEpfiAg4+hu2pFNwn43ClhKPkn2higbEhUD0JVi+4MerSyvU/NN79iWVxDvJ9Ito+jpiRQjTfTGEoIteyuAr1v/Bzh+HjmrO53OQpZaJ/VXGIgApD0myuu/ZGNKQTCSkkL7+V81FG7yR1Nm22jUeGa735zvm/E+cenvZdy0VVx6A7WeWrl3JEKKBweHbi+7BwbaW+PTdCuIRd4Ug76Sy+cFhsvcG1k7cMwDh8MgXzIZ2m1f/hdy2j8qAxORTLlmwyUOYvPYOvUhc+s83hx36QpGwGcD7RA0bPT5OrTx7PHd0N1CL+Wwy91We8yIOFBS6nxo1R7w==" }, { "unsigned": "dzeHbwhiVXQqcUGj563z51/7sLUdxjL93SbOUyZRjH8=", "signed": "VgQPvrTsvGljVBFxHnswduq16x8ZrnxfcYVYGf/N7gEzI4At3GDs2EVZWTRdvS0uGHdkFYp1apHgJZ7PDVmGcTkIXVD2lFYppcgNlSzkYlftr5EOjqS9ZjYEqgGuB4g//MxaBaRbJai/6BlcE92NIdBusTtreIm3yTpjIXNAVoeRSnkfuw7wZcL96QoklNb1WUuSHw+psUyeIVtIwFMHEfFoRC0t+VhmnlnFnkjGPb9W3Aprw2dRRvFM3R2ZTDvMCiOYDzUCd43GftGq2LfxH3qSD51oFHglHQVOY0jyVzzlAvub5HQdtOQdErIeO0/9dGx5yot07o3xaGl5yQRhwA==" } ] }
  8. Ora che il tuo file del token ha tutte le firme richieste, puoi procedere. Inserisci il nome del file contenente i token firmati e premi il tasto INVIO. Inserisci poi il percorso della tua nuova chiave pubblica. Ora vedrai quanto segue come parte dell'output dell'elenco degli utenti.

    Enter signed token file path (press enter if same as the unsigned token file): Enter public key PEM file path:officer1.pub { "error_code": 0, "data": { "username": "<USERNAME>", "role": "crypto-user" } }

    A questo punto hai configurato il tuo utente con la MFA.

    { "username": "<USERNAME>", "role": "crypto-user", "locked": "false", "mfa": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" },