云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

腾讯云_数据库逻辑模型_最新活动

小七 141 0

应用程序路由器实现博客作为一个序列到这个博客-现在就开始!

SAP云平台提供安全功能,如业务用户身份验证、授权管理等。我们将从一些安全术语的基础知识开始。

身份识别-用户身份识别就是要声明用户是谁。这可以通过用户id、用户名、电子邮件地址等

身份验证-提供必要的凭证来证明用户。这可以通过密码、证书、单点登录等方式实现。

授权–一旦用户通过身份验证,系统必须验证用户是否可以访问/执行某些操作。这可以是基于角色、基于组等

每个应用程序必须能够识别、验证和授权用户执行必要的操作。考虑到monolith系统本身实现所有功能的情况,它拥有用户、凭证和授权的存储。在相互连接的整体中,将用户凭证单独存储在所有系统中会变得很麻烦。这就是单点登录(SSO)的帮助所在。SSO为将用户存储保存在一个系统中提供了必要的解决方案,从而通过一个中央登录在系统环境中的所需资源之间共享相同的存储。

下图显示了具有提供业务用户身份验证和授权服务的组件的体系结构。

用户帐户而授权(UAA)组件是运行时平台的核心基础设施组件,淘客助手,用于用户身份验证和授权管理。一些对理解安全概念很重要的术语:

SAML身份验证:安全断言标记语言(SAML 2.0)是基于XML的开放标准,大数据服务,用于在身份提供者(IdP)和服务提供者(SP)之间交换主体(用户)的身份验证和授权数据。数据交换是通过被称为"承载断言"的消息来完成的。

一个"承载者"是拥有断言的任何一方(更多细节请参见此处)。断言的完整性通过XML加密和XML签名得到保护。SAML满足了web浏览器跨internet单点登录的要求。

OAuth授权:OAuth是一种授权协议。它定义了资源所有者(拥有要共享的数据的应用程序)、资源服务器(能够使用访问令牌接受和响应资源请求)、客户机(请求访问的应用程序)和授权服务器(用户帐户和身份验证服务–发布令牌的UAA)。

Web令牌:JSON Web令牌(JWT)包含标头和信息(如颁发者、过期时间等),并使用UAA服务的私钥进行签名。JWT以JSON对象的形式传输信息。在尝试访问应用程序时,云主机,用户必须从安全API获取JWT令牌,淘客助手怎么用,然后应用程序打开会话进行访问。

如图所示,应用程序路由器是在Cloud Foundry环境中运行的应用程序的入口点。应用程序路由器触发UAA中的身份验证过程。应用程序实例被假定为OAuth客户机,安全api充当资源服务器。在用户身份验证过程中,容器安全API从应用路由器接收到一个包含JWT格式OAuth访问令牌的Authorization:Bearer HTTP头。

接收到的OAuth令牌在一段时间后过期,post,应用程序实例必须使用UAA提供的刷新令牌来获取新的访问令牌。这些令牌必须由容器安全API使用UAA提供的安全库进行验证。

要使身份验证生效,需要在Cloud Foundry环境中部署以下组件。

应用路由器

应用路由器可以与应用实例一起部署,并绑定到XSUAA服务。它用于提供任何静态内容,我的云,并可用于任何应用程序URL屏蔽/重定向。应用路由器依赖于xs-应用程序.json任何配置的文件。

批准者可以通过在包.json主项目中不同文件夹中的文件:

一个示例xs-应用程序.json文件如下:

welcomefile属性是用标准屏幕显示认证后的用户。到应用程序URL的重定向由routes中提到的属性负责。目的地是从清单.yml用于在SAP云平台的Cloud Foundry环境中部署应用程序的文件。

XSUAA服务实例可以在xs的帮助下使用CLI命令创建-安全.json安全描述符。该文件描述了角色模板、作用域等。

下面是一个示例清单文件:

应用程序容器

应用程序容器充当资源服务器,为身份验证提供必要的安全上下文。应用程序容器将包含某些SAP安全模块,以验证作用域并授权用户访问。正如博客中提到的,您可以使用SAP NPM注册表中的以下模块。

SAP xssec:包含用于使用JWTStrategy的库,JWTStrategy用于在每个API调用上传递要验证的JWToken。它还包含用于将XS UAA服务添加到JWT策略的xsenv库。

如下所示的示例代码:

我们建议您禁用上述示例中的会话。每个请求都带有一个JWT令牌,因此它被显式地验证并标识用户。如果您仍然需要会话,您可以启用它,但是您还应该实现用户序列化/反序列化和某种会话持久化。

通过上述步骤,在Cloud Foundry环境中使用XS UAA来处理用户身份验证和授权。