littlebot
Published on 2025-04-02 / 1 Visits
0

【源码】基于Python和AWS服务的AWS访问密钥自动检查通知系统

项目简介

本项目旨在提升AWS账号的安全性。在使用AWS服务且不可避免使用AccessKey的情况下,定期更换密钥能降低被盗用风险。项目利用Python和AWS相关服务,提供手动检查和Lambda自动检查通知两种方式,帮助用户及时发现并处理使用时长过长的访问密钥,自动检查通知以企业微信为例展示。

项目的主要特性和功能

主要特性

  • 提供手动和自动两种检查方式,可灵活适应不同场景需求。
  • 借助AWS Lambda和EventBridge实现自动定期检查,减少人工操作。
  • 支持将检查结果通知到企业微信等后端软件。

主要功能

  • 手动检查:能通过AWS控制台或aws cli命令行查看访问密钥的创建时间,还可选择停用有风险的密钥。
  • 自动检查通知:每30天自动执行Lambda函数,检查该账户下所有超过30天的AccessKey,并将相关信息通知到企业微信。

安装使用步骤

假设用户已经下载了本项目的源码文件。

手动检查

控制台方式

  1. 登录AWS控制台,进入IAM(Identity and Access Management)身份管理服务。
  2. 在用户(User)的安全证书(security certificate)栏位下,访问密钥处查看当前User所创建的访问密钥列表,检查每个访问密钥的创建时间,可选择停用有风险的密钥。

aws cli方式

  1. 在终端键入aws iam list-access-keys,查看当前User所创建的访问密钥列表,根据CreateDate检查每个访问密钥的创建时间。
  2. 若要停用对应访问密钥,在终端键入aws iam delete-access-key --access-key-id AKIxxxxxx72(将access-key-id替换为您的access key id)。

Lambda自动检查并通知

Lambda函数部署

  1. 创建Lambda函数:在AWS Lambda服务下创建Lambda函数,运行环境选择Python3.8,使用合适的IAM角色(为演示方便,可使用admin权限)。
  2. 打包并上传Lambda函数代码
    • 创建虚拟环境:python3 -m venv v-env
    • 激活环境:source v-env/bin/activate
    • 安装依赖库:pip install requests
    • 停用虚拟环境:deactivate
    • 创建ZIP存档:cd v-env/lib/python3.9/site-packages
    • 添加函数代码到存档: shell zip -r9 ${OLDPWD}/function.zip . cd $OLDPWD zip -g function.zip lambda_function.py
    • 将二进制ZIP部署包上传到Lambda并更新函数代码。
    • 通过更改代码或编辑函数环境变量,将agentidcorpidcorpsecret更改为企业微信对应值。

EventBridge Schedule定时事件创建

  1. 在Amazon EventBridge服务下,创建EventBridge计划。
  2. 指定计划,按照业务需求填写合适的执行频率,例如以30天为一个周期。
  3. 选择目标,选择Lambda作为事件的执行目标,Lambda函数选择先前部署的auto_check_accesskey_notifier函数,完成创建。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】