最近,我一直在处理一个客户机需求,其中需要从身份和访问管理(例如IdM)在sapibp中配置用户。SAP IBP用户配置可以通过标准SOAP或OData API完成,在进行API调用之前需要启用这些API。
如果使用中间件(例如SAP CPI)从IAM获取请求并依次调用IBP API进行用户配置,则整个过程可以自动化。我们将使用Potman客户端进行IBP API调用
本文档的范围包括以下场景
创建员工和用户配置文件替换模式下的用户角色分配用户锁定查询业务用户权限筛选器创建用户分配的权限筛选器删除用户分配的权限筛选器提取现有用户、角色和权限筛选器
为了使用SAP IBP API,首先必须通过通信系统、用户和排列设置来验证和授权传入请求
先决条件登录用户必须在IBP中具有管理员角色才能执行以下步骤
让我们一步一步地了解如何创建通信系统
通信系统
主机名:输入用户系统的主机名
图1
现在,为入站通信创建一个新的通信用户,如图2所示,选购云服务器,
图2
认证类型可以是基本认证(普通用户名和密码)或基于证书的通信(SSL客户端)证书)
图3
注意:保存用户ID和密码,因为它将在以后用于所有API调用
通信系统和用户设置已完成,如图4所示。
图4
通信安排
IBP主屏幕–>搜索通信安排磁贴并创建新安排
图5
现在,选择需要使用的相关通信场景(图6)。"SAP\u COM\u 0069"–权限过滤器集成和"SAP\u COM\u 0093"–身份管理集成。
图6
图7
为通信安排提供相关名称(图7),并分配先前创建的通信系统和用户,如图8所示。
图8
重复相同的步骤并创建安排用于SAP COM 0093。最终的通信安排应如图9所示
图9
记下两种通信安排的服务URL。
完成初始通信设置后,IBP API即可使用。让我们开始使用'API\u User'用户名和密码对IBP API进行SOAP和OData调用。
员工和用户配置文件创建:如果有新员工或在SAP IBP中为用户创建新记录,此服务可与请求中传递的强制参数一起使用。
URL:https://{IBP TenantId}-api.scmibp.ondemand命令.com/sap/bc/srt/scs\u ext/sap/managebusinessuserinHeaders:授权:基本{Base64编码{UserId:密码}}内容类型:text/xml
图11
图12
actionCode:'01'新建员工记录。以下数值可按要求使用。'01'–创建|'02'–更新BusinessPartnerRoleCode:只支持业务伙伴角色代码'BUP003'(员工)
用户角色分配:创建员工和用户记录后,下一步是通过分配业务角色为用户提供适当的授权。
URL:https://{IBP TenantId}-api.scmibp.ondemand命令.com/sap/bc/srt/scs\u ext/sap/managebusinessuserinHeaders:授权:基本{Base64编码{UserId:密码}}内容类型:text/xml
图13
actionCode:'02'更新职员记录用户角色分配roleListCompleteTransmissionIndicator–"true"(这将替换所有现有角色并分配新角色(如果请求中提供的话))RoleName–要分配角色的名称(如果要分配多个角色,行业大数据分析,则有多个条目)
用户锁定:此场景包括用户记录锁定,如果用户不再需要访问IBP应用程序,
URL:https://{IBP TenantId}-api.scmibp.ondemand命令.com/sap/bc/srt/scs\u ext/sap/managebusinessuserinHeaders:授权:基本{Base64编码{UserId:密码}}内容类型:text/xml
图14
PersonExternalID–待锁定人员锁定指示器–"X"以防锁定用户,解锁roleListCompleteTransmissionIndicator时为空–'true'(如果请求中提供,云服务器租用价格,则替换所有现有角色并分配新角色)
查询业务用户:通过下面的查询业务用户调用可以检索到已分配角色的用户的完整列表。
URL:https://{IBP TenantId}-api.scmibp.ondemand命令.com/sap/bc/srt/scs\u ext/sap/querybusinessuserin头:授权:基本{Base64编码{UserId:密码}}内容类型:文本/xml
图15
权限过滤器创建:权限过滤器定义用户可以查看和使用的数据集。根据API文档,权限过滤器也称为可见性过滤器。要创建一个名为"TEST\u PF"的权限过滤器(假设还没有),有效负载必须包含JSON格式的三个属性。
注意:对于HTTP POST/PUT/DELETE操作,x-csrf-token是必需的,可以使用HTTP GET获取,如下图所示
图16
复制csrf令牌并在HTTP POST中使用,如下图所示
URL:https://{IBP TenantId}-api.scmibp.ondemand命令.com/sap/opu/odata/IBP/VISIBILITY\u FILTER\u SRV/VisibilityFilters('TEST\u PF')头:授权:基本{Base64编码{UserId:密码}}以及x-csrf-token:{token}
图17
权限过滤器到用户分配:一旦创建了权限过滤器,用户或用户组可以分配到该权限筛选器
URL:https://{IBP TenantId}-api.scmibp.ondemand命令.com/sap/opu/odata/IBP/VISIBILITY\u FILTER\u SRV/UserAssignments头:授权:基本{Base64编码{UserId:密码}}和x-csrf-token:{token}
图18
注:赋值中的UserId是IBP内部用户ID代码,而不是用户名。要获取这些值,请参阅extract users call.