Navigation
阅读进度0%
IAM 实战项目:企业级权限管理系统
December 19, 2024 (1y ago)
IAM
Security
Architecture
这个专栏主要介绍的是 :实战项目 IAM 应用长啥样、它能干什么,以及怎么把它部署到 Linux 服务器上。
项目的背景
IAM项目主要是一个有关于“安全”的项目,既企业内部的各个资源调度如何保证安全的访问,和权限等级的设置。
安全主要说的以下的两类
- 服务自身的安全:需要禁止非法用户访问服务,服务器层面可以通过物理隔离、网络隔离、防火墙等技术从底层保证服务的安全性,软件层面可以通过 HTTPS、用户认证等手段来加强服务的安全性。
- **服务资源的安全:**说白了就是一个权限控制系统,什么样的角色什么样的身份能访问什么样的资源
这个项目中呢,认证比较的简单就是JWT,而服务的资源和资源策略的控制比较的复杂
IAM系统是什么
IAM能够 在特定的条件下,谁能够 / 不能够对哪些资源做哪些操作(Who is able to do what on something given some context),也即完成资源授权功能。

上面就是一个过程示意图

IAM系统长啥样
首先外面来看看系统的架构

9大组件3大数据库,5个核心组件
iam-apiserver、iam-authz-server、iam-pump、marmotedu-sdk-go 和 iamctl 的功能
数据库是MySQL,MongoDB,Redis
然后我们总结了一张张的表格,帮助大家梳理脉络


通过使用流程来理解架构

软件架构模式
MVC
前后端分离
上述内容比较的简单这里就不展开的讲了,有时候大项目前后端比较好,小项目有时候MVC更好
总结
