In base alla documentazione di AWS, per accedere alle risorse AWS a livello di programmazione o tramite CLI, può generare una chiave di accesso nella console AWS come:
Access Key ID: AKIAIOSFODNN7EXAMPLE
Secret Access Key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
E si dice nel documento:
- Choose Download Credentials, and store the keys in a secure location.
Your secret key will no longer be available through the AWS Management Console; you will have the only copy.
Poiché AWS non memorizza la chiave di accesso segreta, mi chiedo come l'ID della chiave di accesso, la chiave di accesso segreta possa essere generato internamente e in che modo un accesso API / CLI possa essere autenticato in modo sicuro.
Penso che AWS possa:
- genera un ID della chiave di accesso in modo casuale
- utilizza una chiave interna in AWS con un algoritmo crittografico per generare la chiave di accesso segreta
- quando autenticare una richiesta, applicare la stessa chiave interna e lo stesso algoritmo all'ID della chiave di accesso e verificare se il risultato calcolato è il tasto di accesso segreto
Ma io sono lontano da un esperto di sicurezza e vorrei sapere come questo potrebbe essere fatto in AWS in produzione. Grazie.