企业信息化-走进身份管理之搭建篇
一、身份管理是什么
我们先要弄懂统一身份管理到底是什么?
统一身份管理(Unified Identity Manager,UIM),身份管理(Identity Management,简称IDM),也被称为IAM(Identity and Access Management,即身份和访问管理),是账号管理、认证管理、授权管理、审计管理解决方案的统称,是一套完整的账号集中管理、管控的解决方案。以下是对身份管理的详细解释:
是一种对企业或组织内部的所有用户身份进行集中化、标准化管理的解决方案。它旨在通过统一的账户管理、身份认证、用户授权和权限控制等功能,简化用户身份管理流程,提高工作效率,并加强数据安全。以下是对统一身份管理的详细解释:
一、定义与功能
- 定义:统一身份管理是指将企业或组织内部的所有用户身份信息进行集中存储、管理和维护的过程。
主要包含四部分
身份管理(Account),认证管理(Authentication),授权管理(Authorization),审计管理(Audit)我们称之为4A
LinkCong-IAM系统核心功能列表
认证管理 | 登录认证 | OAuth 2.0/OpenID Connect |
SAML 2.0 | ||
JWT | ||
CAS | ||
FormBased | ||
TokenBased(Post/Cookie) | ||
MFA认证 | OTP认证 | |
新浪微博、微信、钉钉认证 | ||
身份管理 | 账号同步 | LDAP/AD同步,组织架构及账号同步 |
Webservice同步,组织架构及账号同步 | ||
钉钉/企业微信组织架构和账号同步 | ||
组织架构 | 组织架构管理 | |
账号信息 | 用户信息维护,启用/停用/重置密码等 | |
密码管理 | 制定相应的账号密码强度、有效期、多次输错密码锁定等 | |
应用库 | 常用SaaS应用,如腾讯企业邮箱、阿里企业邮箱 | |
OAuth应用 | 支持标准OAuth协议应用 | |
SAML应用 | 支持标准SAML协议应用 | |
JWT应用 | 支持标准JSON Web Token (JWT)标准应用 | |
CAS应用 | 支持标准CAS协议应用 | |
FormBased应用 | 支持HTTP+HTML FormBased(基于表单)的认证应用 | |
TokenBased应用 | 支持TokenBased(基于令牌)的认证应用 | |
授权管理 | 多维度授权 | 用户角色、类型、职级授权 |
用户组角色、类型授权 | ||
部门角色、类型、职级授权 | ||
审计管理 | 应用审计 | 对应用访问情况审计 |
用户审计 | 对用户行为进行审计 | |
管理员审计 | 对管理员操作进行审计 | |
审计报表 | 身份报表:用户分类、账号分类、违建账号、密码过期、密码 | |
访问报表:访问频率、在线用户、访问流量、访问时段、访问身份等报表 | ||
认证报表:认证方式统计、认证次数、认证总数、认证来源等报表 | ||
管理报表:异常报表、性能报表、接口报表、管理员权限等报表 | ||
日志审计:用户操作日志、管理员操作日志、业务管理员操作日志记录与分析 |
二、优点与应用场景
- 优点:
- 简化了用户身份管理的流程,降低了管理成本。
- 提高了工作效率,使用户能够更方便地访问和使用系统资源。
- 加强了数据安全,通过严格的身份认证和授权机制,防止未经授权的访问和操作。
- 应用场景:
- 企业内部员工管理:通过分配角色和权限等,进行员工的身份验证和权限分配,加强了企业的数据安全。
- 互联网金融领域:通过对客户实名认证和实现风险控制,确保交易安全。
- 电商平台:为用户提供更加便捷的购物体验,同时保障用户的账户安全。
三、实现方式与技术
- 实现方式:
- 自行开发:根据企业的具体需求进行定制开发,以满足特定的身份管理要求。
- 采用第三方解决方案:选择成熟的统一身份管理系统进行部署和实施,如联从信息IAM产品等。
- 云服务:通过云平台提供的统一解决方案进行部署,方便快捷地实现统一身份管理。
- 相关技术:
OAuth2.0:业内成熟的授权登录解决方案,能够适应多种场景,作为基于令牌的安全系统,可以广泛用于需要统一身份认证和授权的场景。
JWT:JSON Web Token,是一种用于双方之间安全传输信息的简洁的、URL安全的令牌标准。它可以通过数字签名来进行验证和确保信息的安全性。
CAS:Central Authentication Service,是一种企业级单点登录的解决方案,能够解决多个应用系统的统一登录问题。
SAML: SAML(Security Assertion Markup Language),即安全断言标记语言,是一种基于XML的标准,用于在不同的安全域之间交换认证和授权数据。
FormBased: 在Web开发中,基于表单的认证(Form-Based Authentication)是一种常见的用户认证方式。它使用自定义的HTML表单(如login.jsp)作为输入用户名和密码的用户界面,用户填写完表单后,将其提交至服务器进行验证。这种方式相比HTTP Basic认证等更为安全,因为通常情况下,表单页面(如login.jsp)会被配置为需要使用SSL信道访问,从而保护用户名和密码在传输过程中的安全性
TokenBased(Post/Cookie): 基于Token的(Token-Based),这一术语通常用于描述使用Token作为身份验证和授权机制的方法。
MFA认证: 多因素认证(Multi-Factor Authentication),是一种安全验证机制,要求用户在访问系统或服务时提供两种或两种以上的身份验证信息。
企业实施身份管理的现状:
1.身份存储分散,不能统一供应诸多应用系统,企业用户信息常常存在于多个系统,如HR系统有一套用户信息,OA系统也有一套用户信息,身份存储不集中,不能统一地为诸多应用系统供应用户信息,且两套信息还可能有一定的不一致性。
2.账户生命周期得不到完善的管理, 账户到创建(入职)到销毁(离职)是一个生命周期,但由于身份存储的分散性,使得账户的创建和销毁都要多系统操作,这可能会导致账户生命周期的管理复杂,并随便系统的不断增多,这种复杂便更加重了,不仅增加了IT维护成本,而且还存在的权限方面的风险。
3.各系统不能进行统一的认证、授权、SSO, 身份存储的分散性,各系统架构也不尽相同,使各系统进行统一的用户认证变得越发困难,从而也无法实现统一授权,SSO。
4.员工要记住多组用户名和密码, 身份存储的分散性导致员工常常要记住多组用户名和密码,常常会导致用户名、密码遗忘,增加系统管理员的工作及IT维护成本。
5.账户的审计工作很难进行, 由于缺乏对账户的统一管控,导致账户的审计工作很难进行,无法生成直观的审计报表,不利于企业在IT安全性管理方面的提升。
三、企业IAM统一身份管理系统实施目标
- IT管控:增强IT管控从分开管理转变为集中管理。
- 成本控制:防止孤立帐户造成损失,通过IDM/IAM身份管理系统减少运行和管理成本。
- 安全性:构建企业级标准,增强从集团到所有子公司和业务单元的集中化端到端管理,降低安全风险。
- 自动化:HR 导向的用户身份和组织生命周期管理,维系人员、企业和 IT 之间的联系。
- 用户体验:通过设置单一用户名口令和自助式控制台,改善并简化用户体验。
围绕这如下五方面搭建统一身份管理平台:
1、统一身份管理
•构建基于LDAP的身份信息权威数据源,作为身份管理、身份认证和权限管控的基础数据中心;
•实现LDAP与集团HR/OID的数据同步;
•各IT系统的的账号实现与LDAP的统一(考虑修改为集团统一身份标识),或实现账号映射;
•账号(包括账号对应)、角色、基础组织基础数据存储。
2、身份认证&单点登录
•构建单点登录认证体系,确保的现有系统/在线系统/待建系统的接入;
•与LDAP集成,实现基于LDAP的统一身份认证;
•实施各现有系统和在建系统的统一身份认证和单点登录;
•实施员工服务门户,作为各系统的一站式访问入口;
•需支持移动认证或移动应用之间的单点登录解决方案。
3、访问权限管理
•实现对于账号信息及各系统账号对应关系的管理;
•统筹设计与规划系统访问角色,实现基于角色的访问权限管控体系及角色管理;
•实现对用户(账号)的访问授权管理,访问授权管理可通过功能、流程两种方式实现,常规授权仅可通过入职、离职、转岗、其他异动四支流程实现,仅可由系统管理员通过授权功能进行访问权限管理。
4、安全审计与合规
•实现身份管理平台的日志记录与审计功能,日志记录的信息至少应包括:管理员操作日志、数据同步日志、功能操作日志、系统访问记录等;
•最终用户登录认证记录审计功能,记录最终用户的登录IP、时间、登录用户、登录状态等信息;
•实现密码策略配置管理,可由管理员配置系统密码策略; 用户名策略、内外网访问策略,移动安全策略等。
5、平台标准规范
•设计各类平台标准规范,包括且不限于:系统接入集成规范、账号管理规范、系统访问规范、各类安全管控规范等。
统一身份管理平台在企业中的位置如下:
统一身份管理实施规划如下:
二:整体方案介绍
总体建设:构建统一安全IDM/IAM身份管理平台,这一需求的目的是将企业各个系统的用户进行集中统一的管理,以“安全”,“高效”为核心目标,实现以下功能:
1.组织人员相关的基础数据完全统一:基于联从IAM/IDM产品和ESB服务总线,以SAP/EBS和OA/门户数据为源头,向其他应用系统提供统一组织和人员信息服务。
- 企业组织结构的统一
- 人员信息统一
- 用户账号的统一
2.用户授权认证的统一管理:所有系统登录,都通过IDM/IAM身份管理系统进行校验获取身份认可后,才可访问具体系统。
3.各个信息系统实现单点登录:常规操作中,以单点门户作为统一登录入口,进入门户后,跳转到各个业务系统。
4.统一的安全审计:基于IDM/IAM身份管理,分析用户请求数据,提供统一的安全审计。
IAM/IDM项目的重点为前期调研、方案和规范的制定。考虑到系统对接优先级和时间节点因素,调研分为三阶段迭代进行。
调研第一阶段:制定模板统一收集
•制定模板收集信息:制定统一模板,下发到各个系统进行信息收集,收集信息如下:系统名称、登录账号格式、是否存在一人多号或者一号多人的情况、与8位工号是否有映射关系、支持浏览器、系统描述、系统架构、用户数量、使用用户群、访问网络、实施产品、所用技术、是否有移动端、人员所必须的字段、组织所必须的字段、集成需要实现功能点及描述、是否有账号重叠的情况。
•输入支持:各业务系统按实际情况填写模板文档中的信息。
•输出产出物:业务系统调研文档(Excel)
调研第二阶段:根据调研结果归纳分析
•基于现有调研结果归纳分析:基于现有调研结果归纳分析,总结出系统架构类型,如: 产品类系统,BS架构类的系统,SAAS云系统,CS架构类系统,其他类型系统。系统用户基数,实施产品和开发语言,人员和组织同步所必须的字段等。
•输出产出物:总体解决方案(PPT)
调研第三阶段:分批重点调研
•分批次重点调研:在前期统一模板收集分析后,分批次重点调研各个业务系统,如门户、考勤、邮件、门户、LIMS放在前面优先重点调研,采用电话的方式对系统负责人进行系统调研,明确产品的技术架构和所支持的集成协议。
•接口规范、组织同步接口规范、单点登录接入规范、统一认证接口规范。
•输出产出物:账号编码规范(Word)
账号字段规范(Word)
组织架构规范(Word)
账号同步接口规范(Word)
组织同步接口规范(Word)
单点登录接入规范(Word)
统一认证接口规范(Word)
详细方案介绍
1.人员&组织初始化方案
- MDM&门户&组织合集,做为最终初始化数据;
- 日常过程,实现MDM和IDM/IAM的集成,及时更新MDM中HR部分的人员&组织数据。
- 业务系统无法根据IDM/IAM数据进行初始化,IDM/IAM提供初始化Excel,业务系统根据自身情况进行初始化(IAM提供初始化数据及数据模版)。
- 在进行系统数据收集时,明确哪些数据需要下发到下游系统,进行数据下发(IDM/IAM提供收集模版)。
2.人员&组织MDM集成方案
3.人员&组织下发方案
4.单点登录应用配置
5.账号及密码策略
- 账号编码规范-划分维度
1、内部员工
2、外部用户(合作伙伴、共用账号、临时用户、兼职用户、其他用户等。)
6.人员&组织数据梳理
- 核对原则
1.确认业务系统中是否组织、人员ID是否完整,不完整数据需要导出到业务系统确认
2.确认行政人员及组织是否在IAM中存在,若不存在需要导出到MDM(HR)系统确认是否为后续新建组织,是则在MDM(HR)中添加生成标准编号,通过同步至IAM中,否则在IAM进行自建
7.各业务系统历史账号
各系统业务增加映射字段/映射表,实现历史账号和新账号的对应关系,所有的新账号,由IDM/IAM统一创建和推送,各业务系统关闭自己的账号创建相关功能。
8.完成员工全生命周期的管理
四:风险策略
1.上线试用风险:分批使用,管理部先使用,在推广到其他部门
步骤:
1、人员&组织,在IAM平台中还是按照全量数据初始化
2、下发数据到下游业务系统
3、第三方业务系统改造时,要求第三方业务系统(例如门户),保持两个入口
2.账号&密码起初使用风险
账号&密码起初使用:
1、无法知道自己的登录账号
2、无法知道自己的登录密码
账号初始化策略:
1、支持,账号、手机号、邮箱、工号字段的登录方式
2、提供账号查询功能,支持根据工号、电话、邮箱查询自己的账号信息
密码初始化策略:
1、内部账号和外部用户的密码规则,通过上线公告告知
2、初始化门户密码到IAM中
3.应急策略
为保证当单点登录系统出现故障时,各系统依旧可以进行登录,故在单点登录项目实施阶段提供应急登录页。
相关文章:

