Java Based Apps on SAP Cloud_3_安
2017-04-24 本文已影响0人
LiuliuZhang
Authentication and Authorization 证明与授权
Authentication
用户访问APP时,通过 Identity Provider 来证明身份,用户访问APP时,用户在IdP保存着用户名,APP会拿访问的用户名去IdP中验证是否正确。

Authentication configuration
配置web.xml,配置验证方法FORM,retailer下验证

需要验证的角色将在cloud平台下安全-角色进行配置

当登陆webshop时,不需要验证登陆

当登陆retailer时,需要验证登陆

Protecting Against CSRF Attacks 防止CSRF攻击
CSRF Attacks 场景
TrustedFinance公司下有CloudBank和InsurancePartner两个网站,分别用于账户管理和问题查询

-
用户登录CloudBank,我们看到有两笔交易记录
-
同时打开浏览器另一个Tab登陆InsurancePartner进行询价操作
-
攻击者提供答案是,在末尾插入一个1*1的image图片,而这个图片的地址指向的是进行账户转账操作
- 当用户查看问题答案时,看不到所插入的图片
但是再查看CloudBank的账户时,我们发现该账户已经进行了一笔转账操作
防止CSRF攻击的方法
主要方法是让你的URL不可预测,每次访问运用随机生成的Token。
不同APP所用的方法如下
以ESPM为例,配置CSRF
当点击Approve时,系统会先向服务器请求得到一个x-csrf-token,下一次请求时,会带上这个x-csrf-token
Authorization API
Check out Authorization API branch

修改config文件,完成后生成新的war文件并更新espm应用

创建平台API,记下ID与密钥

在ESPM应用下新建destination,配置url及前面生成的ID与密钥(用户名密码)

重启服务,点击授权按钮,输入用户名

成功后,可以在角色中看到已经被授权

Using the Authorization Management API
Multiple Identity Providers
我们可能针对是本公司员工外部员工设置不同的IdP验证服务

以local为例,设置local IdP服务
在Server中添加新用户

添加local_idp.cfg文件

重启服务器,并通过地址localhost:8080/saml2/localidp/metadata下载文件
在云平台配置local服务提供者,配置类型选择自定义

在应用程序身份提供者中点击添加受信任的身份提供者,上传刚刚下载的metadata文件

点击获取元数据下载文件

刷新Eclipse配置,添加刚刚下载的文件

角色中,添加在local中的用户

打开retailer网址,会跳到local地址进行登陆验证

Group Management 组管理
用户可以分配到组或角色,组中包含了角色

新建Employee组,可以给他分配espm的retailer角色,也可以分配单独用户

查看ESPM应用的角色分配,角色分配到了用户和组

leo用户分配到Group,因此可以登录

Federated Authorization with Groups
用户在同一个Sales Organization下,都具有访问权限

给User添加Organization属性

配置信任管理

添加基于断言的组

在组管理下删除l单独用户

leo用户可以登录
