Authing|Authing 实践 | 授权管理使企业用户登录更容易

Authing|Authing 实践 | 授权管理使企业用户登录更容易
文章图片

随着企业数字化转型的发展,基于网络的应用不断扩展延伸,各类新的系统和工具不断被引入,多应用系统并存给企业 IT 运维管理和信息安全带来了新的挑战。
对于企业管理来说,【授权】能够明确组织成员之间的关系,使职责和边界更加清晰,方便公司管理。同时,【授权】能保障数据安全、防控风险,不同权限准许不同操作,可防止用户人为破坏、数据泄漏、误操作等事故的发生;【授权】还能够提高决策效率,优秀的授权和权限管理使系统更易操作,使员工的工作效率得到提升。
01 我们所知的市场中 【授权】主要有以下三个方式:

  • 在通用领域内,授权是领导者通过为员工和下属提供更多的自主权,以达到组织目标的过程。
  • 在计算机领域内,授权是由信息系统指定批准机构授予某实体处理、存储或传送信息的权力。
  • 而在身份认证领域内,授权是指当客户端经过身份认证后,能够有限的访问服务端资源的一种机制。
【授权模式】主要为两种,分别是通过基于 OAuth 2.0 流程中的授权码模式,以及通过 API 接口到授权中心对用户授权进行集中验证,来实现企业各种应用系统进行统一的登录认证,权限认证的方法。
通过系统,将用户账号、密码、角色权限等信息都在集中平台上管理。实现用户登录一次系统,就可以根据自己的权限访问企业其他各个应用系统。
02 基于 OAuth 2.0 框架的授权模式 OAuth2 框架是一种安全、轻量、标准的授权体系,用于帮助资源方、调用方、资源所有者之间的完成授权流程。
curl --request POST \ --url https://${YOUR_AUTHING_DOMAIN}/oidc/token \ --header 'accept: application/json' \ --header 'cache-control: no-cache' \ --header 'content-type: application/x-www-form-urlencoded' \ --data 'grant_type=client_credentials&scope=customScope&client_id=CLIENT_ID&client_secret=CLIENT_SECRET'

Authing 会根据调用方请求的资源和上下文环境,动态的决定颁发具备哪些权限的 AccessToken。
{ "access_token": "...", "token_type": "Bearer", "expires_in": 3599, "scope": "user", "scope_rejected": "xxx yyy" }

【Authing|Authing 实践 | 授权管理使企业用户登录更容易】当授权流程中涉及到需要资源所有者参与授权时,可以使用 OAuth2.0 框架中的授权码模式。
https://${YOUR_AUTHING_DOMAIN}/oidc/auth?client_id={你的应用 ID}&scope=openid book:read book:delete&redirect_uri={你的业务回调地址}&state={随机字符串}&response_type=code

当一切检验通过,就可以安全地返回资源。
03 使用权限 API 除了使用 OIDC 的 client_credentials 模式,还可以使用通用的权限 API,通过权限 API 创建角色、给角色授权角色、判断用户是否具备某个权限等。
权限管理一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。目前被大家广泛采用的两种权限模型为:
  • 基于角色的访问控制(RBAC)
  • 基于属性的访问控制(ABAC)
简而言之,若满足以下条件,请参考 ABAC:
  • 拥有许多用户的大型组织中;
  • 需要深入的特定访问控制功能;
  • 投资远距离的模型;
  • 需要确保隐私和安全合规;
但是,若满足以下条件,请考虑 RBAC:
  • 中小型企业;
  • 访问控制策略广泛;
  • 外部用户较少,并且你的组织角色得到了明确定义;
应用案例 某大型快销公司(用户规模亿级)
需求挑战:
涉及中国区数万多员工岗位周期各状态下的身份授权管理,IT 运维人员面临极大的挑战,包括人员账户管理批量开通和回收滞后,访问存在一定的安全风险,没有进行统一的授权管理。
解决方案:
Authing 为此快消企业构建身份治理体系, 提供统一权限入口、统一权限模型和授权,对所有员工的访问权限、访问行为进行集中管控,提供审计日志的存储和记录,解决当前员工权限问题,减少因人员身份管理不规范带来的信息安全风险、隐私风险及经营风险。
Authing 自动化账号生命周期管理代替企业当前手动式账号管理,批量管理员工入离职、授权应用和角色、停用、归档、删除、组织架构调整等工作。建立单一身份源,将身份同步中的属性信息至统一目录,向外输出唯一标准数据,便于 IT 管理。
Authing 一直致力于通过低代码的方式降低开发门槛,提高开发效率,让身份管理更简单更智能。Authing 已经助力数百家企业,实现统一身份的访问授权管理能力,成为提高用户转化率和实现业务增长的标配工具。
Authing 已服务全球七个国家的数万开发者和企业,包括招商银行、意大利裕信银行、中国石油、国家电网、日本丰田、大众汽车、博世集团、德高集团、高等教育出版社等不同行业客户。遵从不同国家和行业的安全与合规要求,实现可视化安全审计,加密传输与存储、自定义密码强度、自适应多因素认证等丰富的安全策略。
Authing|Authing 实践 | 授权管理使企业用户登录更容易
文章图片

关于 Authing Authing 是国内首款以开发者为中心的全场景身份云产品,集成了所有主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务。Authing 被科技部认定为「2020 国家高新技术企业」,被中国信息通信研究院评选为「国内身份管理与访问控制领域创新企业」,并被录入《2019 网络安全产业白皮书》。Authing 已为中国石油、国家电网、招商银行、日本丰田、德高集团等国内外优秀企业打造了卓越的开发方式、高效的办公流程和安全的 IT 管理体系。

    推荐阅读