Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
aws-vault — 開発環境でAWS認証情報を安全に保存およびアクセスするためのVault | Kitploit
ツール/GitHubGitHub/99designs/aws-vault
クラウドインフラストラクチャセキュリティ汎用ユーティリティ暗号化/復号化ツールクラウドセキュリティDevSecOpsシークレット検出アイデンティティ&アクセス管理 (IAM)認証
GitHub99designs/aws-vault

aws-vault

開発環境でAWS認証情報を安全に保存およびアクセスするためのVault

リポジトリを見る
9.0k8279ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

AWS Vault

Downloads Continuous Integration

[!WARNING] このプロジェクトは放棄されており、これ以上の更新は行われません。更新の受信や コントリビュートを続けたい場合は、以下のアクティブなフォークを参照してください: https://github.com/ByteNess/aws-vault

AWS Vault は、開発環境で AWS 認証情報を安全に保存およびアクセスするためのツールです。

AWS Vault は IAM 認証情報をオペレーティングシステムのセキュアなキーストアに保存し、そこから一時的な認証情報を生成してシェルやアプリケーションに公開します。AWS CLI ツールを補完するように設計されており、~/.aws/config 内のプロファイルと設定を認識します。

詳細については、発表ブログ記事をご覧ください。

インストール

AWS Vault は以下の方法でインストールできます:

  • 最新リリースをダウンロードする
  • macOS で Homebrew を使用: brew install aws-vault
  • macOS で MacPorts を使用: port install aws-vault
  • Windows で Chocolatey を使用: choco install aws-vault
  • Windows で Scoop を使用: scoop install aws-vault
  • Linux で Homebrew on Linux を使用: brew install aws-vault
  • Arch Linux で: pacman -S aws-vault
  • Gentoo Linux で: emerge --ask app-admin/aws-vault (先に Guru を有効化)
  • FreeBSD で: pkg install aws-vault
  • OpenSUSE で: devel:languages:go リポジトリを有効化してから zypper install aws-vault
  • Nix で: nix-env -i aws-vault
  • asdf-vm で: asdf plugin-add aws-vault https://github.com/karancode/asdf-aws-vault.git && asdf install aws-vault <version>

ドキュメント

設定、使用方法、ヒントとコツは USAGE.md ファイルで確認できます。

Vault バックエンド

サポートされている Vault バックエンドは以下の通りです:

  • macOS Keychain
  • Windows Credential Manager
  • Secret Service (Gnome Keyring、KWallet)
  • KWallet
  • Pass
  • 暗号化ファイル

--backend フラグまたは AWS_VAULT_BACKEND 環境変数を使用して指定します。

クイックスタート

# Store AWS credentials for the "jonsmith" profile
$ aws-vault add jonsmith
Enter Access Key Id: ABDCDEFDASDASF
Enter Secret Key: %%%

# Execute a command (using temporary credentials)
$ aws-vault exec jonsmith -- aws s3 ls
bucket_1
bucket_2

# open a browser window and login to the AWS Console
$ aws-vault login jonsmith

# List credentials
$ aws-vault list
Profile                  Credentials              Sessions
=======                  ===========              ========
jonsmith                 jonsmith                 -

# Start a subshell with temporary credentials
$ aws-vault exec jonsmith
Starting subshell /bin/zsh, use `exit` to exit the subshell
$ aws s3 ls
bucket_1
bucket_2

仕組み

aws-vault は Amazon の STS サービスを使用して、GetSessionToken または AssumeRole API 呼び出しを介して一時的な認証情報を生成します。これらは短期間で期限切れになるため、認証情報が漏洩するリスクが軽減されます。

