SAP用户权限管理

  • 1、术语说明
  • 2、用户授权(添加菜单事务码-功能)
    • (1)主要TCODE:
    • (2)创建用户 SU01
    • (3)创建角色 PFCG
    • (4)权限验证
  • 3、用户授权(添加系统权限对象-功能)
    • (1)权限对象 SU21
    • (2)权限角色 PFCG
    • (3)权限验证
  • 4、用户授权(添加系统权限对象-功能&数据)
  • 5、用户授权(添加自定义权限对象-数据)
    • (1)创建自定义权限对象
    • (2)使用自定义权限对象
    • (3)代码中使用自定义权限对象
    • (4)将权限对象分配到事务码

1、术语说明

账号(User Account):即我们平常说的用户账号,也称为“USER ID”,通过Password登录SAP GUI。
角色(Role):组织设定同类用户的权限集合,方便授权管理。每个角色可以分配给多个用户,每个用户也可以同时拥有多个角色。角色的分类:分为Single Role和Composite Role两种,后者其实是前者的集合。即单一角色是一个独立的权限对象,而复合角色可以由多个单一角色组合而成,能够同时继承不同单一角色的权限。
参数文件(Profile)真正记录权限设定的文件,每个角色都会生成一个对应的参数文件,SAP通过参数文件检查用户访问系统的权限。 SAP有很多预置的参数文件,如:SAP_ALL(所有SAP系统权限),S_A.SYSTEM(系统管理员即超级用户)。一般普通用户不会授予这两种权限,但有个特殊的应用场景,当用户类型为SYSTEM或Communications Data类型时,可以结合SAP_ALL授权,实现系统间的通讯。
用户组(Group):对用户账号进行分组,可以实现对用户管理的分散维护。管理员是可以维护系统中所有用户的权限的,而被分配权限检查用户组的账号,则拥有管理该用户组中其他成员的权限。通过用户组分配可以减少管理员对用户账号维护的工作量,适用于一些较大企业账号分地区管理的模式。通过事务代码SU10实现对用户组的批量维护。
功能权限 Activity:用户具备的哪些TCODE的操作权限,即业务模块的增删改查权限。
数据权限:用户具备的哪些数据细分权限,如限定业务的组织、公司、区域、类型等范围权限。
权限对象(Authorization Object):给角色进行授权的单元。
系统权限架构:即对系统权限设定的一个整体规划与应用方案,以符合企业管理应用需要。主要通过组合使用以下两类角色来实现:
① 功能权限:不同岗位职责用户所具有的业务模块功能权限。
② 数据权限:相同岗位职责用户所具有的不同数据访问权限。
菜单权限:用于定义并分配对应角色所能操作的事务代码,简单讲,角色就是若干事务代码的集合,会直接显示在用户的登录菜单栏。
权限:SAP会根据对应角色的菜单权限,列出具体的权限对象,或者是单独添加的权限对象,并对权限字段具体参数值进行设定,控制具体的操作权限和数据权限。

2、用户授权(添加菜单事务码-功能)

(1)主要TCODE:

创建用户:SU01
创建角色:PFCG
用户权限检查:SU53

(2)创建用户 SU01

参考上篇

(3)创建角色 PFCG

SAP针对不同的功能模块提供了很多内置的角色,如SD模块的权限角色名都是以 SAP_SD 为前缀,HR模块以 SAP_HR为前缀。

示例:创建角色 ZROLE_S_SU53,授予 SU53 权限。

① 输入角色名称:ZROLE_S_SU53
② 单击创建 Single Role

① 输入角色说明
② 切换 Menu 页签,提示保存
③ 选择 Yes,保存

① 初始菜单权限为空
② 可通过添加事务码来授权
③ 授权前,我们先来检查下用户权限



返回 Menu 页签,添加事务码 SU53

① 点击添加事务码
② 弹出对话框,添加事务码 SU53
③ 确认,授权事务码

菜单权限已生成,保存后我们再来检查下用户权限

① 显示具体的权限对象,授权情况
② 保存(保存角色对应的权限参数文件)
③ 光保存还不够,还需要生成权限

① 点击保存
② 保存角色对应的权限参数文件,返回

① 切换 User 页签
② 添加 User ID
③ 角色新授权用户 或者 角色发生变更,都需要执行用户比较操作,以同步更新用户权限


至此,用户 SU53 授权完成,可以登录用户验证查看。

(4)权限验证

登录新账号 ZUSER01,用户菜单栏发生改变,仅可见已授权菜单项目。
先尝试执行事务码 VA01,再执行事务码 SU53,显示界面如下:

