将SCP用户ID(IdP)从UI5应用安全转移到SAP后端系统

2020-09-03 11:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们当前在SAP Cloud Platform环境Neo中开发SAPUI5应用程序。 我们面临的问题不是很普遍,但尚未解决。 我们做了很多研究,却发现几乎没有。

申请要求:

来自不同地点的员工需要通过Web应用程序进行交互以创建一些反馈,这些反馈将被传输到SAP后端系统中。 每天对数量和库存的响应。

员工没有SAP后端用户,他们不应该得到一个后端用户,因为他们在后端系统中根本没有任何其他任务。 这是我无法改变的决定。

因此,每位员工都应在SAP IdP(SAP Cloud Platform Identity Provider)中获得一个SCP用户。 SCP和后端之间的通信将通过SAP接口用户(非对话)完成。 但是我们需要知道哪个SCP IdP用户已登录 并向我们发送了请求。 在开发过程中,我们通过OData服务发送了SCP IdP用户ID,该ID未保存并且可以进行操作,例如 通过Chrome开发工具等。

我们尝试了以下设置,以使用逐步指南 Cloud Platform Connectivity主体传播,练习B1-B3。 我只在这里提到主要步骤。

  1. 通过IdP建立信任
  2. 导出系统证书(云连接器)以使其与后端熟悉
  3. 配置Cloud Connector的CA证书
  4. 配置SAP后端以信任Cloud Connector(事务STRUST)
  5. 在SAP后端中导入证书以进行用户映射(Transaction CERTRULE)
  6. 创建SCP目标以将用户凭据传播到SAP后端

但是我们仍然会看到一个登录对话框,在这里我们需要使用SAP后端用户进行登录。 我们还尝试了在SCIF服务中使用不同的登录模式。 没有成功。

我想我一直需要一个SAP后端用户,因此我们需要存储技术。 SAP用户进入SCP目标或进入SICF服务。 还是我设置的主体传播没有正确完成,所以SAP后端通过显示登录对话框来回答我的错误设置?

总而言之,我有两个问题:

  1. 如果我正确配置了SCP,Cloud Connector和SAP后端之间的主要传播,是否可以在没有SAP后端用户的情况下将Web应用程序连接到SAP后端?
  2. 是否有可能将SCP IdP用户ID从SCP Web应用安全转移到SAP后端?

第二个问题最困扰我们。 据我所知,SCP目的地或SICF服务中的技术SAP用户可以"绕过"第一个问题。

关于您的H.P。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们当前在SAP Cloud Platform环境Neo中开发SAPUI5应用程序。 我们面临的问题不是很普遍,但尚未解决。 我们做了很多研究,却发现几乎没有。

申请要求:

来自不同地点的员工需要通过Web应用程序进行交互以创建一些反馈,这些反馈将被传输到SAP后端系统中。 每天对数量和库存的响应。

员工没有SAP后端用户,他们不应该得到一个后端用户,因为他们在后端系统中根本没有任何其他任务。 这是我无法改变的决定。

因此,每位员工都应在SAP IdP(SAP Cloud Platform Identity Provider)中获得一个SCP用户。 SCP和后端之间的通信将通过SAP接口用户(非对话)完成。 但是我们需要知道哪个SCP IdP用户已登录 并向我们发送了请求。 在开发过程中,我们通过OData服务发送了SCP IdP用户ID,该ID未保存并且可以进行操作,例如 通过Chrome开发工具等。

我们尝试了以下设置,以使用逐步指南 Cloud Platform Connectivity主体传播,练习B1-B3。 我只在这里提到主要步骤。

  1. 通过IdP建立信任
  2. 导出系统证书(云连接器)以使其与后端熟悉
  3. 配置Cloud Connector的CA证书
  4. 配置SAP后端以信任Cloud Connector(事务STRUST)
  5. 在SAP后端中导入证书以进行用户映射(Transaction CERTRULE)
  6. 创建SCP目标以将用户凭据传播到SAP后端

但是我们仍然会看到一个登录对话框,在这里我们需要使用SAP后端用户进行登录。 我们还尝试了在SCIF服务中使用不同的登录模式。 没有成功。

我想我一直需要一个SAP后端用户,因此我们需要存储技术。 SAP用户进入SCP目标或进入SICF服务。 还是我设置的主体传播没有正确完成,所以SAP后端通过显示登录对话框来回答我的错误设置?