次に AWS Vault は、一時的な認証情報を以下の 2 つの方法のいずれかでサブプロセスに公開します。

  1. 環境変数がサブプロセスに書き込まれます。以下の例で AWS 認証情報がどのように書き出されるかに注目してください。
    $ aws-vault exec jonsmith -- env | grep AWS
    AWS_VAULT=jonsmith
    AWS_DEFAULT_REGION=us-east-1
    AWS_REGION=us-east-1
    AWS_ACCESS_KEY_ID=%%%
    AWS_SECRET_ACCESS_KEY=%%%
    AWS_SESSION_TOKEN=%%%
    AWS_CREDENTIAL_EXPIRATION=2020-04-16T11:16:27Z
    
  2. ローカルメタデータサーバーが起動されます。このアプローチには、Amazon の SDK を使用するあらゆるものが、必要に応じて自動的に認証情報を更新するという利点があるため、セッション時間を可能な限り短くすることができます。
    $ aws-vault exec --server jonsmith -- env | grep AWS
    AWS_VAULT=jonsmith
    AWS_DEFAULT_REGION=us-east-1
    AWS_REGION=us-east-1
    AWS_CONTAINER_CREDENTIALS_FULL_URI=%%%
    AWS_CONTAINER_AUTHORIZATION_TOKEN=%%%
    

デフォルトでは環境変数を使用しますが、exec コマンドの --server フラグを使用してローカルインスタンスメタデータサーバーをオプトインできます。

ロールと MFA

ベストプラクティスは、権限を委任するためのロールを作成することです。セキュリティのために、ユーザーが多要素認証 (MFA) デバイスから生成されたワンタイムキーを提供することも要求すべきです。

まず、IAM でユーザーとロールを作成し、MFA デバイスをセットアップする必要があります。その後、MFA を強制するように IAM ロールを設定できます。

以下は、ロールと MFA を使用した設定例です:

[default]
region = us-east-1

[profile jonsmith]
mfa_serial = arn:aws:iam::111111111111:mfa/jonsmith

[profile foo-readonly]
source_profile = jonsmith
role_arn = arn:aws:iam::22222222222:role/ReadOnly

[profile foo-admin]
source_profile = jonsmith
role_arn = arn:aws:iam::22222222222:role/Administrator
mfa_serial = arn:aws:iam::111111111111:mfa/jonsmith

[profile bar-role1]
source_profile = jonsmith
role_arn = arn:aws:iam::333333333333:role/Role1
mfa_serial = arn:aws:iam::111111111111:mfa/jonsmith

[profile bar-role2]
source_profile = bar-role1
role_arn = arn:aws:iam::333333333333:role/Role2
mfa_serial = arn:aws:iam::111111111111:mfa/jonsmith

aws-vault から期待できる動作は以下の通りです。

CommandCredentialsCachedMFA
aws-vault exec jonsmith --no-sessionLong-term credentialsNoNo
aws-vault exec jonsmithsession-tokensession-tokenYes
aws-vault exec foo-readonlyroleNoNo
aws-vault exec foo-adminsession-token + rolesession-tokenYes
aws-vault exec foo-admin --duration=2hroleroleYes
aws-vault exec bar-role2session-token + role + rolesession-tokenYes
aws-vault exec bar-role2 --no-sessionrole + roleroleYes

開発

macOS リリースビルドは、Keychain での余分なプロンプトを避けるためにコード署名されています。これは以下で確認できます:

$ codesign --verify --verbose $(which aws-vault)

aws-vault バイナリを自分で開発またはコンパイルする場合は、Keychain Access > Certificate Assistant > Create Certificate -> Certificate Type: Code Signing にアクセスして自己署名証明書を生成できます。その後、以下でバイナリに署名できます:

$ go build .
$ codesign --sign <Name of certificate created above> ./aws-vault

参考とインスピレーション

  • https://github.com/pda/aws-keychain
  • https://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html
  • https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html#create-iam-users
  • https://github.com/makethunder/awsudo
  • https://github.com/AdRoll/hologram
  • https://github.com/realestate-com-au/credulous
  • https://github.com/dump247/aws-mock-metadata
  • https://boto.readthedocs.org/en/latest/boto_config_tut.html
ツールをダウンロード