IAM、EIAM、CIAM、RAM、IDaaS 都是什么?

后端程序员在做 ToB 产品或者后台系统时,都不可避免的会遇到账号系统、登录系统、权限系统、日志系统等这些核心功能。这些功能一般都是以 SSO 系统、RBAC 权限管理系统等方式命名,但这些系统合起来有一个专有名词:IAM

IAM

IAMIdentity and Access Management 的缩写,即身份与访问管理,或称为身份管理与访问控制,或称为身份管理。

IAM 的基础上还继续发展为 EIAMCIAMRAMIDaaS 几类。

EIAM

EIAMEmployee Identity and Access Management 的缩写,即企业身份与访问管理,主要解决企业内部员工、合作伙伴、临时人员等提供统一身份认证和权限管理能力的内部产品。

CIAM

CIAMCustomer Identity and Access Management 的缩写,即客户身份与访问管理,主要解决企业外部客户(主要是互联网海量用户)的统一身份认证和权限管理能力的外部产品。

RAM

RAMResource and Access Management 的缩写,即资源与访问管理,RAM 其实就是云厂商的 IAM,主要解决云客户管理云资源的访问控制。

阿里云的 RAM 用户登录。

IDaaS

互联网行业最不缺的就是造新名词,云计算刚出来的时候就有各种 IaaSPaaSSaaS 的概念。最近几年微服务盛行后又出来了 BaaSFaaS 等相关概念。

IaaS:基础设施即服务,Infrastructure as a service

PaaS:平台即服务,Platform as a service

SaaS:软件即服务,Software as a service

BaaS:后端即服务,Backend as a Service

FaaS:函数即服务,Functions as a Service

参考文章:

  1. IaaS、PaaS、SaaS 都是什么?
  2. BaaS、FaaS、Serverless 都是什么?

IDaaS 身份即服务(IDentity as a Service),即将 EIAMCIAM 上云并做成一个独立 SaaS 产品来卖,通俗的理解就是 IDaaS = EIAM + CIAM + SaaS

无论怎么变,这些概念最核心的东西还是 IAM,所以理解了 IAM 的概念其他概念也就一通百通了。

IAM 一般包含如下五部分,称为 5A

  • 账号(Account)
  • 认证(Authentication)
  • 权限(Authorization)
  • 应用(Application)
  • 审计(Audit)

账号

账号是用户在系统中的数字化载体,用于标识用户并访问受保护的资源,一般每个系统都会有账号,且不同系统的账号数据结构各异。

认证

认证是一种信用保证形式,认证是用于确定上述账号在申请访问资源时是否是有效。

授权

权限本质上是限制,授权是将权限授予给用户,从而使得用户获得访问资源的权限。

应用

应用可以简单的理解为所有的业务系统,这些业务系统应该是上文中账号、认证、授权的交互对象和载体。

审计

审计本质上就是日志,日志需要记录用户的所有操作,包括主体、操作、客体、类型、时间、地点、结果等内容。根据不同的维度可以划分为不同的日志,如操作日志、登录日志、业务日志、系统日志等。

参考文章:
https://www.woshipm.com/it/4681031.html
https://www.zhihu.com/question/47888930

相关推荐
言之。42 分钟前
【面试题】构建高并发、高可用服务架构:技术选型与设计
架构
小马爱打代码4 小时前
Tomcat整体架构分析
java·架构·tomcat
time_silence5 小时前
微服务——不熟与运维
运维·微服务·架构
-指短琴长-5 小时前
Docker之技术架构【八大架构演进之路】
docker·容器·架构
武子康5 小时前
大数据-259 离线数仓 - Griffin架构 修改配置 pom.xml sparkProperties 编译启动
xml·java·大数据·hive·hadoop·架构
2401_857617626 小时前
“无缝购物体验”:跨平台网上购物商城的设计与实现
java·开发语言·前端·安全·架构·php
思忖小下7 小时前
梳理你的思路(从OOP到架构设计)_介绍GoF设计模式
设计模式·架构·eit
秀儿y7 小时前
单机服务和微服务
java·开发语言·微服务·云原生·架构
向上的车轮11 小时前
云边端架构的优势是什么?面临哪些挑战?
架构·云边端