1、权限相关概念简介
一、首先我们先来介绍以下这幅图(PFCG),这里面包含几个权限相关的概念。
以上图为例,我们来简单的介绍上图中的几个概念:
1、Role:一堆TCODE的集合,当然还包含有TCODE必备的“权限对象”、“权限字段”、“字段值”等。这个大家比较熟悉,用户如果要添加某些权限,那么可以把相关的角色赋予相应的用户。
2、Authorization Objects:包含了若干权限字段、允许的操作和允许的值。有一个特殊的权限对象用来包含了若干事务码,这个权限对象叫“S_TCODE”,该权限对象的权限字段叫“TCD”,该字段允许的值(Field Value)存放的就是事务代码。
3、Authorization Group:顾名思义,这个就是若干个权限对象的集合。
4、Authorization Field:是AuthorizationObjects的相关元素,比如:操作、公司代码、一个事务等。有一种特殊的权限字段用来表示可以针对该权限对象做哪些操作,是允许创建、修改、显示、删除或者其他。该权限字段叫“ACTVT”,该字段允许的值(Field Value)存放的就是允许操作的代码,01代表创建、02代表修改、03代表显示等。
5、Field Value:确定可进行的操作或操作范围,如:权限字段是工厂,权限字段的值是1010,那么拥有该角色的用户只能进行1010工厂的相关操作。
6、Profiles:当一个角色生成的时候,会生成一个相应的参数文件,同样的,该参数文件也包含与相应角色一样的权限对象。(可以把一些非生成的参数文件赋予相关的用户)
介绍完以上几个概念后,大家来看看我们平时用SU53得到的截图(以下是在800用YLKJ_MM账号操作ME21N的截图):
就可以很清楚知道图中的意思了(该用户缺少权限对象类MM_E中的权限对象M_BEST_EKO下的字段ACTVT的值01(创建)的权限,后续会介绍怎么根据该图,查找相应的角色)。
二、介绍以上几个概念后,接下来介绍一下用户组(User Group)
用户组,顾名思义就是用户的集合,可以根据单位、部门对用户进行分组,对相应的用户组赋予相应的权限。
2、权限设置过程
下面以:为了控制事务代码ZMM100的使用,而创建ZMM_TEST角色的过程为例介绍角色的创建。
1、 权限对象类的创建
输入事务代码SU21,如下图:
如上图,点击“Object Class”,如下图:
按上图填写权限对象类的名称及描述,填写完后点击保存,弹出如下对话框:
点击“本地对象”,权限对象创建成功(注意:如果是正式情况不能点击本地对象,要点击保存)!
2、 权限字段的创建
输入SU20,如下图:
点击上图中的按钮,进入如下图:
如上图,填写字段名及数据元素(注意:如果所需要的字段已经存在,比如:WERKS或者ACTVT等,则不需要操作此步骤),点击保存,弹出如下界面:
点击保存,即可!
3、 创建权限对象及字段设置
选中创建好的权限对象类,点击右键,选中“CreateAuthorization Object” ,如下图:
弹出如下界面:
在上图中填写“对象名称”、“对象描述”、“字段名”填写完后,点击保存,弹出如下界面:
点击保存,弹出如下界面:
点击,回到如下界面:
点击,权限对象及字段设置成功,如下图:
4、 设置事务代码的权限对象
输入事务代码SU24,如下图:
如上图,输入需要维护的事物代码,点击,如下图:
如上图,每个事务代码都有默认的一个相关权限对象S_TCODE用于检查事务代码,(大家平常可能会有疑问:有些自开发的程序,如果没有对它设置权限控制的时候,为什么顾问的账号可以操作该事务代码,而一般用户的账号却不能操作呢??答案就在于顾问账号中分配的Z_KEYUSER_DISP_NOHR(显示权限ALL-非HR)角色中的S_TCODE权限对象字段值设置为如下:)点击上图中的按钮,维护相关的事务代码,如下:
点击上图中的按钮,增加权限对象(其它按钮的作用,大家自己测试一下就知道了),弹出如下对话框:
如上图,在对话框中输入已经创建的权限对象,点击回车,如下:
增加完权限对象后点击保存,会提示设置请求号,大家可以随便创建一个,到时候把其释放即可。创建完请求号后,弹出下图提示,说明维护没有问题了。
5、 角色的创建(只介绍手工创建,复制、上载及继承大家自己测试,还有种组件角色大家也可以去了解一下)
输入事务代码PFCG,如下图:
如上图,输入角色的名称,点击“创建角色”按钮,如下:
如上图,输入角色名称,并点击保存,然后点击“菜单”分页,如下:
点击按钮,如下:
如上图,输入要分配的事物代码,点击按钮,如下:
点击保存,后点击“权限”分页中的按钮,如下图:
点击菜单栏上的“实用程序”——>“显示技术名称”再选择角色,点击上图中的,如下图:
从上图中大家可以清楚的发现SU24中“Proposal Status”的作用了(当然,S_TCODE是不受影响的)
这边只带出权限对象ZMAT_CHECK,如果想继续增加其他的权限对象,则可以点击菜单栏上的“编辑”——>“插入权限”或者上图中的按钮进行权限对象的增加(注意:“选择标准”不能添加自定义的权限对象)这边点击,如下图:
如上图,输入要增加的权限对象,点击回车,如下图:
点击,对权限字段值进行维护,如下:
设置完字段值后,点击上图中的按钮,角色的权限维护成功。
最后点击“用户”分页进行相应用户的维护,并进行用户的比较。(比较简单不再详细说明)
6、 程序中的权限控制
如果有的人认为以上操作完就,就可以进行权限控制了,那就错了。其实以上的设置对权限限制完全起不到任何作用,真正的权限限制是在事务代码相应的程序中增加如下代码:
AUTHORITY-CHECK OBJECT ‘ZMAT_CHECK’
ID ‘ACTVT’ FIELD ’01’.
才能达到权限的控制,即以上的操作才起作用。
3、角色传输(只介绍批量角色的传输,单个传输就点击即可)
1、请求号的生成:
输入事务代码PFCG ,如下图:
进入大量传输界面,如下:
如上图输入要传输的角色名,点击,如下图:
点击回车,如下图:
回车,进行相应请求号的创建,这边不再详细说明。请求号创建完后,跳转如下界面:
到此,角色相应的请求号生成成功。
2、请求号传输:(没有权限操作,这边不再详细截图)
跨集团传输:
STMS,在源系统操作,即如果要把120的角色传输至240,则在120系统执行STMS;
同一个集团不同客户端传输:
SCC1,在统一集团的目的系统操作,即如果要把120的角色传输至160,则要在160系统进行SCC1的操作。
4、权限相关表及事务代码(基本上所有的权限问题都可以根据下面的表或事务代码进行处理,这边留给大家自己研究吧)
1、相关事务代码
−SU53
−当一个账号反映没有某个应有的权限时,可以输入T-code:SU53,查询系统出现没有权限的信息。
−SUIM
−SUIM 其实就是Information 系统的一个集合界面。
−最常用的功能是:已知某个 T-code,查找含有这个T-code的角色。
−输入 T-code后执行,就可以得到含有这个T-code 的角色的列表。
−注意:其判断条件是角色的角色菜单,而不是 Profile参数文件。
−(一)创建Role(角色)的相关T-code:
−PFCG 创建角色
−PFAC 创建系统模板标准角色
−PFAC_CHG改变系统模板标准角色
−PFAC_DEL删除系统模板标准角色
−PFAC_DIS显示系统模板标准角色
−PFAC_INS新建系统模板标准角色
−PFAC_STR
−ROLE_CMP比较
−SUPC 批量建立角色参数文件
−SWUJ 测试
−SU03 检测 authorization data(授权数据)
−SU25, SU26检查 updated profile(更新的参数文件)
−(二)创建用户的相关 T-code:
−SU0
−SU01 创建用户
−SU01D
−SU01_NAV
−SU05
−SU50,SU51,SU52
−SU1
−SU10 批量创建用户
−SU12 批量修改用户
−SUCOMP维护用户公司地址
−SU2 修改用户参数
−用户组
−SUGR 维护用户组
−SUGRD显示用户组
−SUGRD_NAV维护用户组
−SUGR_NAV显示用户组
−(三)关于 profile & Authorization Data
−SU02 直接创建角色参数文件,不用角色创建
−SU20 细分 Authorization Fields(授权范围)
−SU21(SU03)维护 Authorization Objects(授权对象)
−对具体 transaction code(事务代码)细分
−SU22,SU24维护事务权限对象的分配
−SU53 检查缺失的 authorization objects(授权对象)
−SU56 分析 authorization data buffers(授权数据缓冲器)
−SU87 检查用户改变产生的 history(历史记录)
−SU96,SU97,SU98,SU99
−SUPC 批量产生角色
2、相关的表
−TOBJ All available authorization objects
−USR12用户级 authorization(授权)值
−USR01主数据
−USR02密码在此
−USR04授权在此
−USR03 User address data
−USR05 User Master Parameter ID
−USR06 Additional Data per User
−USR07 Object/values of last authorizationcheck
−USR08 Table for user menu entries
−USR09 Entries for user menus (work areas)
−USR10 User master authorization profiles
−USR11 User Master Texts for Profiles (USR10)
−USR12 User master authorization values
−USR13 Short Texts for Authorizations
−USR14 Surcharge able Language Versions perUser
−USR15 External User Name
−USR16 Values for Variables for UserAuthorizations
−USR20 Date of last user master reorganization
−USR21 Assign user name address key
−USR22 Logon data without kernel access
−USR30 Additional Information for User Menu
−USR40 Table for illegal passwords
−USR41当前用户
−USREFUS
−USRBF3
−UST04 User Profile在此
−UST10CComposite profiles
−UST10S Single profiles
−AGR_1250角色与权限对象的关联表
−AGR_1251角色与权限对象及操作值关联表
−TSTC 事务代码表
−UST12 参数文件与权限值的对应
−AGR_1016角色与参数文件对应表
−USRBF2 这个表是对应到所用的authorzizationobjects的.
−USOBX 事务代码与权限对象
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/19832.html