① 显示权限检查失败的记录
② 显示权限检查成功的记录
③ 切换显示布局 Switch Layout

① 权限类:权限对象的分组类别,SU21。
② 权限对象:组合一定权限字段的权限集合,SU21。
③ 权限字段:权限对象下面最小的授权单元,通过对其的赋值,实现功能与数据权限控制,SU20。

3、用户授权(添加系统权限对象-功能)

(1)权限对象 SU21

在权限类型 AAAB 中,可以查找到系统权限对象 S_TCODE

双击权限对象 S_TCODE,可以查看到它下面拥有的权限字段 TCD

总结:授权是授给用户的,一个用户拥有很多角色,而角色是由权限对象来控制的,而权限对象是由权限字段组成的,也就是通过这些小的权限字段的赋值,从而达到对用户行为的权限控制。

(2)权限角色 PFCG

示例:创建角色 ZROLE_S_VA01,授予 VA01 权限。

① 创建新的角色 ZROLE_S_VA01,输入角色说明
② 直接切换 权限 页签,先保存角色名称
③ 直接进入修改权限数据

① 弹出系统预置的权限模板,一般项目中可以复制系统的,然后加以修改
② 本案例我们通过自定义实现,此处我们选择不使用模板

① 选择 手工添加
② 输入权限对象 S_TCODE
③ 确认

① 展开权限项目,点击 修改
② 弹出对话框,设置权限字段 TCD的值为 VA01
③ 确认保存

① 生成参数文件
② 确认,退出

① 给用户授权
② 用户比较,使得新的权限设置生效
③ 保存,至此,用户 VA01 授权完成,可以登录用户验证查看。

(3)权限验证

登录账号 ZUSER01,用户菜单栏未发生改变,仍仅可见 SU53 菜单项。
先尝试执行事务码 VA01,授权成功,能够打开销售订单创建初始界面,并且销售组织默认参数也已自动填充。

再执行事务码 SU53,显示用户已具有两项权限,显示界面如下:

4、用户授权(添加系统权限对象-功能&数据)

使用用户 ZUSER01 继续进行销售订单的操作,我们会发现依然缺少相应的数据项维护权限

① 订单类型,必填项,任选一个,譬如 AA-促销订单
② 确认提交,报错:凭证类型 AA 没有维护权
执行 SU53,检查本次操作缺少的权限项

如图所示,缺少权限类型 SD 的权限对象 V_VBAK_AAT 的权限,权限字段分别为:作业(Activity)、销售凭证类型(Sales Document Type)
回到管理员账号,给该用户创建新的权限角色 ZROLE_S_DYNAMIC,添加系统标准权限对象


① 定位到 SD 权限类
② 添加 V_VBAK_AAT 权限对象
③ 插入选择项

① 设置作业(Activity)-操作权限
② 勾选新增权限 01-Create or generate
③ 保存

① 设置销售凭证类型(Sales Document Type)-数据权限
② 此处仅设置 01、AA 两种类型
③ 保存

① 设置权限后,变成绿色
② 生成权限参数文件
③ 返回,切换到用户,点击用户比较,让用户权限生效
回到用户订单创建初始界面,此时选择订单类型:AA,已经能够进入订单创建界面;选择除01、AA类型之外的,依然没有维护权限。如下图

5、用户授权(添加自定义权限对象-数据)

(1)创建自定义权限对象

执行事务码 SU20,创建 权限字段 ZVKORG,参照销售组织的数据元素 VKORG

说明:优先参考数据元素,其次参考表,适用于自定义的表字段或者取值范围。

执行事务码 SU21,首先创建 权限类 ZAUH


其次创建 权限对象 Z_VKORG ,添加 系统权限字段 VKORG 和 自定义的权限字段 ZVKORG ,都可以用于控制销售组织字段的数据权限。


最后,将自定义的权限对象,同步给 SAP_ALL ,即重新生成 SAP_ALL 权限参数文件,使其具备这些权限字段的所有权限。

(2)使用自定义权限对象

创建角色 ZROLE_S_DATA,添加权限对象 Z_VKORG,设置 权限字段 VKORG 或 ZVKORG 数据权限,授权给用户 ZUSER01


(3)代码中使用自定义权限对象

在SE38中开发REPORT程序 ZLLDEMO01,定义如下代码:

REPORT  ZLLDEMO01.
PARAMETERS: P_VKORG TYPE VBAK-VKORG.
AUTHORITY-CHECK OBJECT 'Z_VKORG'ID 'VKORG' FIELD P_VKORG.
IF SY-SUBRC <> 0.MESSAGE 'No authorization' TYPE 'E'.
ENDIF.
WRITE: / P_VKORG.

