如何安全地使用 S/4HANA 中的 API?

How to securely consume APIs in S/4HANA?

我知道如何在 S/4HANA Cloud Essentials 中启用通信系统、安排等以与 OData API 进行通信。我喜欢这里的过程。

现在我有一个 S/4HANA 单租户版,它的行为更像一个 OnPrem 系统。我没有真正找到如何设置通信以使用来自 SCP 的 API 的指南。似乎人们正在使用具有基本身份验证的标准用户,这似乎有点不安全。

S/4HanaonPrem或STE中的通信系统和安排是否有相同的概念?或者如何在不使用标准用户的情况下使用 API?这里的最佳做法是什么?例如有 OAuth 服务器吗?

提前致谢!

关于授权的第一点:建议为每个任务创建自定义的细粒度角色,而不是像您想要的那样按模板创建。

要猜测哪个应用程序需要哪些授权,请转到 Fiori Apps Library 并找到目标应用程序,然后转到底部,您将看到一个业务目录列表,点击业务目录即可可以看到它允许执行哪些操作。 非常详尽地描述了选择和分配角色的过程 here

关于身份验证的第二点:使用S4HANA 的最佳和最灵活的方式API 是使用您在上一步中创建的业务用户。以下是使用技术用户和商业用户之间的细分,以及为什么你不应该使用后者:

因此,SAP 推荐的 S4HANA 身份验证方式是具有精细权限的业务用户和 OAuth2SAMLBearerAssertion 身份验证。

该过程是多步骤的,需要:

  1. 使用本地应用设置 SAP Cloud Identity 提供程序,获取密钥对
  2. 向本地提供商注册 SAP Cloud Identity 租户,反之亦然
  3. 下载证书
  4. 在S4HANA中创建通信用户,需要访问S4H端点并获取OAuth访问令牌
  5. 在S4HANA中创建通信通道、通信协议和HTTP端点
  6. 在 SAP Cloud Identity 中维护业务用户(您之前创建的)

在此处详细了解该过程

https://blogs.sap.com/2018/02/05/deep-dive-8-with-sap-s4hana-cloud-sdk-leverage-principal-propagation-via-oauth-2-when-consuming-a-business-api-from-s4hana-cloud/