Navigation
阅读进度0%
No headings found.

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更好

总结

画板