执行验证(ZUSER01执行SE38,显示并执行代码,需要一系列授权,请参照上述方法,查看SU53权限缺失项,进行授权)
输入销售组织:0001


输入 0001、AESO 之外的销售组织,报:没有权限。

(4)将权限对象分配到事务码

执行事务码 SE93,创建 自开发应用 TCODE:ZLLDEMO01

执行事务码 SU22,维护事务码 ZLLDEMO01 的权限对象 Z_VKORG


① 选中对应事务码
② 点击修改,右边菜单栏发生变化,同时自动加入系统权限对象 S_TCODE
③ 点击增加权限对象按钮
④ 弹出对话框,填入权限对象 Z_VKORG
⑤ 确认,加入权限对象 Z_VKORG。

【SAP Basis】SAP用户权限管理相关推荐

  1. RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...

  2. aix oracle 登录用户,AIX 系统及 Oracle 数据库用户权限管理

    AIX 系统及Oracle 数据库用户权限管理 1.AIX 系统用户管理.系统用户管理 1.1 对于root 用户.在aix 系统中root 账户是具有最高特权的,因此保护好root 的密码尤为重要, ...

  3. Hive用户权限管理理解

    HiverServer2支持远程多客户端的并发和认证,支持通过JDBC.Beeline等连接操作.hive默认的Derby数据库,由于是内嵌的文件数据库,只支持一个用户的操作访问,支持多用户需用mys ...

  4. 不使用三方包时,如何在ThinkSNS中建立优雅的用户权限管理

    本文主要全面讲解在不适用第三方包的情况下,如何在基于Laravel框架上,研发社交系统ThinkSNS+时,简历一套优雅而不失性价比的用户权限管理体系功能,[内含ThinkSNS真实代码]. 需求场景 ...

  5. Jenkins拾遗--第三篇(用户权限管理)

    采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...

  6. 用户权限管理:最常用的架构模型介绍

    本文由作者 Dennis_ 发布于社区 近期PMCAFF有好几个帖子都在问权限如何管理,给大家分享下吧. 1. 角色权限管理 说起用户权限管理,绕不开 RBAC模型, 直接上图: RBAC(Role- ...

  7. mysql用户角色权限代码_用户权限管理代码

    用户权限管理代码 define('PATTERN_MODE_INT',                1); define('PATTERN_MODE_STRING',        2); func ...

  8. jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查

    CI持续集成流程 pipeline jenkins安装pipeline插件: 简单使用: 查看流水线语法: 片段生成器: 2.0以后推荐使用声明式语法:右侧下拉框是一些步骤,都可以自动生成 Decla ...

  9. mysql服务器权限说明,MySQL用户权限管理详解

    用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库.哪些表 2. 可以限制用户对哪些表执行SELECT.CREATE.DELETE.DELETE.ALTER等操作 3. 可以限制用户登录的IP ...

最新文章

  1. springboot-6-整合jdbc
  2. .NET MVC Filter异常处理
  3. java if else 过多_Java中if-else过多怎么解决
  4. el-table改变宽度刷新不恢复
  5. 【机器视觉】 dev_set_shape算子
  6. ttf_openfont可以多次调用吗_【译文】Rust futures: async fn中的thread::sleep和阻塞调用...
  7. Qt 字符串QString arg()用法总结
  8. 怎么让同网络计算机强制关机,知道局域网ip怎么关机
  9. 1.Linux 高性能服务器编程 --- TCP/IP 协议族
  10. win10 jungo windriver
  11. sublime text3格式化代码快捷键
  12. ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法
  13. MATLAB数值计算学习笔记(二)误差理论和非线性方程求解
  14. ktv无线服务器,KTV无线网络覆盖方案-无死角WIFI信号全覆盖方法
  15. Xcode iOS 工程目录结构解析
  16. 计算机管理怎么分硬盘,电脑磁盘空间划分_电脑磁盘分区怎么分
  17. scrapy——抓取知乎
  18. (转)WAVE PCM 声音文件格式
  19. Java 提取PDF图片(pdfbox)Extract PDF document images
  20. 广点通sdk接入(作为广告主身份)

热门文章

  1. 只用js代码实现电子时钟,精确到毫秒
  2. 一些开源的项目 收藏
  3. 学习日记day16 ps
  4. 石川 :学术界、管理人、投资者视角下的因子投资
  5. 用trace32分析内核死机
  6. hbuilder+dcloud开发APP
  7. maven进行install时出现Fatal error compiling错误
  8. 数字IC后端知识扫盲——OCV(上)
  9. word2016撤销无效解决办法
  10. 精心总结的表格快捷键