当前位置: 首页 > 网络应用技术

Idaas是什么?一篇文章需要您充分理解Idaas!

时间:2023-03-08 15:26:10 网络应用技术

  IDAAS身份是什么?它有什么价值?让我们找出答案。

  在构建数字身份平台的过程中,IAM(IAM(身份和访问管理),即“身份识别和访问管理”。尽管传统的IAM服务已经解决了一些身份问题,但发展效率很低,成本为认真的。无论何时我们开发应用程序,我们都需要开发一个用户系统并变得复杂。

  IDAA基于IAM添加云计算。基于云本地体系结构和自然适应,大量数据存储,多维保证数据安全。

  本文将从以下三个方面讨论IDAA的价值:

  软件是服务:软件作为服务,缩写是我们经常称之为的SaaS。

  也就是说,服务(AAS)通常是指其他人提供的服务(通常是指云服务制造商),该服务使个人或企业可以专注于其更重要的业务。

  在SaaS的软件交付模式下,该软件不再需要复杂的安装和部署过程。它可以直接通过网络连接使用。可以在云服务制造商中使用软件和数据监管。

  例如,Tencent Cloud Live的SaaS解决方案和Microsoft Office 365实际上是针对单个用户的典型SaaS应用程序。

  还有另外两种与SaaS相对应的交付模式:Iaa和Paas。

  交付模式比较图[1]

  上图中的蓝色蓝色模块表示公司需要实施的服务,红色模块代表云服务制造商提供的服务。

  现场,一切都在本地部署。

  iaas是一项服务的全名,基础架构是服务。它主要提供一些基本资源,包括实际服务器,网络,虚拟化和存储。我们的软件。

  PAAS,全名平台作为服务,该平台是服务。除了提供基础架构外,云服务制造商还提供了业务软件的操作环境,并以集成解决方案或服务的形式将平台交付给用户。例如,Tencent Cloud的微服务平台TSF基于弹簧云和服务网络提供支持。

  PAAS实际上是SaaS模型的应用,但区别在于SaaS不是软件开发人员,而是软件的最终用户。

  有一个生动的披萨作为服务的例子[2]。

  与上述相对应,含义可能是:

  IAM的全名身份和访问管理,

  这是一项Web服务,可帮助用户安全地控制资源的访问。在外行的条款中,您可以使用IAM来控制谁通过了身份验证(允许登录)并获得了授权(所有权)来使用资源。有关详细信息,请检查AWS IAM文档[3]。

  类似于在建筑物的入口处雇用保安人员,在公司的申请与IAM服务连接后,您可以“高枕头和担忧”。IAM将帮助您控制谁有权访问该应用程序。

  来到本文的主角,身份是服务:身份作为服务。

  身份是IAM中的身份概念,并且作为一开始就引入了SaaS。

  IDAAS实际上是基于SaaS模型的IAM解决方案,即云上的身份和访问管理服务,由受信任的第三方云服务制造商完全信任主机和管理。IT允许企业使用单个 -点登录,身份验证和访问控件,以提供对任何访问访问的任何访问的安全访问。

  根据IDAAS制造商提供的功能,在某种程度上,您甚至可以认为Idaas是IAM。

  IDAAS的制造商目前在中国了解到的是Tencent Cloud Idaas [4],Alibaba Cloud Application Identity Service Idaas [5],Audhing [6]。实际上,您可以访问上面的三个公司官方网站以查看,请参阅其准备好的解决方案。单击查看Audhing开发人员文档

  IDAA的功能可以统称为5A功能[7]:帐户,身份验证,授权,应用程序,审计。

  但是我想称其为五个统一功能:

  帐户模块的管理很容易理解。如果您想要最基本的作品,如果应用程序要实现一个点登录,

  单个登录(称为SSO)是最受欢迎的业务集成解决方案之一。SSO的定义是,在多个应用程序系统中,用户只需要登录即可访问所有信任应用程序系统。

  A系统成功后,B系统将成功登录为User1。例如,TAOBAO TAOBAO.com和TMALL TMALL.com。

  是否必须将其帐户放在一个地方进行会话管理。

  但是,由于业务需求,应用程序系统和IDAA必须进行帐户同步(SCIM/LDAP方法)。

  标识称为身份验证。更生动地指出了通过输入帐户密码,验证代码或应用程序中的扫描代码来登录应用程序的过程。

  Idaas使用的认证协议为您完成,并完成了登录页面,并直接馈入您的口腔。您只需要重定向您的申请。

  有许多身份认证协议:OIDC/SAML等。我将再次关注OIDC协议。

  授权授权,避免与身份验证身份验证混淆。

  授权是指可以在客户成功后使用有限权限访问服务方面资源的机制。

  IDA的授权体系结构通常选择基于角色的权限访问控制(RBAC)。

  常用的授权模式是基于OAUTH 2.0框架的授权代码模式。该部分还将重点放在下面的OIDC章节上。

  应用程序应用程序包括企业访问自己的申请,以及由IDAAS提供的一些可选模板应用程序(例如Gitlab,Grafana等)。

  艾达斯本身提供统一的标准和规格,并使用统一的管理。例如,它可以控制应用程序是否可以支持单点登录,并访问可访问的成员。

  审核审核,无话可说,业务视角,代码掩埋点,网络钩等记录与用户相关的操作日志相关的应用程序日志,这很方便管理员分析该数据的日常操作和安全事件数据系统。

  接下来,它将输入本文的核心内容,告诉IDAAS背后的基石,支持认证和授权功能:OAUTH 2.0和OIDC协议。

  Oauth是公开授权,开放授权。

  OAuth 2.0(RFC 6749 [8])是一种授权的标准协议,允许第三方应用程序获得有限的资源服务访问权限。

  根据OAUTH 2.0协议规范,定义了四个角色:

  OAuth 2.0中的应用程序可以是资源服务器和客户端。应用程序工作的场景是什么角色。

  这个概念可能很难咀嚼,请慢慢吞咽。

  这四个字符一直在一个称为访问令牌的东西盘旋。

  访问令牌也是一个访问令牌,用于允许应用程序访问资源API。用户认证成功后,授权服务器将向应用程序发布访问令牌。应用程序需要带来访问令牌以访问资源API。资源服务API将测试访问令牌是否有权访问确定是否返回相应资源。

  访问令牌只是一串随机字符串,它不会从中获取任何信息。检查访问令牌的步骤还要求资源服务器将其转发到授权服务器进行分析和验证。

  了解访问令牌后,让我们注意客户呼叫方如何获得授权模式的选择。

  我们专注于许可代码模式和客户端凭证模式。这两个是最常用的。

  首先查看许可代码模式,也称为更改令牌模式的代码。我们使用堆栈溢出登录以与GitHub登录为示例(堆栈溢出是此过程中的客户端,GitHub是资源服务器,提供邮箱头像和其他资源信息。同时,Github也是授权的服务器。,将发放给客户)。

  在第一步中,您需要跳到作者的地址,即GitHub的地址,并且必须在URL上携带和平等信息。

  继续第二步。当我们单击授权按钮时,此时,授权服务器(即GitHub)将将浏览器重定向到第一步的参数指定的URL,并且跳跃时,代码参数(由GitHub背景生成)和状态将携带参数。

  在第三步中,由于浏览器触发请求,堆栈溢出网站的背景可以接收请求并获取授权的代码和状态。

  在第四步中,可以将堆栈溢出与Github保持和交换。收到请求后,GitHub将检查代码并发出访问令牌(代码有一个过期的时间,可支配)。

  在最后的第五步中,Stack Overflow使用GitHub发出的访问令牌和GitHub来获取所需的资源(用户邮箱地址),然后进行自己的业务流程。通常,是重定向主页。

  完整的过程可以看到创建GitHub的OAuth应用程序文档[9]。

  另一个客户券模式相对简单,毕竟,它只是纯回端交互。

  例如,B应用程序具有许多照片资源,即B是资源服务器(假设它也是授权服务器),并且A客户端希望获得B的照片资源。

  第一步,A应用程序是直接使用的,并向B申请资源。

  指示使用客户券模式授权的使用。

  在第二步中,B作为授权服务器验证客户端客户端的client_id和client_secret是否合法,然后发出访问令牌。

  在第三步中,A客户端将令牌运送到B Resource Server以获取照片资源。

  在此期间,没有用户的参与,客户本身等同于“用户”。

  在谈论OAuth 2.0授权后,请访问OIDC认证协议。

  例如标题,OIDC的全名是OpenID Connect [10],

  它是基于OAUTH 2.0认证 +授权(OAUTH 2.0)协议的协议。

  OIDC可以理解为OAuth 2.0的过度,它在OAuth 2.0上达到了更多标准,例如定义一系列端点。也有一些规格,例如会话管理[11] [11],Front-Channel logout [12],,,,,,登录[11],front-cannel logout [12],,反向通道注销[13]。

  OIDC具有身份验证的原因是因为根据OAuth 2.0发行的访问令牌,发出ID令牌(用户身份证书)。与访问令牌是一个随机的字符串,ID令牌是jwt.token。

  ID令牌本身包含了某些用户的基本信息,并且由于JWT的篡改修改,客户端不需要验证授权服务器,并且可以直接使用ID代币来验证身份。如果ID代币包含不足的用户信息,则,您可以调用OIDC定义的UserInfo端点(用户信息接口)以获取更多用户信息。

  OIDC协议的名词定义和OAAUTH 2.0协议定义的定义略有不同:

  最后,OIDC的授权过程与OAuth 2.0相同。主要区别在于,ID令牌将在OIDC授权过程中另外返回。

  IDAAS的认证和授权使用OIDC/OAUTH 2.0.为了坦率地构建IDAAS,您必须首先构建授权的服务器OpenID提供商(更常见于OIDC提供商)。

  但是,即使您完全了解OIDC协议,您仍然非常笨拙地自己实现OIDC提供商集合。幸运的是,许多出色的项目已经在云本地环境中构成。本文将在GO语言生态系统中简要介绍DexIDP/DEX及其hydra。如果您有兴趣,可以了解有关官方网站的更多信息。

  Dex [14]作为CNCF的沙盒项目,是带有可插入连接器的OIDC和OAUTH 2.0提供商。

  它可以通过“连接器”充当其他身份提供商的门户。它可以将身份验证推向LDAP服务器,SAML提供商或GitHub,Google和Active Directory以及其他成熟的身份提供商。客户端仅需要编写身份验证逻辑即可与DEX连接,然后DEX在特定的背面处理协议-结尾。

  Ore Hydra [15]是OAuth 2.0和OpenID连接提供商。

  特别是,由Hydra实施的OAUTH 2.0协议不依赖于GO标准库,而是自化的fosite [16]。

  此外,Ore Hydra还提供了5分钟的快速移动教程。

  身份行业正在朝着现代身份标准,零信任的网络安全模型,基于区块链技术,基于物联网(IoT)的身份认证(IoT)的身份认证的分散身份身份验证的发展发展,目前面临着身份行业的挑战和趋势。

  作为现代身份,艾达斯(Idaas)诞生是为了支持当前和未来的变化。与艾达斯(Idaas)一起,您可以轻松地与您的组织建立联系,以为您提供创新的未来。

  艾滋病是如此出色的IDAAS提供商。作为首个以国内开发人员为中心的完整身份云产品,它集成了所有主流身份认证协议,以向企业和开发人员提供完美的安全用户认证和访问管理服务。

  主要功能包括:单登录,用户分析,代码扫描登录,多因素认证,行为审核,风险控制,跨平台设备管理,IoT身份认证等;与各种国际标准协议兼容:OAUTH 2.0,OIDC,SAML,AD,AD/LDAP,WS-FED,JWT等;此外,还有基于功能计算的管道,可以扩展作者而无需限制。支持云交付和私有化部署方法,以帮助企业和开发人员提高生产效率,提高数千级。

  不管是B和E还是C的最终用户场景,Audhing都可以:大大降低运营成本,提高内部管理效率;改善用户体验并提高用户操作功能。

  参考

  [1]交付模式比较图:https://www.redhat.com/zh/topics/cloud-computing/what-s-saas

  [2]披萨作为服务:https://m.oursky.com/saas-paas-nd-nplaining-ne-ne-ne-ne-d56c3e6f4606

  [3] AWS IAM文档:https://docs.aws.amazon.com/zh_cn/iam/lated/userguide/intrantion.html

  [4] Tencent Cloud Idaas:https://cloud.tencent.com/product/tcid

  [5] Alibaba Cloud应用程序身份服务IDAAAAA:https://www.aliyun.com/product/idaas

  [6]助手:https://www.authing.cn/

  [7] 5A能力:https://help.aliyun.com/document_detail/167902.html

  [8] RFC 6749:https://datatracker.ietf.org/doc/html/rfc6749

  [9]创建一个OAAUTH应用程序文档:https://docs.github.com/en/developers/building-oauth-!

  [10] OpenID连接:https://openid.net/specs/openid-connect-core-core-1_0.html

  [11]会话管理:https://openid.net/specs/openid-conft- setml

  [12]前通道注销:https://openid.net/specs/openid-conftchaannel-1_0.html

  [13]背面渠道注销:https://openid.net/specs/openid-backchannel-1_0.html

  [14] dex:https://dexidp.io/

  [15] Ore Hydra:https://www.ory.sh/hydra/docs/next/

  [16] fosite:https://github.com/ory/fose