Java Based Apps on SAP Cloud_3_安全和身份管理

Authentication and Authorization 证明与授权

Authentication
用户访问APP时,通过 Identity Provider 来证明身份,用户访问APP时,用户在IdP保存着用户名,APP会拿访问的用户名去IdP中验证是否正确。

Java Based Apps on SAP Cloud_3_安全和身份管理_第1张图片

Authentication configuration
配置web.xml,配置验证方法FORM,retailer下验证
Java Based Apps on SAP Cloud_3_安全和身份管理_第2张图片

需要验证的角色将在cloud平台下安全-角色进行配置
Java Based Apps on SAP Cloud_3_安全和身份管理_第3张图片

当登陆webshop时,不需要验证登陆
Java Based Apps on SAP Cloud_3_安全和身份管理_第4张图片

当登陆retailer时,需要验证登陆
Java Based Apps on SAP Cloud_3_安全和身份管理_第5张图片

Protecting Against CSRF Attacks 防止CSRF攻击

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

Java Based Apps on SAP Cloud_3_安全和身份管理_第6张图片

  1. 用户登录CloudBank,我们看到有两笔交易记录


    Java Based Apps on SAP Cloud_3_安全和身份管理_第7张图片
  2. 同时打开浏览器另一个Tab登陆InsurancePartner进行询价操作


    Java Based Apps on SAP Cloud_3_安全和身份管理_第8张图片
  3. 攻击者提供答案是,在末尾插入一个1*1的image图片,而这个图片的地址指向的是进行账户转账操作


    Java Based Apps on SAP Cloud_3_安全和身份管理_第9张图片
  4. 当用户查看问题答案时,看不到所插入的图片
    Java Based Apps on SAP Cloud_3_安全和身份管理_第10张图片

    但是再查看CloudBank的账户时,我们发现该账户已经进行了一笔转账操作
    Java Based Apps on SAP Cloud_3_安全和身份管理_第11张图片

    防止CSRF攻击的方法
    主要方法是让你的URL不可预测,每次访问运用随机生成的Token。
    不同APP所用的方法如下
    Java Based Apps on SAP Cloud_3_安全和身份管理_第12张图片

    以ESPM为例,配置CSRF
    Java Based Apps on SAP Cloud_3_安全和身份管理_第13张图片

    当点击Approve时,系统会先向服务器请求得到一个x-csrf-token,下一次请求时,会带上这个x-csrf-token
    Java Based Apps on SAP Cloud_3_安全和身份管理_第14张图片

Authorization API

Check out Authorization API branch

Java Based Apps on SAP Cloud_3_安全和身份管理_第15张图片

修改config文件,完成后生成新的war文件并更新espm应用
Java Based Apps on SAP Cloud_3_安全和身份管理_第16张图片

创建平台API,记下ID与密钥
Java Based Apps on SAP Cloud_3_安全和身份管理_第17张图片

在ESPM应用下新建destination,配置url及前面生成的ID与密钥(用户名密码)
Java Based Apps on SAP Cloud_3_安全和身份管理_第18张图片

重启服务,点击授权按钮,输入用户名
Java Based Apps on SAP Cloud_3_安全和身份管理_第19张图片

成功后,可以在角色中看到已经被授权
Java Based Apps on SAP Cloud_3_安全和身份管理_第20张图片

Using the Authorization Management API

Multiple Identity Providers

我们可能针对是本公司员工外部员工设置不同的IdP验证服务


Java Based Apps on SAP Cloud_3_安全和身份管理_第21张图片

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


Java Based Apps on SAP Cloud_3_安全和身份管理_第22张图片

添加local_idp.cfg文件
Java Based Apps on SAP Cloud_3_安全和身份管理_第23张图片

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


Java Based Apps on SAP Cloud_3_安全和身份管理_第24张图片

在应用程序身份提供者中点击添加受信任的身份提供者,上传刚刚下载的metadata文件
Java Based Apps on SAP Cloud_3_安全和身份管理_第25张图片

点击获取元数据下载文件
Java Based Apps on SAP Cloud_3_安全和身份管理_第26张图片

刷新Eclipse配置,添加刚刚下载的文件
Java Based Apps on SAP Cloud_3_安全和身份管理_第27张图片

角色中,添加在local中的用户
Java Based Apps on SAP Cloud_3_安全和身份管理_第28张图片

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


Java Based Apps on SAP Cloud_3_安全和身份管理_第29张图片

Group Management 组管理

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


Java Based Apps on SAP Cloud_3_安全和身份管理_第30张图片

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


Java Based Apps on SAP Cloud_3_安全和身份管理_第31张图片

查看ESPM应用的角色分配,角色分配到了用户和组
Java Based Apps on SAP Cloud_3_安全和身份管理_第32张图片

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


Java Based Apps on SAP Cloud_3_安全和身份管理_第33张图片

Federated Authorization with Groups

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


Java Based Apps on SAP Cloud_3_安全和身份管理_第34张图片

给User添加Organization属性


Java Based Apps on SAP Cloud_3_安全和身份管理_第35张图片

配置信任管理
Java Based Apps on SAP Cloud_3_安全和身份管理_第36张图片

添加基于断言的组


Java Based Apps on SAP Cloud_3_安全和身份管理_第37张图片

在组管理下删除l单独用户
Java Based Apps on SAP Cloud_3_安全和身份管理_第38张图片

leo用户可以登录
Java Based Apps on SAP Cloud_3_安全和身份管理_第39张图片

你可能感兴趣的:(Java Based Apps on SAP Cloud_3_安全和身份管理)