aws-vault exec jonsmith -- aws s3 ls
記事:
Linux: Ubuntu on WSL2の場合:
VER=v7.2.0 wget -O ~/bin/aws-vault https://github.com/99designs/aws-vault/releases/download/$VER/aws-vault-linux-amd64 chmod +x ~/bin/aws-vault aws-vault --version v7.2.0
# エラー aws-vault add user1 aws-vault: error: Specified keyring backend not available, try --help
# ~/.bashrc に追加 export AWS_VAULT_BACKEND=file #export AWS_VAULT_FILE_PASSPHRASE=your-passphrase export AWS_SESSION_TOKEN_TTL=12h eval "$(aws-vault --completion-script-bash)"
# gpg鍵の作成 gpg --gen-key gpg --list-keys # passをインストール sudo apt install pass pass init user1 # ~/.bashrc に追加 export AWS_VAULT_BACKEND=pass export AWS_VAULT_PASS_PREFIX=aws-vault export AWS_SESSION_TOKEN_TTL=12h eval "$(aws-vault --completion-script-bash)"
# ~/.aws/credentialsにsecret keyがある場合は削除 vim ~/.aws/credentials -- - aws_access_key_id=... - aws_secret_access_key=... -- vim ~/.aws/config -- [default] sts_regional_endpoints = regional [profile login] output = json region = ap-northeast-1 mfa_serial = arn:aws:iam::123456789012:mfa/user1 credential_process=aws-vault exec login1 --json --prompt=terminal --duration 12h [profile profile1] output = json region = ap-northeast-1 role_arn = arn:aws:iam::123456789013:role/role-admin source_profile = login --
# 登録 aws-vault add login1 # profile切替 aws-vault exec login1 # 確認: 一時セッションが設定されている env | grep AWS_ # 一覧 aws-vault list # セッションの削除 aws-vault clear # ~/.password-store/aws-vault/ に".gpg"が保存されている
# credential_process未設定の場合 aws-vault exec login --no-session -- aws sts get-caller-identity ... Enter MFA code for arn:aws:iam::123456789012:mfa/user1 # credential_process設定済みの場合、使用方法は変わらない aws sts get-caller-identity --profile login
aws-vault help grep -lf dbus-daemon 2579 dbus-daemon 2584 dbus-daemon
pkill dbus-daemon
# This is a fix for the problem of an increasing number of dbus-daemon processes. if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then eval $(dbus-launch --sh-syntax) echo "export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS" > ~/.dbus-session echo "export DBUS_SESSION_BUS_PID=$DBUS_SESSION_BUS_PID" >> ~/.dbus-session else if [ -f ~/.dbus-session ]; then source ~/.dbus-session fi fi