作者简介:楚春鹏,新风和睦家医疗集团信息安全负责人,和睦家医疗信息安全内训师,从业14年,曾就职世界百强外企、金融机构及国内知名安全厂商,目前主要负责和睦家医疗信息企业安全体系建设、企业信息安全管理、企业信息安全运营及企业信息安全合规等工作。
IAM(Identity and Access Management,身份识别和访问管理)的发展历史可以追溯到信息技术和网络安全领域的早期阶段。在互联网的初期,随着企业和组织开始建立在线业务和数据存储,身份管理的基本需求开始出现。然而,早期的身份管理主要依赖于简单的用户名和密码验证,以及基于角色的访问控制。
随着企业规模的扩大和网络攻击的增加,单一的身份验证和访问控制功能已经不能满足需求。IAM开始发展出更多的功能模块,如单点登录(SSO)、目录服务、权限管理等,以提高用户体验和安全性。同时,随着云计算、大数据、物联网等技术的快速发展,IAM逐渐从单一功能模块发展到全面数字身份治理体系。这一体系涵盖了身份生命周期管理、行为分析、风险管控等多个方面,以提供更加全面和精细化的身份管理。
随着数据保护法规的出台和完善,如《中华人民共和国网络安全法》、GDPR、HIPAA等,IAM的发展受到了合规性的推动。企业需要确保IAM系统能够符合相关法规的要求,保护用户数据的安全和隐私。近年来,随着零信任、人工智能等技术的兴起,IAM也在不断演进。零信任原则强调“永不信任,始终验证”,这推动了IAM向更加动态和细粒度的访问控制发展。人工智能和机器学习技术则用于增强IAM系统的自动化和智能化水平,提高安全性和效率。
随着IAM的应用场景不断扩展,从最初的金融行业逐渐渗透到政府、医疗、零售、教育等各个行业。在智慧城市、数字政府以及各行业数字化转型中,IAM都扮演着至关重要的角色。
那么,企业在选择IAM解决方案时,需要考虑多个因素以确保选择最适合自己业务需求的解决方案。IAM常见的种类分为EIAM、CIAM、云厂商IAM,以下是笔者在进行IAM解决方案选型时,总结的一些关键的步骤和建议:
明确业务需求与目标:
- 仔细分析企业的身份管理和访问控制需求,包括员工、合作伙伴、客户等不同角色的需求。
- 明确IAM实施的主要目标,例如提高安全性、优化用户体验、简化管理流程等。
评估现有系统与技术:
- 评估企业现有的IT系统和基础设施,了解它们与IAM解决方案的集成能力。
- 考虑是否需要与现有的目录服务、单点登录系统等集成。
研究市场上的IAM解决方案:
- 深入了解市场上的IAM解决方案,包括云原生IAM、本地部署IAM等。
- 考察不同解决方案的功能特点、性能表现、安全性以及用户评价等。
考虑可扩展性与灵活性:
- 选择具有良好可扩展性的IAM解决方案,以便在未来业务增长时能够轻松扩展。
- 确保解决方案具有足够的灵活性,能够适应企业不断变化的业务需求。
关注安全性与合规性:
- 确保IAM解决方案具备强大的安全性能,包括身份验证、授权管理、审计日志等功能。
- 考虑解决方案是否符合相关法律法规的要求,如GDPR、HIPAA等。
评估成本效益:
- 分析IAM解决方案的成本,包括购买成本、部署成本、维护成本等。
- 综合考虑解决方案的性能和成本,选择最具成本效益的方案。
参考案例与用户体验:
- 了解其他企业使用类似IAM解决方案的案例,特别是与自身业务相似的企业。
- 考虑解决方案的用户体验,包括易用性、界面设计等因素。
进行技术演示与测试:
- 要求供应商进行技术演示,了解解决方案的实际操作和功能表现。
- 在可能的情况下,进行实际环境的测试,以验证解决方案的性能和稳定性。
考虑售后服务与支持:
- 了解供应商提供的售后服务和技术支持情况,包括响应时间、问题解决能力等。
- 确保在实施过程中和后续维护中能够得到及时有效地支持。
企业在选择IAM解决方案时需要综合考虑业务需求、现有系统、市场情况、安全性、成本效益等多个因素。通过仔细评估和比较不同解决方案的优劣,企业可以选择最适合自己业务需求的IAM解决方案,由于笔者所在企业的大部分系统已经上云,综合各项选型方案,最终使用的是云原生的IAM解决方案。
IAM实施规划是一个复杂且关键的过程,它涉及多个方面,包括策略制定、技术选型、系统集成、用户培训以及持续的监控和优化。以下是笔者在进行IAM规划和实施时,总结的一些关键步骤和实践经验,希望能够帮助企业进行IAM实施规划:
一、最小权限,知其所需
1、为不同的业务或个人创建单独的IAM用户或角色,便于分割权限和审计;
2、IAM Policy需限定Action及Resource,只赋予必要的权限,并通过Condition来进一步限制权限的生效条件,例如:
“condition”: { “{condition-operator}” : { “{condition-key}” : { “{condition=value}”}}
二、基于角色的访问控制(RBAC)
1、Role-Based Access Control(RBAC),为不同的工作角色来定义各自的IAM角色,允许员工Assume Role到其他工作所需的一个或多个IAM角色。在下面的图示中,总共分为三个不同的工作角色:A、B、C,如果一个员工的工作角色发生变化,只需要调整为其所分配的IAM角色,即使一个员工同时承担两种工作角色,他在同一时间只能使用其中一个角色的权限。
2、同时,利用IAM Access Analyzer的Policy Generation功能自动生成策略模板来辅助权限收缩,权限内容基于对指定时间段内CloudTrail记录的分析。
3、使用Last Accessed信息,通过Access Advisor显示该实体最后一次对其具有访问权限的服务的访问情况。
三、基于属性的访问控制(ABAC)
基于属性来定义权限(“Tags”),ABAC适用于实体和资源变化频繁的环境,不同角色的用户共用一套策略,并且无需为新增资源修改策略。
企业可根据自身情况进行授权模式选择。
四、IAM权限评估流程
1、利用不同的策略对权限进行限制,例如:
- Service control policies 服务控制策略
- Permissions boundaries 权限边界策略
- IAM permissions policy IAM 权限策略
- Scoped-down policies 缩小范围策略
- Resource-based policies 基于资源的策略
- Endpoint policies 终端策略
2、同时完成权限分配后,在运营过程中需要依据企业的安全策略,定期审阅权限配置并删除非必要的授权:
- 审阅IAM及SSO用户:发现长期不使用的用户并删除,删除不必要的IAM权限;
- 审阅IAM及SSO组:从组中删除不必要的用户,删除不必要的IAM权限;
- 审阅IAM角色:删除不必要的角色,删除不必要的信任关系,删除不必要的IAM权限;
- 审阅SSO权限集及权限分配:删除不必要的权限集和权限分配;
- 审阅身份提供商:删除不必要的SAML或OIDC身份提供商;
- 审阅外部访问权限。
五、临时密钥管理
1、企业使用访问密钥(Access Key)属于长期密钥,从安全最佳实践角度,建议企业尽量使用临时密钥(IAM角色)
- 临时密钥具备可配置的生命期(1—12小时),过期后将无法使用;
- 临时密钥无需写入代码的配置文件中,降低了密钥外漏的可能性;
- 可以通过“撤销会话”界面立即撤销当前尚未过期的临时密钥的所有权限;
- 长期密钥应定期轮转(通常建议企业将周期设置为每90天),临时密钥无需考虑轮转。
2、临时密钥Security Token Service(STS)
- 临时密钥由STS生成,为联合认证,跨账号访问,IAM角色提供支持;
- 临时密钥由Access Key(AK),Secret Access Key(SK)以及Token组成,Token中指定了临时密钥的过期时间;
- 为EC2、Lambda等实例分配IAM角色后,这些实例上的应用程序可使用临时密钥来访问亚马逊云API,无需在这些应用的配置文件中部署长期密钥。
3、临时密钥——指定权限的有效期
用户也可以在IAM策略中指定有效期,从而限制密钥可以被实际使用的时间范围。
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "service-prefix:action-name",
"Resource": "*",
"Condition": {
"DateGreaterThan": {"aws:CurrentTime": "2024-04-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2024-06-30T23:59:59Z"}
}
}
}
4、限制长期密钥的使用条件
对于必须使用长期密钥的场景,比如从自建服务器上访问AWS资源,应增加限制条件从而降低密钥外漏所造成的影响。
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "service-prefix:action-name",
"Resource": "*",
"Condition": {
"IpAddress": {"aws:SourceIp": [
"192.0.2.0/24”,
"203.0.113.0/24”
]
}
}
}
}
六、监控与优化
1、建立IAM系统的监控机制,实时跟踪系统的运行状态和性能表现。
2、定期评估IAM实施的效果,收集用户反馈,进行必要的优化和改进。
七、考虑合规性与法律要求
1、确保IAM实施符合相关法律法规的要求,如GDPR、HIPAA等。
2、考虑与审计和合规团队密切合作,确保IAM系统的设计和实施能够满足审计和合规的需求。
八、备份与恢复计划
1、制定IAM系统的备份策略,确保关键数据的可靠性和可恢复性。
2、设计灾难恢复计划,以应对可能出现的系统故障或数据丢失情况。
通过遵循以上步骤和建议,企业可以更有序地进行IAM实施规划,确保IAM系统的成功部署和有效运行。同时,企业还需要根据自身的实际情况和业务需求进行灵活调整和优化,以适应不断变化的安全威胁和法规要求。
IAM的发展历史是一个不断演进和完善的过程,随着技术和法规的变化,IAM将继续发展出更多先进的功能和应用场景,以更好地满足企业和组织的身份管理和安全需求。也欢迎各位同行交流其他思路的IAM实施经验。