「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战」
写在前面
11 月更文挑战主要是 Go 语言项目开发实战 这个课程的学习笔记,买了课不学有点浪费。
IAM 系统
IAM(Identity and Access Management,身份识别与访问管理)系统是用 Go 语言编写的一个 Web 服务,用于给第三方用户提供访问控制服务。用大白话说就是要实现访问控制和资源授权。IAM 使用的地方很多,比如说 OA(Office Automation) 系统(泛泛而谈),上班打卡请假工资明细写周报工作邮箱办公资源申请内部代码仓库权限等等都在这个系统里进行管理,但是这些资源不一定集中在一个平台上,有可能是其他公司提供的部分服务,比如说内部代码仓库在 GitLab 或者 GitHub 上,打卡是钉钉飞书企业微信移动办公之类的,工作邮箱又是另外的企业邮箱。那么怎么让这些不同服务的账号关联起来呢?OA 上面绑定账号,身份识别搞定。资源的访问管理,比如说一些可以放到私有云文档里的办公文档不是随便来个人都能看的,这里可以通过 OA 上面员工的身份来分配访问权限。有些东西可以外包给服务提供商,钉钉飞书企业微信等等平台的功能超级全面,但有些服务还是得自己来做,所以提 IAM 并不算过时。
说到这里,是不是应该谈一谈 IAM 系统的架构,来个一张图什么的,可惜我不是架构师,这方面我肚子里没货,想说也憋不出一段话,这是作者提供的架构图,随着课程推进我的笔记里应该会有对架构的理解。
环境搭建
1.准备一个 Linux 环境
我这一步使用腾讯云的云服务器(究极青春版),Ubuntu 20.04,这样更贴近真实情况。