如何重新触发处于AD状态的分配(LDAP存储库)

2020-09-10 09:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家, 我的客户要求...

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

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


尊敬的专家,

我的客户要求设置强制重新配置。 无论选择哪种系统,IDM都应将用户属性和分配信息推送到目标系统。

  1. 我创建了一个自定义任务以使用uProvision函数重新触发各个连接器软件包中提供的ModifyUser和AssignUserMembership任务。我将用户mskey,存储库ID和Auditid传递给函数作为输入
  2. 以上任务正在ABAP,Java系统中按预期方式工作。
  3. 对于AD(Microsoft目录-LDAP),仅修改用户任务可以按预期运行,而assignuser成员身份无法正常运行。

失败时分配用户成员资格任务的错误消息:

错误putNextEntry存储失败!错误:条目不存在
 来自Modify操作的异常:javax.naming.InvalidNameException:!ERROR:条目不存在:[LDAP:错误代码34-0000208F:NameErr:DSID-03100225,问题2006(BAD_NAME),数据8350,最佳匹配项:'!ERROR  :条目不存在']; 剩余名称'!ERROR:条目不存在'

在进一步分析了原因之后,由于我正试图根据用户mskey触发任务而导致分配失败,但是分配是基于AD组进行的(将用户分配给AD组,反之则没有) )

如何在AD和IDM之间实现AD组特权之间的同步。 不想删除特权并将其分配回去。

请让我知道如何为Active Directory实现这一目标。 非常感谢您的帮助。

输入屏幕:

提交请求后,idm将触发自定义任务,并调用以下脚本

代码:以下是用于触发AssignUserMemberShip设置任务的javascript代码。

以下脚本的输入参数是用户MSkey和用户在UI中选择的存储库列表

功能retryForceProvisionUserAssignments(Par){

     var script =" retryForceProvisionUserAssignments ::";
     var debugKey = uGetConstant(" pck.ENABLE_DEBUG");
     var仓库=''+ Par.get(" REPOSITORIES")+''; //进入JS模式
     var mskey = Par.get(" MSKEY");
     var RetryRepositories ="";

     如果(debugKey ==" 1" || debugKey ==" TRUE"){
         uWarning(脚本+"输入存储库:[" +存储库+"]"));
     }

     if(repositories == null || repositories.length <2){
         如果(debugKey ==" 1" || debugKey ==" TRUE"){
             uWarning(脚本+"未找到存储库...静默退出");
         }
         返回"";
     }

     var tempArr = repositories.split('|');

     for(var i = 0; i  = 0){
                         var msg1 =脚本+":mskey =" + mskey +" ExecuteTask =" + executeTask +"。执行uProvision时发生错误。原因:" + OutString;
                         uError(msg1);
                         uSkip(2,2,msg1);
                     }
             }其他{
                 var msg2 =脚本+" executeTask变量为null或为空";
                 uInfo(msg2);
                 uSkip(2,2,msg2);
             }
         }
     }
 }
 

此致

Deva

(67.9 kB)
5条回答
南山jay
2020-09-10 10:18 .采纳回答

Hello Deva,如前所述,AD接口和LDAP的工作方式与ABAP接口的特权分配不同。 STANDARD ABAP连接器(ToSAP)进程" AssignAllABAPPrivileges"获得为SAP IDM中的存储库提供的所有特权。

(仅供参考:*还有另一个ABAP连接器ToSAPIdentity,也只是将增量提供给了ABAP系统)。

这很容易进行您要创建的对帐流程。 标准LDAP/AD连接器(ToLDAP)进程" AssignUserToADSGroup"使用标准成员属性将存储库的增量(仅分配[+]和撤销[-])写入组。

通过触发现有的标准挂钩/插件来保持升级概念的简单方法是,使用LDAP/AD的新部分来增强与我们共享的javascript,您可以在其中确定增量(分配和 帐户/存储库必须撤消),并为每个组触发标准的LDAP/AD挂钩/插件。

还有其他可能性可以满足您客户的要求,但是我喜欢这个, 因为您触发了现有的挂钩/插件(接口),它们也在正常的身份/帐户生命周期中触发。 如果这些挂钩/插件(接口)有任何更改,这些更改也会在您的对帐过程中生效。

最好的问候,

Christoph Reckers

一周热门 更多>