PMapper 使用与安装指南
项目概述
PMapper 是一款用于快速评估 Amazon Web Services (AWS) 身份和访问管理(IAM)权限的工具。它通过建模 AWS 账户中的 IAM 用户和角色为有向图,来检查权限提升风险以及攻击者可能利用的资源或操作的其他路径。本指南将带你深入了解其目录结构、启动与配置细节。
目录结构及介绍
PMapper 的项目结构清晰地组织了源代码与相关资源:
PMapper/
│
├── examples # 示例脚本和使用案例
├── principalmapper # 主要的脚本或库文件所在目录
├── tests # 单元测试和集成测试文件
├── .gitignore # 忽略提交到Git的文件列表
├── CHANGELOG.md # 版本更新日志
├── Dockerfile # Docker构建文件,便于容器化部署
├── LICENSE # 许可证文件,遵循AGPL-3.0协议
├── MANIFEST.in # 包含在分发包内的额外文件清单
├── README.md # 项目说明文档
├── pmapper.py # PMapper主程序
├── required-permissions.json # 可能需要的权限示例或配置文件
├── requirements.txt # Python依赖列表
├── setup.py # Python包的设置脚本,用于安装
└── ...
启动文件介绍
- pmapper.py: 这是核心执行文件,包含了命令行接口的逻辑。通过该脚本,你可以直接运行PMapper进行IAM权限评估、查询特定权限等任务。启动PMapper的基本操作通常涉及通过命令行指定相应的参数和选项调用此脚本。
配置文件介绍
PMapper的配置主要通过环境变量和命令行参数实现,而不是传统的配置文件。以下是关键点:
-
AWS Configuration: PMapper依赖于
AWS CLI
的配置,意味着你需要预先配置好AWS CLI的凭证,这通常位于~/.aws/credentials
(Linux和macOS)或%APPDATA%\Roaming\aws\credentials
(Windows)。PMapper通过--profile
参数来选择不同的配置文件。 -
动态配置: 在运行PMapper的不同命令时,如查询(
query
)、创建图(graph create
)或可视化(visualize
)时,可以通过命令行参数提供具体的配置信息,例如指定账户ID、查询条件等。 -
外部配置潜力: 虽然直接的配置文件不显著,但可以间接通过环境变量如
AWS_PROFILE
,AWS_ACCESS_KEY_ID
, 和AWS_SECRET_ACCESS_KEY
等来配置AWS认证信息,或者使用.env
文件结合Docker环境变量的方式来自定义更复杂的配置。
安装与快速启动
基于pip安装
首先确保你的Python环境是3.5或更高版本,并通过以下命令安装PMapper:
pip install principalmapper
从源码安装及配置Docker环境
-
克隆仓库:
git clone https://github.com/nccgroup/PMapper.git
-
使用Pip安装(本地开发或非Docker环境):
cd PMapper pip install .
-
构建并使用Docker容器(推荐生产环境使用):
cd PMapper docker build -t pmapper . docker run -it pmapper
在Docker环境中,你可以通过环境变量传递AWS凭证或挂载AWS配置目录以保持一致的配置。
通过这种方式,您可以有效地安装并开始使用PMapper来评估和管理您的AWS IAM权限。记得查阅项目wiki页面获取详细的使用方法和高级功能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考