IAM那些事(一)

将欲取天下而为之,吾见其不得已。天下神器,不可为也,不可执也。为者败之,执者失之。是以圣人无为,故无败,故无失。夫物或行或随;或觑或吹;或强或羸;或载或隳。是以圣人去甚、去奢、去泰。

---引用《道德经》

在去年的RSA大会上,很多企业都开始将自己的产品贴上“身份与访问管理(IAM)”的标签,大谈“身份治理”,“身份背景/上下文”,“特权访问管理”,“隐私”,“行为生物特征识别”,“生物识别平台”以及“以人为中心的安全”等问题,对于这种趋势,我们要尽快习惯他。

全球IT安全公司Herjavec Group的首席执行官兼Shark Tank投资者Robert Herjavec表示,

“用户的问题在于他们是互动的。身份管理对于企业来说如此具有挑战性的原因是,用户会入职、离职、晋升、访问敏感文件系统、共享机密数据、发送带有潜在秘密信息的电子邮件、尝试访问无权查看的数据,或是尝试做我们本不该做的事情等。所以,‘一劳永逸’这种事根本不适用于我们。”

但是很庆幸的是我们现在拥有者非常多的IAM工具可以很方便的给我们提供帮助。

扯的有点远,回到主题,我们先来看看几大公用云运营商对应IAM的定义:

AWS:IAM enables you to control who can do what in your AWS account.

华为云:统一身份认证(Identity and Access Management,简称IAM)是公有云系统(华为云)的身份管理服务,包括用户身份认证、权限分配、访问控制等功能。

阿里云:RAM (Resource Access Management) 是阿里云为客户提供的用户身份管理与资源访问控制服务。使用 RAM,您可以创建、管理 RAM 用户(比如员工、系统或应用程序),并可以控制这些 RAM 用户对资源的操作权限。当您的企业存在多用户协同操作资源时,使用 RAM 可以让您避免与其他用户共享云账号密钥,按需为用户分配最小权限,从而降低企业信息安全风险。

对于云服务供应商(后面简称云商)而言,云商的用户(或者说使用者)往往是互联网企业或者传统企业中IT部门,我们可以看看云商提供的服务,Web应用防火墙,数据库备份DBS,容器服务,性能测试PTS等等这些专业的名称,相对于公司的财务部门,人事部门而言其实比较陌生,也无法知晓需要使用什么?

那么就会带来一个问题?对于一家中小型软件企业而言 ,IT部门可能会分布同的项目组,不同的项目组会提出需要的云商里面的产品,但是财务或者人事部门可能只是会购买相应的产品,对于购买产品的账号肯定不能提供给开发人员或者IT部门,那么IT部门如何使用需要的资源呢?

举例说明一下:

A企业是一家中小型软件企业,有四条产品线,每一个产品线分3个不同的项目组,每一个项目组5个人, A企业现在有20台ESB服务器,有20台数据库服务,20台缓存服务器,12台OSS服务,以及其他等服务。

那么如何很好的去区分哪些资源归哪些项目组管理,如果没有IAM,就会出现二种极端情况,一种是公司将账号提供给各个项目组,然后去登陆查看,另外一种就是我们创建子账号,然后在每一个产品服务中给每一个子账号授权。

对于第一种简单暴力的处理方式,带来的危害就是你访问了你不该访问的资源了,并且你拥有对这些资源拥有过大的权利,删除/修改风险可想而知。但是这个也一般只有一些极小企业或者个人才会这么去处理自己的权限,其实

那么第二种呢,用户可以在不同的平台给不同的资源进行授权,但是我们有没有想,这种授权的复杂度是不是变得很高,并且错误率是不是很多。

我们来看看阿里云对于IAM(阿里称为RAM)的功能定义:

集中管理 RAM 用户及其密钥

在云账号下创建并管理用户及其访问密钥,并为用户绑定/解绑多因素认证设备。

集中控制 RAM 用户的访问权限

为每个用户或用户组绑定一个或多个权限策略,限制用户对资源的操作权限。

集中控制 RAM 用户的资源访问方式

要求用户必须使用安全信道(如 SSL)、在指定时间范围、或在指定源 IP 条件下才能操作指定的云资源。

集中管理 RAM 角色与外部账号的身份联合

使用 RAM 角色与外部身份系统(比如您的企业本地域账号、您的 app 用户账号)进行关联,实现直接使用外部身份登录到一个 RAM 角色身份访问阿里云控制台或 API。

集中控制云资源

对用户创建的实例或数据进行集中控制。当用户离开您的组织时,这些实例或数据仍然受您的完全控制。

统一账单

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

阿里云强调的是集中式管理,对于用户而言可访问资源集中式管理给用户带来极大的方便,对于安全组件而言,获得可访问资源也带来极大的方便。

我来举一个例子说明一下:

假如OSS需要做一个连接防止盗链,我们可能就需要OSS和CDN进行合作,那么CDN基于OSS的防盗链规则进行处理,那么如果在有其他的这种防盗链操作,是不是就会出现CDN又需要调用其他的组件(中间件),那么对于CDN而言就会变的复杂,如果按照阿里的集中管理,那么CDN至始至终之和IAM进行交互,并且所有的规则定义也全部在IAM中进行管理。

这样的情况其实在公有云中有很多使用的场景,例如用户可访问ESB服务器,或者数据库服务,对于公有云而言,经常需要设置可访问IP地址段,那么是否不管是ESB服务或者数据库服务是不是都需要设置IP地址段,那么为什么不由IAM控制呢?

以上全部说明的是公用云里面IAM的操作

你可能感兴趣的:(IAM那些事(一))