IAM最佳实践

简介: 企业上云最基本的账户权限安全实践

企业使用公有云服务的第一件事情就是创建云帐号,有了帐号之后如何让企业员工安全合规的使用云帐号下的各种资源是开启云之旅后的第一个考验。

云计算厂商针对企业上云后面临的第一个需求已经推出了完善的解决方案--Identity and Access ManagementIAM可以帮助云帐号安全地控制对云计算服务资源的访问。企业可以使用IAM控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。

云厂商是否提供完善的IAM服务可以作为整体产品解决方案是否成熟的一个衡量指标,比如AWS的IAM和阿里云的访问控制都是较为成熟完善的产品。国内某个以AI能力为卖点的云厂商,在IAM产品方面几乎为零,很难相信对安全合规有需求的企业会完整使用他的云产品作为解决方案。


IAM通常提供以下功能:

对云账户的共享访问权限

允许在一个云账户下创建并管理多个用户身份,并允许给单个身份或一组身份(既可以是当前云帐号下也可以是其他云帐号下)分配不同的权限策略,从而实现不同用户拥有不同的云资源访问权限,而不必共享云帐号根用户的密码或访问密钥。

精细权限

可以针对不同资源向不同人员授予不同权限。可以要求用户必须使用安全信道(如 SSL)、在指定时间范围、或在指定源 IP 条件下才能操作指定的云资源。

多重验证 (MFA)

可以向云账户和各个用户添加双重身份验证以实现更高安全性。借助MFA,用户不仅必须提供使用账户所需的密码或访问密钥,还必须提供来自经过特殊配置的设备的代码。

联合身份

可以允许已在其他位置(例如,在企业网络中或通过 Internet 身份提供商)获得密码的用户获取对云账户的用户访问权限。

后面会有专门的文章来讲如何实践联合身份。

统一账单

云账户接收包括所有用户的资源操作所发生费用的统一账单。

尽管IAM提供了上面种种功能,云帐号的管理者仍可通过一些最佳实践来更好的使用IAM产品来提升安全级别和减少运维成本。

IAM最佳实践

  • 尽量不要使用云帐号的根用户,不要为根用户创建AK。云帐号管理员也使用各自独立的子账号。
  • 为企业中每一个需要使用云服务的员工单独创建子账户,且默认不允许创建AK。便于员工离职的时候,通过删除帐号来完全清理用户在云计算平台的各种权限。
  • 密码安全实践,

    • 限制密码强度不少于8位,必须由大小写字母、数字和符号中的三种组成
    • 强制密码过期时间不超过90天,且过期后不可登录。
    • 新密码至少禁止使用前3次密码
    • 设置密码重试约束,例如,一小时内使用错误密码最大尝试9次登录
  • 强制所有用户启用两步认证
  • 对访问网络有限制的企业,可以开启登录IP限制。
  • [推荐做法]已有SSO单点登录系统的企业,可以通过SAML 2.0标准实现从企业本地账号系统登录到阿里云,从而满足企业的统一用户登录认证要求。
  • 细粒度的权限管理,

    • 为各种云资源创建最细粒度的权限策略。例如,分别为RDS实例rds-instance-1创建只读权限策略rds-instance-1-readonly-access,RDS实例rds-instance-2创建只读权限策略rds-instance-2-readonly-access
    • 根据职能、部门等维度为云帐号子用户创建用户组。例如,按项目创建用户组,group-project-agroup-project-b。如果project-a用户需要访问rds-instance-1的信息,将自定义权限rds-instance-1-readonly-access授权给group-project-a。再将相关用户加到用户组group-project-a中,这样这些用户就具有只读访问RDS实例rds-instance-1的权限。而不是将所有RDS的读写权限都授予这些用户,最大限度的保证用户不获取超过实际需要的权限
    • 在实际场景中,通常会通过云计算服务的API来完成某些周期性任务,比如每日RDS中的慢查询统计、云帐号每日花费统计等。这些任务都需要一个云帐号的AK来完成API的身份认证。最佳的做法是,为每类相关的任务创建一个功能性子账号,禁用他们的web登录,且遵循特殊的命名规范(functional-开头),比如functional-rds-statsfunctional-cost-stats。创建最小的权限策略,然后分配给这些功能性用户。例如,functional-rds-stats仅被授予RDS只读权限,functional-cost-stats仅被授予费用的只读权限。为这些子账号创建AK,每类任务使用不同的AK来完成API认证,而不是都使用同一个AK。这样的好处是,不同类型任务的AK具有不同的权限,最大限度的保护了云帐号的安全,并且这些AK不跟实际的员工子账号关联,不会因为员工帐号的变更而受影响。如有更高的安全合规的要求下,可以定期作废已有AK,创建新AK替换。至于AK怎样安全管理,之后会有专门的文章来详解。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Ubuntu Linux KVM
分享一些OpenStack的qcow2格式实例镜像
分享一些OpenStack的qcow2格式实例镜像
19188 1
分享一些OpenStack的qcow2格式实例镜像
|
存储 算法 NoSQL
还分不清 Cookie、Session、Token、JWT?看这一篇就够了
Cookie、Session、Token 和 JWT(JSON Web Token)都是用于在网络应用中进行身份验证和状态管理的机制。虽然它们有一些相似之处,但在实际应用中有着不同的作用和特点,接下来就让我们一起看看吧,本文转载至http://juejin.im/post/5e055d9ef265da33997a42cc
51894 16
|
5月前
|
人工智能 前端开发 IDE
AI 原生研发范式:从“代码中心”到“文档驱动”的演进
本文讲述在 AI 编程时代,通过 SDD解决上下文腐烂、审查瘫痪、维护断层三大工程失序问题,并提供一套轻量、可落地的人机协作 SOP。
AI 原生研发范式:从“代码中心”到“文档驱动”的演进
|
8月前
|
人工智能 安全 测试技术
Strix:用AI做渗透测试,把安全漏洞扼杀在开发阶段
Strix是开源AI安全测试工具,模拟黑客攻击并验证真实漏洞,支持代码与环境协同扫描,误报率低,可集成CI/CD,将数周渗透测试压缩至几小时,助力开发与安全团队高效发现风险。
Strix:用AI做渗透测试,把安全漏洞扼杀在开发阶段
|
存储 安全 API
权限设计种类【RBAC、ABAC】
权限设计种类【RBAC、ABAC】
3282 2
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Kubernetes 负载均衡 应用服务中间件
部署Kubernetes(k8s)多主的高可用集群
在CentOS7上安装Kubernetes多主节点的集群,并且安装calico网络插件和metallb。使用keepalived和haproxy进行负载均衡。最后部署应用
6070 0
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
33045 80
如何保证分布式文件系统的数据一致性
|
存储 监控 安全
深入理解RBAC权限系统
RBAC(Role-Based Access Control)是一种访问控制模型,其核心概念是基于角色的权限分配。该模型的设计目标是简化对系统资源的访问管理,提高系统的安全性和可维护性。
3530 2
深入理解RBAC权限系统
|
机器学习/深度学习 人工智能 安全
【应用安全】什么是身份和访问管理 (IAM)?
【应用安全】什么是身份和访问管理 (IAM)?