使用策略

学习目标

  • 使用策略。

策略的用法

在本课中,我们将涵盖以下主题:

  • 什么是策略?

  • 策略类型

  • 使用策略设计器应用预构建的策略

  • 使用预定义的策略

什么是策略?

SAP API Management 提供了使用策略定义 API 行为的能力。策略是在运行时执行特定功能的程序。它们提供了灵活性,可以为 API 添加通用功能,而不必每次都单独编写代码。

策略提供了保护 API、控制 API 流量以及转换消息格式的功能。您还可以通过添加脚本并将其附加到策略来自定义 API 的行为。

您可以将策略应用于请求流或响应流。您还可以指定它适用于代理端点还是目标端点。有关 API Management 支持的策略类型的信息,请参阅策略类型。

您可以使用以下类型的策略:

  • 位于 SAP Business Accelerator Hub 的预定义策略模板 。

  • 位于 策略编辑器 中的预构建策略 。

策略类型

以下是 API Management 支持的预构建策略列表:

  • Access Control

  • Access Entity

  • Assign Message

  • Basic Authentication

  • Extract variables

  • Invalidate Cache

  • JavaScript

  • JSON to XML

  • Key Value Map Operations

  • Lookup Cache

  • Message Logging Policy

  • OAuth v2.0

  • OAuth v2.0 GET

  • OAuth v2.0 SET

  • Populate Cache

  • Python Script

  • Quota

  • Raise Fault

  • Reset Quota

  • Service Callout

  • Spike Arrest

  • SAML Assertion Policy

  • SOAP Message Validation Policy

  • Verify API Key

  • XML to JSON

  • XSL Transform

  • XML Threat Protection

  • Regular Expression Protection

  • JSON Threat Protection

  • Response Cache

  • Statistics Collector Policy

在此处阅读更多内容:策略类型

使用策略设计器应用预构建的策略

要使用某个可用的策略,首先需要考虑该策略将在何处生效。策略编辑器在请求和响应中提供以下选项:

策略也可用于所有调用(PostClientFlows、resources),因此您无需选择某个 PostClientFlow。在下面的示例中,有两个 PostClientFlow:CatalogCollectionServiceCollection。这些策略用于所有 PostClientFlow,因为没有专门选择任何一个。

安全 - 策略

SAP Business Technology Platform, API Management 提供了许多基于 Open Web Application Security Project (OWASP) 的开箱即用 API 安全策略。API 安全最佳实践可以根据企业的需求进行定制。

有一个博客系列展示了 SAP Business Technology Platform, API Management 的安全策略,用于保护和防护企业 API,如下图所示,SAP Cloud Platform API Management。

您可以在此处找到该博客系列:SAP Cloud Platform API Management – API 安全最佳实践博客系列

日志与监控策略

Message Logging 策略允许您将 syslog 消息发送到第三方日志管理服务,例如 Splunk、SumoLogic、Loggly 或类似的日志管理服务。

关于 Message Logging PolicySplunk 的博客可在此处找到:Splunk – 第 1 部分:SAP APIM 日志记录与监控 | SAP Blogs

关于 Message Logging PolicyLoggly 的博客可在此处找到:第 7 部分 – API 安全最佳实践 – 记录所有 API 交互 | SAP Blogs

使用预定义的策略

针对特定应用存在预定义的策略集。它们可以在 SAP Business Accelerator Hub 中找到。

导航到 https://api.sap.com/ 中的 Categories并选择 resource APIs

Policy Template 选项卡 SAP Business Accelerator Hub 下,您会找到 20 多个可立即使用的策略模板。

从 SAP Business Accelerator Hub 导入策略模板

SAP Business Accelerator Hub 中搜索并找到 **Performance_Traceability** 策略模板。选择 Performance_Traceability 磁贴。您将在 Flow Type 中找到内容。

以下是一个包含这两项的示例:

  • Flow Type:ProxyEndPoint PreFlow

  • Content:JavaScript 文件

要下载完整的策略,请选择右上角的 Download 按钮,并将 *.zip 文件保存到本地计算机。

切换到 Develop 视图,然后选择 Policy Templates 选项卡。

