Configurazione della MFA per la CLI di CloudHSM - 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à.

Configurazione della MFA per la CLI di CloudHSM

Completa la procedura riportata di seguito per configurare la MFA per la CLI di CloudHSM.

  1. Per configurare la MFA utilizzando la strategia di firma tramite token, devi prima generare una chiave privata RSA a 2048 bit e la chiave pubblica associata.

    $ openssl genrsa -out officer1.key 2048 Generating RSA private key, 2048 bit long modulus (2 primes) ...........................................................+++++ ....................................................................+++++ e is 65537 (0x010001) $ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub writing RSA key
  2. Utilizzando la CLI di CloudHSM, accedi al tuo account utente.

    $ cloudhsm-cli interactive aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. 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:
  4. Ora hai un 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.

    $ cat unsigned-tokens.json { "version": "2.0", "tokens": [ { { "unsigned": "Vtf/9QOFY45v/E1osvpEMr59JsnP/hLDm4ItOO2vqL8=", "signed": "" }, { "unsigned": "wVbC0/5IKwjyZK2NBpdFLyI7BiayZ24YcdUdlcxLwZ4=", "signed": "" }, { "unsigned": "z6aW9RzErJBL5KqFG5h8lhTVt9oLbxppjod0Ebysydw=", "signed": "" } ] }
  5. Il passaggio successivo consiste nel firmare questi token con la chiave privata creata nel passaggio 1. Inserisci nuovamente le firme nel file. 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
  6. Ora hai token binari che puoi firmare utilizzando la chiave privata RSA creata nel passaggio 1.

    $ 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
  7. Adesso, hai le firme binarie dei token. Devi codificarli usando la base64 e reinserirli nel tuo file del 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
  8. Infine, puoi copiare e incollare 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==" } ] }
  9. 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 chiave pubblica.

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