今天搞了一天,我就去找找找啊。我们是IDMC要访问BW的表。
Configure SAP user authorization (informatica.com)
这个informatica上面说要连SAP的数据的话,需要设置这些用户权限。
我也没具体看这两权限对象,这个别人已经设置好了。但是表权限控制不住,在S_TABU_NAM里列的表名根本控制不住,还是能看到所有的表。
我们是个BW系统,他用的SAP Table Connector,也怪SAP说了不要用BW Connector,现在这个Table Connector还不支持Composite Provider,但是能支持其他的表,主数据表啊,ADSO啊都行,还有CDS View。
我下午就一个劲去查这个S_TABU_DIS,因为它里头有个授权组:
SAP里头是没有单独权限来限制每个表的。
只有用表上的authorization group,一个authorization group 里面可以包含好多表。
SAP上的表能从DD02L这个表里看到。这里头成千上万的表,业务用户是不能让他直接访问表的,得有权限限制他能看哪个表。
从表TDDAT里头能看到每个表的授权对象组,有没分配的就在&NC&里头。我原先想的是,因为给Informatica,要给的都是view6,那就把所有的view6给放到一个新的授权对象组里,然后把这个新的授权对象组放到S_TABU_DIS里头去限制住。
SE54去建授权对象组:
授权对象组是很好建,但是到下一步去把view6分配给授权对象组的时候,死活分配不进去。后来我找了半天,敢情是只有数据字典的表才给你重新分配授权对象组,BW的表默认的那些授权对象组是不能改的。也就是说他是BWG的,就是BWG,你不能自己改成Z开头的自建的授权对象组。
BW的授权对象组我看到的就只有三个,BWC里头有openhub的表,BWG里头都是自动生成的各种ADSO的表和主数据相关的表,BWA里头是一些配置表。
那到这里,改授权组来限制的路就堵死了。
然后我就去查,发现,人家这里头检查的都写了,用NAM这个对象是限制的更窄。就是可以只用它一个来限制特定的表。但是如果你想放开的大点,那就用DIS来限制住授权组。用DIS授权组加NAM的这个,我实践下来发现是限制不住BW的表。(不是说ERP的表啊)
这里也能看到,如果去拿不在NAM里面的表,系统执行的时候会去检查DIS里面的授权组给没给,然后去查NAM里的table名给不给了。
费了半天劲,只要把DIS的失活就好了。两秒钟。