企业信息化-走进身份管理之搭建篇
一、身份管理是什么 我们先要弄懂统一身份管理到底是什么? 统一身份管理(Unified Identity Manager,UIM),身份管理(Identity Management,简称IDM),也被称为IAM&#…...

实践指南:EdgeOne与HAI的梦幻联动
在当今快速发展的数字时代,安全和速度已成为网络服务的基石。EdgeOne,作为腾讯云提供的边缘安全加速平台,以其全球部署的节点和强大的安全防护功能,为用户提供了稳定而高效的网络体验。而HAI(HyperApplicationInventor…...

Exploring Prompt Engineering: A Systematic Review with SWOT Analysis
文章目录 题目摘要简介方法论背景相关工作评估结论 题目 探索快速工程:基于 SWOT 分析的系统评价 论文地址: https://arxiv.org/abs/2410.12843 摘要 在本文中,我们对大型语言模型 (LLM) 领域的提示工程技术进行了全面的 SWOT 分析。我们强…...

ByteBuffer 与 ByteBuf 的对比与优缺点分析
在 Java 网络编程和高性能 I/O 场景中,ByteBuffer 和 ByteBuf 是两种重要的缓冲区处理工具。ByteBuffer 是 Java NIO 标准库的一部分,而 ByteBuf 是由 Netty 框架提供的增强缓冲区工具。在实际开发中,选择哪一种取决于场景需求和性能目标。 …...

js高级06-ajax封装和跨域
8.1、ajax简介及相关知识 8.1.1、原生ajax 8.1.1.1、AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 按需请求,可…...

RabbitMQ3:Java客户端快速入门
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...

D 型 GaN HEMT 在功率转换方面的优势
氮化镓 (GaN) 是一种 III-V 族宽带隙半导体,由于在用作横向高电子迁移率晶体管 (HEMT) 时具有卓越的材料和器件性能,因此在功率转换应用中得到越来越多的采用。 HEMT 中产生的高击穿电场 (3.3 MV/cm) 和高二维电子气 (2DEG) 载流子迁移率 (2,000 cm 2 /…...

Java Web后端项目的特点和组成部分
技术栈 #### Java Web技术: - **Servlet**:Java Web的核心,用于处理HTTP请求。 - **WebServlet注解配置**:用于简化Servlet的配置。 - **HttpServlet基类**:大多数Servlet都继承自此基类。 - **请求响应处理**&#x…...

Vue3 + Vite + TS 项目引入 Eslint + Pritter
文章目录 一、ESLint 简介主要功能适用场景常用的 Eslint 配置项 二、Pritter 简介主要功能适用场景常用的 Prettier 配置项 三、Vue3 Vite TS 项目引入 Eslint Pritter1. 安装 ESLint2. 初始化 ESLint 配置3. 在 Vite 项目中启用 ESLint4. 在 VS Code 中启用 ESLint5. 集成…...

用Tauri框架构建跨平台桌面应用:1、Tauri快速开始
Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架,同时可以在必要时使用 Rust、Swift 和 Kotlin 等语言编写后端逻辑。 Tauri 是什么? |…...

Django实现智能问答助手-数据库方式读取问题和答案
扩展 增加问答数据库,通过 Django Admin 添加问题和答案。实现更复杂的问答逻辑,比如使用自然语言处理(NLP)库。使用前端框架(如 Bootstrap)增强用户界面 1.注册模型到 Django Admin(admin.py…...

stm32利用LED配置基础寄存器+体验滴答定时器+hal库环境配置
P1 LED控制与流水灯效果实现 概述 大家好,今天我们来学习一下如何在STM32上控制LED灯,并且实现一个流水灯的效果。这不仅是一个基础的实践,也是嵌入式开发中非常常见的需求。 LED控制 1. LED初始化 首先,我们需要对LED灯对应…...

JAVA开源项目 桂林旅游景点导游平台 计算机毕业设计
博主说明:本文项目编号 T 079 ,文末自助获取源码 \color{red}{T079,文末自助获取源码} T079,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...

docker安装使用Elasticsearch,解决启动后无法访问9200问题
1.docker安装、启动es docker pull elasticsearch:8.13.0docker images启动容器 docker run -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS"-Xms256m -Xmx256m" --name es01 8ebd258614f1-d 后台运行-p 9200:9200 -p 9300:9300 开放与主机映射端口-e ES_JAVA_OPTS…...

GM、BP、LSTM时间预测预测代码
GM clc; clear; close all;%% 数据加载和预处理 [file, path] uigetfile(*.xlsx, Select the Excel file); filename fullfile(path, file); time_series xlsread(filename);% 确保数据是一列 time_series time_series(:);% 归一化数据 min_val min(time_series); max_v…...

《操作系统 - 清华大学》4 -5:非连续内存分配:页表一反向页表
文章目录 1. 大地址空间的问题2. 页寄存器( Page Registers )方案3. 基于关联内存(associative memory )的反向页表(inverted page table)4. 基于哈希(hashed)查找的反向页表5. 小结 1. 大地址空间的问题 …...

志愿者小程序源码社区网格志愿者服务小程序php
志愿者服务小程序源码开发方案:开发语言后端php,tp框架,前端是uniapp。 一 志愿者端-小程序: 申请成为志愿者,志愿者组织端进行审核。成为志愿者后,可以报名参加志愿者活动。 志愿者地图:可以…...

Java语言编程,通过阿里云mongo数据库监控实现数据库的连接池优化
一、背景 线上程序连接mongos超时,mongo监控显示连接数已使用100%。 java程序报错信息: org.mongodb.driver.connection: Closed connection [connectionId{localValue:1480}] to 192.168.10.16:3717 because there was a socket exception raised by…...

使用ufw配置防火墙,允许特定范围IP访问
文章目录 1. 安装 UFW(如果尚未安装)2. 允许特定 IP 地址访问 22 端口3. 允许特定子网访问 22 端口4. 启用 UFW5. 检查 UFW 状态6. 重新加载 UFW(如果需要)7. 删除规则(如果需要) 在ubuntu上使用 ufw&#…...

实现 UniApp 右上角按钮“扫一扫”功能实战教学
实现 UniApp 右上角按钮“扫一扫”功能实战教学 需求 点击右上角扫一扫按钮(onNavigationBarButtonTap监听),打开扫一扫页面(uni.scanCode) 扫描后,以网页的形式打开扫描内容(web-view组件),限制只能浏览带有执行域名的网站,例如…...

【2024亚太杯亚太赛APMCM C题】数学建模竞赛|宠物行业及相关产业的发展分析与策略|建模过程+完整代码论文全解全析
第一个问题是:请基于附件 1 中的数据以及你的团队收集的额外数据,分析过去五年中国宠物行业按宠物类型的发展情况。并分析中国宠物行业发展的因素,预测未来三年中国宠物行业的发展。 第一个问题:分析中国宠物行业按宠物类型的发展…...

ubtil循环函数调用
什么是until until循环是一种控制流结构。它与while循环相反,while循环是在条件为真时执行循环体,而until循环是在条件为假时执行循环体,直到条件为真时才停止循环。 until代码示例: i0 do until [ ! $i -lt 10 ] echo $…...

使用EFK收集k8s日志
首先我们使用EFK收集Kubernetes集群中的日志,本次实验讲解的是在Kubernetes集群中启动一个Elasticsearch集群,如果企业内已经有了Elasticsearch集群,可以直接将日志输出至已有的Elasticsearch集群。 文章目录 部署elasticsearch创建Kibana创建…...

聚水潭与MySQL数据集成案例分享
聚水潭数据集成到MySQL的技术案例分享 在现代数据驱动的业务环境中,如何高效、可靠地实现不同系统之间的数据对接成为企业关注的焦点。本次案例将详细介绍如何通过轻易云数据集成平台,将聚水潭的数据无缝集成到MySQL数据库中,实现从“聚水谭…...

Python 版本的 2024详细代码
2048游戏的Python实现 概述: 2048是一款流行的单人益智游戏,玩家通过滑动数字瓷砖来合并相同的数字,目标是合成2048这个数字。本文将介绍如何使用Python和Pygame库实现2048游戏的基本功能,包括游戏逻辑、界面绘制和用户交互。 主…...

SpringCloud框架学习(第四部分:Gateway网关)
目录 十一、Gateway新一代网关 1.概述 2.Gateway三大核心 3.工作流程 4.入门配置 5.路由映射 (1)8001 外部添加网关 (2)服务间调用添加网关 (3)存在问题 6.Gateway高级特性 (1&#x…...

C++ 类和对象 (上 )
学习本身就是一件很快乐的事情 一. 面向对象和面向过程 我们在学习计算机的过程中经常会听到xxx是一门面向对象的语言 xxx是一门面向过程的语言 那么到底什么是面向对象 什么是面向过程呢? 简单介绍下 面向过程 面向过程关注的是过程 分析出求解问题的步骤&…...

HAProxy面试题及参考答案(精选80道面试题)
目录 什么是 HAProxy? HAProxy 主要有哪些功能? HAProxy 的关键特性有哪些? HAProxy 的主要功能是什么? HAProxy 的作用是什么? 解释 HAProxy 在网络架构中的作用。 HAProxy 与负载均衡器之间的关系是什么? HAProxy 是如何实现负载均衡的? 阐述 HAProxy 的四层…...

探索PyCaret:一个简化机器学习的全栈库
探索PyCaret:一个简化机器学习的全栈库 机器学习领域充满了挑战,从数据预处理、特征工程到模型训练与评估,再到模型部署。对于数据科学初学者或者时间有限的开发者,这一流程可能显得繁琐且复杂。幸运的是,PyCaret 提供…...

英语写作中“联系、关联”associate correlate 及associated的用法
似乎是同义词的associate correlate 实际上意思差别明显,associate 是人们把两者联系在一起(主观联系),而correlate 指客观联系。 例如: We always associate sports with health.(我们总是将运动和健康联…...