Được TopGit lập chỉ mục từ metadata GitHub: 99designs/aws-vault có 9.0k sao, viết chủ yếu bằng Go. A vault for securely storing and accessing AWS credentials in development environments
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
[!WARNING]
This project has been abandoned and it's not receiving any more updates. If you want to continue to receive updates
or contribute, please feel free to look at the active fork at: https://github.com/ByteNess/aws-vault
AWS Vault is a tool to securely store and access AWS credentials in a development environment.
AWS Vault stores IAM credentials in your operating system's secure keystore and then generates temporary credentials from those to expose to your shell and applications. It's designed to be complementary to the AWS CLI tools, and is aware of your profiles and configuration in ~/.aws/config.
Check out the announcement blog post for more details.
Installing
You can install AWS Vault:
by downloading the latest release
on macOS with Homebrew: brew install aws-vault
on macOS with MacPorts: port install aws-vault
on Windows with Chocolatey: choco install aws-vault
on Windows with Scoop: scoop install aws-vault
on Linux with Homebrew on Linux: brew install aws-vault
on Arch Linux: pacman -S aws-vault
on Gentoo Linux: emerge --ask app-admin/aws-vault (enable Guru first)
on FreeBSD: pkg install aws-vault
on OpenSUSE: enable devel:languages:go repo then zypper install aws-vault
Config, usage, tips and tricks are available in the USAGE.md file.
Vaulting Backends
The supported vaulting backends are:
macOS Keychain
Windows Credential Manager
Secret Service (Gnome Keyring, KWallet)
KWallet
Pass
Encrypted file
Use the --backend flag or AWS_VAULT_BACKEND environment variable to specify.
Quick start
# 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
How it works
aws-vault uses Amazon's STS service to generate temporary credentials via the GetSessionToken or AssumeRole API calls. These expire in a short period of time, so the risk of leaking credentials is reduced.
AWS Vault then exposes the temporary credentials to the sub-process in one of two ways
Environment variables are written to the sub-process. Notice in the below example how the AWS credentials get written out
Local metadata server is started. This approach has the advantage that anything that uses Amazon's SDKs will automatically refresh credentials as needed, so session times can be as short as possible.
The default is to use environment variables, but you can opt-in to the local instance metadata server with the --server flag on the exec command.
Roles and MFA
Best-practice is to create Roles to delegate permissions. For security, you should also require that users provide a one-time key generated from a multi-factor authentication (MFA) device.
First you'll need to create the users and roles in IAM, as well as setup an MFA device. You can then set up IAM roles to enforce MFA.
Here's an example configuration using roles and MFA:
The macOS release builds are code-signed to avoid extra prompts in Keychain. You can verify this with:
$ codesign --verify --verbose $(which aws-vault)
If you are developing or compiling the aws-vault binary yourself, you can generate a self-signed certificate by accessing Keychain Access > Certificate Assistant > Create Certificate -> Certificate Type: Code Signing. You can then sign your binary with:
$ go build .
$ codesign --sign <Name of certificate created above> ./aws-vault
Có — 99designs/aws-vault phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/99designs/aws-vault.
99designs/aws-vault có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho 99designs/aws-vault. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
99designs/aws-vault dùng license gì?
99designs/aws-vault phát hành theo license MIT. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
99designs/aws-vault là gì?
99designs/aws-vault (99designs/aws-vault) là dự án Go trên GitHub. Theo mô tả gốc: A vault for securely storing and accessing AWS credentials in development environments
Cùng nhóm Developer Tools còn repo nào?
99designs/aws-vault thuộc nhóm Developer Tools trên TopGit, cùng 8 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về 99designs/aws-vault ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/99designs/aws-vault là nguồn chính thức.
Vì sao 99designs/aws-vault được xếp vào nhóm Developer Tools?
TopGit xếp 99designs/aws-vault vào nhóm Developer Tools dựa trên GitHub topics và mô tả của repo (gắn thẻ: "aws", "aws-vault", "cli"). Việc phân loại dựa trên metadata thật của repo, không phải đoán theo cảm tính biên tập.
Đọc đầy đủ README ở tab phía trên.
aws-vault có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về aws-vault.