使用策略
学习目标
使用策略。
策略的用法
在本课中,我们将涵盖以下主题:
什么是策略?
策略类型
使用策略设计器应用预构建的策略
使用预定义的策略
什么是策略?
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:CatalogCollection 和 ServiceCollection。这些策略用于所有 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 Policy 与 Splunk 的博客可在此处找到:Splunk – 第 1 部分:SAP APIM 日志记录与监控 | SAP Blogs
关于 Message Logging Policy 与 Loggly 的博客可在此处找到:第 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 中使用这些接口,必须针对源接口进行身份验证,这通过策略实现来完成。在下面的组件图中,连接和工件的创建用红色标记表示。
任务流程
在本练习中,您将执行以下任务:
添加 Message Policy。
添加 Basic Authentication Policy。
测试您的策略。
监控您的 API 调用。
前提条件
您拥有前面练习中所述的、可正常工作的 API 代理。
Exercise:开始练习(SAP 官方交互式练习)
在 SAP Business Accelerator Hub 中探索 API、策略等
业务场景
探索 SAP Business Accelerator Hub 以识别可用的 API、策略和其他工件,可以帮助您加快集成、扩展和创新。
任务流程
在本练习中,您将执行以下任务:
登录 SAP Business Accelerator Hub( https://api.sap.com )。
探索策略。
在 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
步骤
登录 SAP Business Accelerator Hub。
打开链接:https://api.sap.com
使用 Login 按钮登录以试用这些 API。
导航到 Explore→APIs。
任务 2:在 SAP Business Accelerator Hub 中探索 API
步骤
探索 API。
导航回 https://api.sap.comExplore→APIs。
选择 ODATA V2。
在搜索栏中输入 Purchase Order 并按 Enter。 您会看到一个名为 Purchase Order 的磁贴。
选择 Purchase Order 磁贴。您会在那里找到大量信息。
Note
Purchase Order ODATA V2 被标记为已弃用,但不用担心,它仍然可用,所以不妨试一试。
选择 Try Out 按钮。
在左侧找到 Purchase Order→GET /APurchaseOrder 并选择它。在页面顶部,您会看到所选的上下文 /A_PurchaseOrder。
选择 Run 按钮。 您会得到 HTTP 状态码 200,以及填充好的 Response Body 和 Response Header。
本课其余配图

