接着,通过 Import 按钮导入之前本地保存的策略模板。

最后,Performance_Traceability 模板现已导入到 SAP Business Accelerator Hub 中。

要放置该策略模板,请导航到您想要使用该策略的 API,并导航到 Policy Editor。选择 Edit,以便 Policy Template 按钮变为可用状态。

现在,选择 Apply 按钮以导入策略模板。然后选择之前导入的策略模板并选择 Apply

该策略模板已被导入并插入到相应的流中。

更新后,保存并重新部署,该策略模板将生效。

总结

SAP API Management 提供了使用策略定义 API 行为的能力。这些能力既可用于请求,也可用于响应。有些策略用于转换负载以及调用外部服务,例如使用 OAuth 2.0 登录等等。其中安全策略尤为有用。SAP 为某些用例提供了现成的策略和策略模板。它们可以轻松导入。

为针对 S/4HANA 演示系统的基本身份验证添加策略

业务场景

要在 API Management 中使用这些接口,必须针对源接口进行身份验证,这通过策略实现来完成。在下面的组件图中,连接和工件的创建用红色标记表示。

任务流程

在本练习中,您将执行以下任务:

  1. 添加 Message Policy。

  2. 添加 Basic Authentication Policy。

  3. 测试您的策略。

  4. 监控您的 API 调用。

前提条件

您拥有前面练习中所述的、可正常工作的 API 代理。

Exercise开始练习(SAP 官方交互式练习)

在 SAP Business Accelerator Hub 中探索 API、策略等

业务场景

探索 SAP Business Accelerator Hub 以识别可用的 API、策略和其他工件,可以帮助您加快集成、扩展和创新。

任务流程

在本练习中,您将执行以下任务:

  1. 登录 SAP Business Accelerator Hub( https://api.sap.com )。

  2. 探索策略。

  3. 在 SAP Business Accelerator Hub 中探索 API。

前提条件

即使无法访问 SAP Integration Suite,您也可以完成以下练习。

练习成果

全面了解 SAP Business Accelerator Hub 及其可供您使用的丰富 API 集合。

您将从本练习中学到什么?

通过探索 SAP Business Accelerator Hub,您可以发现并分析 API Management 策略,从而根据自身的需求和目标判断它们是否适用于各种用途。

Exercise开始练习(SAP 官方交互式练习)

任务 1:登录 SAP Business Accelerator Hub

步骤

  1. 登录 SAP Business Accelerator Hub。

  2. 打开链接:https://api.sap.com

  3. 使用 Login 按钮登录以试用这些 API。

  4. 导航到 ExploreAPIs

任务 2:在 SAP Business Accelerator Hub 中探索 API

步骤

  1. 探索 API。

  2. 导航回 https://api.sap.comExploreAPIs

  3. 选择 ODATA V2

  4. 在搜索栏中输入 Purchase Order 并按 Enter。 您会看到一个名为 Purchase Order 的磁贴。

  5. 选择 Purchase Order 磁贴。您会在那里找到大量信息。

Note

Purchase Order ODATA V2 被标记为已弃用,但不用担心,它仍然可用,所以不妨试一试。

  1. 选择 Try Out 按钮。

  2. 在左侧找到 Purchase OrderGET /APurchaseOrder 并选择它。在页面顶部,您会看到所选的上下文 /A_PurchaseOrder

  3. 选择 Run 按钮。 您会得到 HTTP 状态码 200,以及填充好的 Response Body 和 Response Header。

本课其余配图

CLD900_20_U3L5_001

CLD900_20_U3L5_002_scr

CLD900_20_U3L5_003

CLD900_20_U3L5_004_scr

CLD900_20_U3L5_005_scr

CLD900_20_U3L5_006_scr

CLD900_20_U3L5_007_scr

CLD900_U3_L5_30

CLD900_U3_L5_34

CLD900_U3_L5_35

CLD900_20_U3L5_012_scr

CLD900_20_U3L5_013_scr

ES5Proxy01

CLD900_U3_L5_21

CLD900_U3_L5_22

CLD900_U3_L5_27

CLD900_U3_L5_28

CLD900_U3_L5_29