总而言之,我有两个问题:

  1. 如果我正确配置了SCP,Cloud Connector和SAP后端之间的主要传播,是否可以在没有SAP后端用户的情况下将Web应用程序连接到SAP后端?
  2. 是否有可能将SCP IdP用户ID从SCP Web应用安全转移到SAP后端?

第二个问题最困扰我们。 据我所知,SCP目的地或SICF服务中的技术SAP用户可以"绕过"第一个问题。

关于您的H.P。

付费偷看设置
发送
9条回答
黑丝骑士
1楼 · 2020-09-03 11:26.采纳回答

嗨,

要通过Cloud Connector或SAPAssertionSSO使用主体传播,后端系统中也必须存在用户ID,因此无法解决此问题,这就是为什么要获得2 nd 在测试期间来自后端系统的身份验证请求。 您只需使用技术用户在SAP Cloud Platform中进行目标配置来回答自己的问题。

关于第二个 nd 问题,我想我知道您要做什么,但我不建议您这样做。 您正在尝试绕过后端系统的身份验证方法,这存在很高的安全风险。

xfwsx85
2楼-- · 2020-09-03 11:32

谢谢。 为了方便阅读,我会将最新评论转换为答案。 也许您可以这样做,以便我们有更好的可见性:)

欢呼

愤怒的猪头君
3楼-- · 2020-09-03 11:28

尊敬的H.P。,

这个话题真的很有趣,我同意,我什么都没找到(或者我只是误解了我读过的每份技术文档,因为我对这种安全性不了解:))。

当您编写这样的事实时,可以在调试模式下操作存储在前端javascript应用程序中的数据,这样最终用户可以访问不应看到的数据。 那么我们如何才能将存储在SCP IdP用户身份服务中的数据直接传递到SAP后端?

我能告诉您的是:我已经使用X509短寿命证书设置了主体传播,并且效果很好。 但是您仍然需要SAP用户登录:在CERTRULE事务中,您将X509证书的主题映射到SAP用户名/别名。 映射成功后,最终用户将使用相应的SAP用户登录。 如果不成功,将提示最终用户在标准HTTP弹出窗口上提供凭据。

如果您有第二个问题的任何更新,请告诉我:)。

此致

奥利维尔(Olivier)

jovirus
4楼-- · 2020-09-03 11:43

嗨-只是意味着这是许多潜在答案之一。 并不意味着问题已经解决。 但这有助于提高安全性,使人们可以在活动线程中提供更多信息。 抱歉造成混乱。

SC_Yao
5楼-- · 2020-09-03 11:41

亲爱的Nghia,

感谢您的快速回复。

我认为您误解了H.P. 我努力实现。 让我澄清一下情况:

  1. 在" SCP目标"设置中,我们要与指定的"技术用户"建立基本身份验证。 该用户的目标只是从SCP连接到后端。
  2. 在我们的ZCL_XXXXXXX_DPC_EXT服务实现类中,我们想要检索一些P00XXX云用户数据(检查屏幕截图),例如Company等等,就像在主体传播场景中使用GET PARAMETER ID一样。 但是在这种情况下,登录SAP系统的用户是我们在SCP Destination中定义的"技术用户"。 我们无法知道实际登录了哪个最终用户(P000001或P000002)

我不会记得许可主题,因为这不是重点。 这是技术要求。

此致

奥利维尔(Olivier)

spaceman01
6楼-- · 2020-09-03 11:53

亲爱的所有人,

我已评论 Nghia Nguyen 的答案,但它不像 真实主题回复。 因此,请在 Nghia Nguyen 的下面检查我的评论。

此外,我想知道为什么 Moya Watson将此实际上视为"接受的答案" ? 我认为这还为时过早,因为尚未完全清楚地回答问题:)

谢谢。

此致

奥利维尔(Olivier)

樱桃小丸子0093
7楼-- · 2020-09-03 11:52

嗨,

我现在遇到相同的问题/用例,就像您看到的此处

有解决方案吗?

我尝试了主传播,并为IDP的每个P用户在" EXTID_DN"中添加了一个条目,并分配了相同的服务用户" TEST01"。 现在,我只需要访问用于登录的X.509 cient证书,并从主题中读取外部用户ID。

但是我还没有找到访问此信息的方法。

有人可以帮忙吗?

最诚挚的问候,

克里斯

一周热门 更多>