zoukankan      html  css  js  c++  java
  • SAP的权限知识培训笔记

    SAP的权限知识培训笔记

    √  系统安全6方面,权限为其一
        系统安全包括6方面,如下。权限安全属于应用范围,另外5方面是基础架构安全
            authentication 认证。登录之前。
            authorizations 权限。应用软件内部。定义能做什么(与法律相反)。
            confidentiality 保密。传递过程中加密。
            integrity 完整性。不会被修改。数字签名。
            non-repudiation 不可抵赖。
            availability 可用性

    √  形象的比喻
        权限对象相当于模板,权限(授权)相当于钥匙,装箱,给人。
        user master record
            profile or role(手提箱,旧版最多150权限)
                auth obj(分类auth obj class)
                    auths
                        fields & value
        R3之前如此做,系统管理员工作量太大。在R3中改进,有了参数文件生成器,对应Tcode为pfcg。它基于role生成profile。
        传统的role只有三种内容:transaction(最主要), report, url。有了pfcg,为role加入tcode后,就自动查找所需权限对象,生成profile——依据是两张表:usobx(哪些对象)和usobt(缺省值)。su25把它们复制出usobx_c和usobt_c,可以修改,如此则pfcg不再查原表,代之以查此新表。(有小问题,如新加权限对象……)su24看事务对应的权限对象。
        每个权象对象最多可有10个字段。如:
        `1class activity(显,改,创)
        工厂 活动
    **  以上是程序内的控制,下面讲内核控制
        输入tcode后,系统依次做什么呢?以va01为例
        首先查tstc表,看输入的tcode是否存在
        再查sm01,看系统管理员basis是否锁定此事务(如月底临时锁定)
        再查s_tcode权限对象(如果无此权限对象,则不能执行任何transaction。一般是有的),它会列出有权执行的所有事务代码。这里控制的是进入事务,进入之后不归它管了。——这是第1级,事务级,控制是否可进入某事务。
        第2级是权限对象的。
        以上这些是kernal可以实现的,不用写程序。
        如果要控制到事务内部,就要ABAP用authority-check语句,看一个系统变量是否为0。等于0,就是权限检查成功,可以继续处理。不等0,stop。
    **  操作
        q 操作:新建一个用户,不做任何权限处理。
          结果:可以看到菜单,不能执行。

        q 操作:建一个role,加入tcode,维护组织结构数据,维护权限对象
          |这些操作由系统管理员进行,但操作内容是由业务组人员提出。系统管理员自己是不懂的。
          |最严格情况下,权限管理员3个,分别负责user master data, role admin和把role分给用户。
          先输入组织结构级别数据
          再维护权限对象:
              此时可打开技术字段(utility 打开技术属性,如看到s_tcode)
          绿灯表示有缺省定义。utility 打开技术属性,s_tcode
          红灯表示组织结构没有维护。
          黄灯表示一些权限对象无缺省值(点黄灯则变成*,在顶级的黄灯也可以点)
          生成profile
          赋给用户
          更新(user coparison)用户主数据。解释:相当于刷新内存,这样实时生效,否则用户就要退出再登录才生效。

        q 写几行程序
          parameters: pa_car type scarr-carrid.
          data: wa type scarr.

          select single * from scarr into wa where carrid = pa_car.
          write: wa-carrid, wa-carrname.

          at selection-screen.
          authority check object 's_card"
          id carrid filed pa_care
          id activi filed 03
          if sy-subrc <> 0
          msgg e045(bc400)with pa_car
          endif.

          msg class

          se11 scarr
          选航空公司,列出。
          指定一个事务代码为程序。

          su93 加事务码

          为role加权限。权限对象变红灯。standard

          手工加s_carr_id。manually。
          无效。因为没有检查。表上没有权限。进门出示,陪你去。
          加锁再加
          加入下述行后就不能看了,系统出现error并停止。

          程序员s_developer可以debug,把返回值(禁止)更改(为允许)。所以不能把生产系统此角色分给任何人。这也是开发工作必须在其他系统中做的原因之一。
          ais审计信息系统,简化审计工作。这方面培训指出
          se16敏感权限。
          问题:标准事务,SAP已设定了执行时检查哪些权限对象。如果要再增加,就要“su21创建权限对象,维护权限对象,修改源程序”。工作量和难度都很小,但一涉及源程序,工作量就比较大。
          suim 用户信息系统。with sucess logins , with critical authori(可以自己定义哪些权限对象设置在一起危险,然后列出这样的用户)
          权限测试:少了通过测试。
          导数据专用工具。lsmw。sxda(专用),sm35是lsmw下面的功能,catt也是利用批输入的接口。

    **  利用HR改进权限管理
        不是role→user,
        而是role→HR position→HR person→SAP user。
        如此,在张三由A岗到B岗时,只要HR维护后,其SAP权限自动改变,无须basis处理。公司目前未用position。

    **  再说role
        basic role & compose role
            先建一个basic role,然后n个basic role关联到compose role。可自动更新。
        derive role & reference role
            用于维护几套相似(只有组织结构字段不同)的权限。reference role无组织结构数据,derive role从它取权限,再加上组织数据。但derive role 和 reference role应用不会太多,因为在其他权限字段也会有差异,并且现实中如此相似(业务规模)的情况很少。
  • 相关阅读:
    Java中取两位小数
    MySQL的IFNULL函数
    JS计算本周一和本周五的日期
    巅峰,不在一万米的边缘
    一段遍历4X4表格,取出每个单元格内容组合成文本的JS代码
    一个用于发送HTML格式邮件的类
    在Java程序中做字符串拼接时一定要记得的MessageFormat.format
    人就这么一辈子,要做自己想做的事情
    错误: 类Something是公共的, 应在名为 Something.java 的文件中声明
    Java中,权限修饰符的权限测试
  • 原文地址:https://www.cnblogs.com/elegantok/p/1401726.html
Copyright © 2011-2022 走看看