任职于技术中心,负责携程内部权限管理系统(Identity Access Management, IAM)的后端开发和维护,以及对业务方提供技术支
持。IAM是携程内部重要的权限管理基础设施,负责统筹管理所有内部系统的权限,是公司内部信息安全的重要组成部分。目前生产
环境已有数百个业务系统接入IAM,且能够高性能地稳定地对外提供鉴权和权限管理服务。此外IAM能快读对业务系统提供权限管理
方面的支持,避免了业务方在权限管理方面的重复建设,使业务方能够专注业务,提高开发效率。
主要技术点:
1.由于调用方会通过鉴权接口对整个系统中的大量实体的id产生强依赖(比如鉴权接口需要用户提供权限id才能鉴权),用数据库主键作
为业务上的唯一标识不合适,所以需要一个单独的自增序列号生成服务,方案是用一张单独的序列表维护不同实体的序列,借鉴了
CAS无锁并发的思想,利用MySQL行级锁实现并发安全的序列号自增。
2. 为了便于故障排查以及权限超配事故的事后追责,需要对用户的每个操作记录结构化操作日志且不影响性能,为此实现了一个操作
日志发送客户端,操作日志经暂存队列和发送队列发往kafka,由消费端写入