99designs / aws-vault

A vault for securely storing and accessing AWS credentials in development environments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature Credentials Helper

1oglop1 opened this issue · comments

Hi, thank you for this project it has released a lot of friction working with awscli.

Background

I've been trying to run aws-vault on windows and WSL2 (ubuntu). After looking through the number of issues and it looks like developers using WSL have to fall back to pass.
There are several problems.

  • aws-vault profile exec -- program

Linux version in WSL initially fails with missing backend and user can configure pass, however, then the user has to duplicate their credentials in pass as well as Windows Credential Store (if they want to use the credentials in PowerShell).

On the other hand, installing a windows version of aws-vault and executing it from WSL will set environment variables in host Windows ENV instead gues Linux WSL. So aws-vault.exe profile exec -- linuxBinary results in linuxBinary is not in your %PATH% (because it is looking in windows path).

Feature Proposal

Give aws-vault the ability to use credential-helper program instead of just setting a backend.
I imagine this could work the same way as in git.

Because (Git credential manager)[https://github.com/GitCredentialManager/git-credential-manager] allows me to call windows binary from Linux git.

$ cat .gitconfig

[credential]
        helper = "/mnt/c/Program Files (x86)/Git Credential Manager/git-credential-manager-core.exe"
        
$ which git
/usr/bin/git 

Therefore I can use 1 set of credentials already present in the windows cred store.

USAGE.md says aws-vault supports Docker by providing credentials from the host via a proxy. So I see no reason that an aws-vault running in WSL2 could not have some way to get credentials from the Windows host's aws-vault installation.

Implemented in v7