这次分享的实验是如何利用IAM Access Analyzer、Lambda等服务,通过Python脚本自动化持续主动检测IAM冗余权限(包括涉及服务和操作),实现云上的最小权限原则。最后产生权限审计报告,通过SNS服务发送至合规团队审计,实现云上安全可见性。
安全合规对于用户的权限评估有着特殊的要求,如金融合规PCI-DSS要求7.2.5.1就指出涉及到银行卡敏感信息处理、存储和传输业务的交易服务供应商需要定时去评估云上系统的用户权限。首先是通过监控用户权限的最近访问时间,删除特定时间内(通常是90天内,PCI DSS 8.1.4)未使用的权限,保障用户云上系统访问满足最小权限原则,减少攻击面。同时也需要监控业务关键权限的使用情况,保证获授权的人员只能被分配与其角色匹配的权限(PCI DSS 7.1),保证权限分离,防止未授权访问。同时,整个流程需要体现云上安全的可见性,需要有权限审计报告提供给内部合规团队做自我评估。
在亚马逊云平台上,大家可以通过下图中的安全解决方案实现关于权限持续评估的需求。该解决方案主要由两大部分组成,第一部分是通过generate_service_last_accessed_details和get_service_last_accessed_details两个Boto3 API获取各项云服务的最后访问信息,列出出特定时间内未使用的IAM权限并生成审计报告。第二部分是在用户添加IAM权限时,通过EventBridge做规则匹配触发Lambda,Lambda会提取Event事件中的用户添加的权限信息与业务关键权限列表做匹配,如匹配命中则通过SNS向权限管理员发送报警。
小李哥之后还会为大家更新更多的亚马逊云上的经典最佳实践,请大家多多关注!