MaksymLeus/awscli-addons

GitHub: MaksymLeus/awscli-addons

一组面向 AWS CLI 的高效扩展工具集,简化 MFA 认证、角色切换和身份验证等日常云操作流程。

Stars: 1 | Forks: 0

🚀 AWSCLI-Addons

高性能 CLI 实用工具,用于扩展和简化 AWS 工作流

GitHub release Build Status License

Python Supported OS

一组高性能、独立的 CLI 实用工具集合,旨在扩展和简化您的日常 AWS 工作流程。这些工具填补了复杂的 aws cli 命令与常见开发者任务(如 MFA 身份验证、角色切换、ECR 管理和身份验证)之间的空白。

![Native](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3e90aa752e035730.png) ## 🛠️ 功能 此套件为您的工具箱添加了专门的命令(内置简写别名!): * **`whoami`** (`wi`): 快速识别当前的 IAM 身份、账户 ID 和区域。 * **`mfa`**: 简化使用多因素认证设备生成临时会话 token 的过程。 * **`assume-role`** (`ar`): 简化 AWS 账户和 IAM 角色之间的切换。 * **`show-creds`** (`sc`): 查看您当前活跃的 AWS 凭证(支持导出或显示密钥)。 * **`configure`** (`conf`): 交互式配置 AWS 凭证和设置。 * **`myip`**: 立即检索您当前的公共 IP 地址(对于更新 Security Group 入站规则至关重要)。 * **`verify`** (`ver`): 验证您当前的凭证和连接,以确保您的环境已为云端准备就绪。 * **`ecr`**: 一组子命令,用于生成 Docker/Helm 登录命令并管理 repositories。 * **`upgrade`** (`up`): 无缝将 CLI 更新到最新版本。 ## 📂 项目结构 ``` awscli-addons ├── Dockerfile # Container definition for consistent environments ├── awscli_addons/ # Main Python source package │ ├── cli.py # Application entry point & command routing │ ├── commands/ # Logic for individual CLI subcommands │ └── utils/ # Internal helper modules │ └── aws_config.py # shared logic for parsing ~/.aws files ├── docs/ # Detailed documentation suite │ ├── CONFIGURATION.md # Guide for AWS profiles & aliases │ ├── DEPLOYMENT.md # Binary compilation & release info │ ├── DEVELOPMENT.md # Setup guide for contributors │ ├── KUBERNETES.md # Pod/CronJob & IRSA usage (Recommended) │ ├── OVERVIEW.md # Technical architecture deep-dive │ └── TODO.md # Project roadmap & pending tasks ├── pyproject.toml # Modern Python build config & dependencies └── tools/ # Automation and distribution scripts ├── build.sh # Script to compile standalone binaries └── installer.sh # One-line installation & alias setup script ``` ## 🚀 安装 ### 即时安装(推荐) 使用我们托管的安装程序自动检测您的操作系统和架构。 | Mode | Command | | :---: | --- | | **Auto** | `curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh \| bash` | | **Force Binary** | `curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh \| BINARY_CMD=true bash` | | **Force Python** | `curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh \| PYTHON_ONLY=true bash` | *前置条件:`git` 和 `python 3.11+`(用于 Python 模式)。* **安装特定版本:** ``` curl -sSL https://raw.githubusercontent.com/MaksymLeus/awscli-addons/main/tools/installer.sh | VERSION=v1.1.2 bash ``` ### 手动安装 从 [`Releases page`](https://github.com/MaksymLeus/awscli-addons/releases) 下载适合您平台的二进制文件: ``` # Linux AMD64 示例 wget https://github.com/MaksymLeus/awscli-addons/releases/download/${VERSION}/awscli-addons-linux-amd64 chmod +x awscli-addons-linux-amd64 sudo mv awscli-addons-linux-amd64 /usr/local/bin/awscli-addons ``` ## 📖 用法 安装完成后,直接使用命令或通过原生 AWS CLI 集成使用。 ### 直接使用 ``` # 使用别名 'wi' 检查当前身份 awscli-addons wi # 为特定配置文件生成 MFA 会话 awscli-addons mfa --profile default --mfa-code 123456 # 查看当前会话的 AWS 凭证 awscli-addons sc --reveal # 生成 ECR Docker 登录命令 awscli-addons ecr login --profile my-profile ``` ### 高级用户:原生 AWS CLI 集成 安装程序会**自动**为您配置一个 AWS CLI alias。如果您在安装这些插件之后安装官方 AWS CLI,集成将立即可用。 它会在您的 **`~/.aws/cli/alias`** 配置中添加一个持久化 alias,将 **`aws addons`** 直接映射到您的 `awscli-addons` 二进制文件。 ![Alias](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4126cc8f70035740.png) ## 🔨 开发与构建 要从源码构建项目或添加新命令: 1. 安装依赖: pip install . 2. 添加命令: 在 `awscli_addons/commands/` 中创建一个新的 `.py` 文件,并在 `cli.py` 中注册它。 3. 构建独立二进制文件: ./tools/build.sh ## Docker 在容器内运行工具: ``` # 交互式身份检查 docker run --rm -v ~/.aws:/root/.aws awscli-addons whoami # 进入容器内部的 shell docker run --rm -it --entrypoint bash awscli-addons ``` ## Kubernetes 在集群内使用插件进行调试或自动化。 ``` # 绕过 entrypoint 以访问 bash kubectl run aws-debug -it --rm --image=your-repo/awscli-addons:latest --command -- /bin/bash # 直接运行身份检查 kubectl run aws-check --rm -it --image=your-repo/awscli-addons:latest -- wi ``` ## 📚 文档 有关更详细的信息,请参阅 `docs/` 目录: | Document | Purpose | | ------------------ | --------------------------------------- | | [`OVERVIEW.md`](docs/OVERVIEW.md) | 架构和命令参考。 | | [`CONFIGURATION.md`](docs/CONFIGURATION.md) | 工具设置和 AWS profile 管理。 | | [`DEPLOYMENT.md`](docs/DEPLOYMENT.md) | 二进制编译和分发。 | | [`DEVELOPMENT.md`](docs/DEVELOPMENT.md) | 贡献指南和从源码构建。 | | [`TODO.md`](docs/TODO.md) | 路线图和计划改进。 | ## 📄 许可证 MIT License — 详见 [`LICENSE.md`](LICENSE.md)。 ## 支持 - [GitHub Issues](https://github.com/MaksymLeus/awscli-addons/issues)
标签:AssumeRole, Awesome, AWS CLI, AWS 扩展, DNS解析, Docker 容器, ECR 管理, IAM 身份管理, MFA 多因素认证, Power User, Python, 临时凭证, 云原生工具, 子域名突变, 开发效率, 开源项目, 数字取证, 无后门, 系统管理, 网络可观测性, 自动化脚本, 请求拦截, 跨账户访问, 逆向工具