Die kann ma in seiner ~/.aws/credentials unverschlüsselt speichern. Zum Rumspielen ist das geeignet ... für den Einsatz im Enterprise-Umfeld aber ein echtes nogo. Zudem möchte man in diesem Umfeld auch 2-Factor-Authentifizierung verwenden. Man kommt hier nicht herum, in ~/.aws/config entsprechende Profile zu definieren:
aws-vault kann man so konfigurieren, dass der pass Passwortstore (oder auch die MacOS-Keychain) zur GPG-verschlüsselten Speicherung der Credentials in einer Datei auf der Festplatte verwendet wird. Der GPG-Key wird mit einer sicheren Passphrase geschützt.
Beim Kommando
aws-vault exec developer@devstage -- aws s3 ls
GPG-Key freischalten per interaktiver Passphrase Eingabe
die langlebigen Credentials AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY entschlüsseln
2FA-Token interaktiv entgegennehmen
temporäre Credentials in Form von AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY erzeugen und in der Shell zur Verfügung stellen
Letztlich stehen diese temporären Credentials dem Kommando aws s3 ls als Execution-Context zur Verfügung.
aws-vault.png
Dieser Ansatz hat nur einen kleine Haken:
die Auto-Vervollständigungen der CLIs funktionieren auf diese Weise nicht mehr
Man muss also aws s3 ls mit der Autovervollständigung zusammenbasteln und dann aws-vault exec developer@devstage -- davor hängen. Noch habe ich keine Lösung dafür gefunden.