SAP用户权限控制大解析及权限进阶分析
通常basis会使用PFCG做权限管理,你保存时会产生一个系统外的profile name,而且,SU01时用户有profile 和role两栏位。
这些个profile name ,profile,role它们的关系如何呢?profile 这个英语词义是很丰富的,在中文中难找对应的表示同等语义的词语。
基本概念
activity
activity,活动,类如insert, update,display等等,
这些activity由当年德国开发者设计在tobj表中。
activity 也是可分activity group。如果上升到方法论,我们不难发现,分类始终是人类认识和管理事物的卓越思想和强大手段。
activity category &Authorization group
Role Vs Profile
我们可以看看表T020,那里分出好多K,D, A, M什么的,学习比较一下就清楚了.
profile是什么呢?实际上可以理解为所有的authorization data(有很多authorization group--你可使用OBA7填写,
权限太细并非好事,和activity组成)的一个集合的名字,通常一个自定义的role产
生一个profile,SAP权限控制是根据profile里的authorization data(objects)来控制的.
role又是什么呢?role只是一个名字而已,然后将profile赋予给它, 比如你SU01建立一个
用户,我没有任何role,但是加如SAP_All profile
也是可做任何事情.
SAP本身有很多default role & profile.
最常用的PFCG->authorizations->change authorization data->
进入后选取selection criteria 可看到所有的authorization object
manually可手工加authorization object,比如你使用某个t-code权限出错误,abap使用SU53检查就
知道缺少哪个authorization objec,然后手工加入就可以.
你选去authorization levels就可by account type再细分权限.
有些甚至直接到表字段.而且你甚至可給一个object分配缓存buffer.
实现机制
SAP是如何做到权限控制?下面是一些研究结论。
关于权限方面的几个t-code.
Role(角色)相关T-code:
PFAC 标准
PFAC_CHG 改变
PFAC_DEL 删除
PFAC_DIS 显示
PFAC_INS 新建
PFAC_STR
PFCG 创建
ROLE_CMP 比较
SUPC 批量建立角色profile
SWUJ 测试
SU03 检测authorzation data
SU25, SU26 检查updated profile
建立用户相关T-code:
SU0
SU01
SU01D
SU01_NAV
SU05
SU50, Su51, SU52
SU1
SU10 批量
SU12 批量
SUCOMP:维护用户公司地址
SU2 change用户参数
SUIM 用户信息系统
用户组
SUGR:维护
SUGRD:显示
SUGRD_NAV:还是维护
SUGR_NAV:还是显示
关于profile&Authoraztion Data
SU02:直接创建profile不用role
SU20:细分Authorization Fields
SU21(SU03):****维护Authorization Objects(TOBJ,USR12).
对于凭证你可细分到:
F_BKPF_BED: Accounting Document: Account Authorization for Customers
F_BKPF_BEK: Accounting Document: Account Authorization for Vendors
F_BKPF_BES: Accounting Document: Account Authorization for G/L Accounts
F_BKPF_BLA: Accounting Document: Authorization for Document Types
F_BKPF_BUK: Accounting Document: Authorization for Company Codes
F_BKPF_BUP: Accounting Document: Authorization for Posting Periods
F_BKPF_GSB: Accounting Document: Authorization for Business Areas
F_BKPF_KOA: Accounting Document: Authorization for Account Types
F_BKPF_VW : Accounting Document: Change Default Values for Doc.Type/PsKy
然后你进去还可细分,这些个东西是save在USR12表中的. 在DB层是UTAB.
对具体transaction code细分:
SU22,SU24
SU53:*** 就是你出错用来检查没有那些authoraztion objects.
SU56:分析authoraztion data buffers.
SU87:用来检查用户改变产生的history
SU96,SU97,SU98,SU99:干啥的?
SUPC:批量产生role
DB和logical层:
SUKRI:Transaction Combinations Critical for Security
tables:
TOBJ : All avaiable authorzation objects.(全在此)
USR12: 用户级authoraztion值
-----------------------------
USR01:主数据
USR02:密码在此
USR04:授权在此
USR03:User address data
USR05:User Master Parameter ID
USR06:Additional Data per User
USR07:Object/values of last authorization check that failed
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:Surchargeable Language Versions per User
USR15:External User Name
USR16:Values for Variables for User Authorizations
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:
USRBF2
USRBF3
UST04:User Profile在此
UST10C: Composite profiles
UST10S: Single profiles (角色对应的
UST12 : Authorizations..............................
权限进阶
用户:
User type用户类型(干啥用的不讲):
通常的用户类型有
a.dialog (就是normal user)
b.communication
c.system
d.service
e.reference.
通常你在使用任何T-code前一定会有权限检测的.
AUTHORITY_CHECK:这个函数只是小检查一下你的user有没有,什么时候过期.
**如果coding只要使用此函数就够了.
AUTHORITY_CHECK_TCODE:检查T-code
这倆函数是真正检查autorization objects的.
SUSR_USER_AUTH_FOR_OBJ_GET:
AUTHORIZATION_DATA_READ_SELOBJ:
SAP用户权限控制大解析及权限进阶分析相关推荐
- 松耦合式的权限控制设计,自定义权限表达式
点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...
- RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣
RBAC.控制权限设计.权限表设计 基于角色权限控制和基于资源权限控制的区别优劣 一.介绍 二.基于角色的权限设计 三.基于资源的权限设计 四.主体.资源.权限关系图 主体.资源.权限相关的数据模型 ...
- 若依RuoYi框架数据库权限控制表解析
若依框架在权限控制方面使用了一些数据库表来存储相关的信息. 若依框架有前后端分离版本和微服务版本,微服务版本也采用前后端分离的架构,但与传统的前后端分离版本不同,微服务版本在后端进一步拆分为多个小型的 ...
- SaaS权限控制:设计思路和表分析
权限设计 针对这样的需求,在有些设计中可以将菜单,按钮,后端API请求等作为资源,这样就构成了基于RBAC的另一种授权模型(用户-角色-权限-资源).在SAAS-HRM系统的权限设计中我们就是才用了此 ...
- java 位运算 权限控制_java 位运算权限管控(转载)
这里笔者介绍一种很常用,也比较专业的权限控制思路.这里用java语言描述,其实都差不多的.要换成其他的语言主,自己转一下就可以了.为了方便起见,我们这里定义a^b为:a的b次方.这里,我们为每一个操作 ...
- 美年_移动端开发_权限控制_Spring Security入门与进阶
文章目录 第三章权限控制 3.1. 认证和授权概念 3.2. 权限模块数据模型 3.3 RBAC权限模型扩展: [小结] 3.3. Spring Security简介 [讲解] [小结] 3.4. S ...
- SpringSecurity 权限控制之开启动态权限注解支持
开启授权的注解支持 这里给大家演示三类注解,但实际开发中,用一类即可! <!-- 开启权限控制注解支持 jsr250-annotations="enabled" 表示支持js ...
- SAS中国用户大会:大数据的价值在于分析
人类正在从数字社会走向智能社会时代.智能手机,智能家电,智能工业产品中嵌入的传感芯片无处不在,我们的生活已经被数据包围.然而,光有数字和数据还是不够这仅仅是"记忆",并没有&quo ...
- Java Protected关键字权限控制实例解析
关于Java Protected的大部分用法及注意事项在https://blog.csdn.net/justloveyou_/article/details/61672133这篇博文中讲的很清楚,但是 ...
最新文章
- HTML 5中SEO可以用那些代码来做优化
- Java中的数据结构
- TCP/IP总结(1)分层
- Spring 依赖注入(DI)
- stringcstdlibctimecstdargctimectypecmathclimits
- 为什么python是解释型面向对象的语言_python为什么是面向对象的
- Android Studio无线连接设备调试,比数据线更方便
- PyCharm安装Twisted库(报错:Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Stu)
- 开工第一天,这个超时问题把我干趴下了
- 五菱汽车:并不知悉导致股价及成交量上升的任何原因
- 关于NSArray使用时用strong修饰还是copy修饰问题测试
- html页脚显示不出来,CSS实例:让页脚保持在未满屏页面的底部
- OpenCL编程实例: 向量计算
- Delphi版 熊猫烧香源码
- 基于Python+MySQL的图书销售管理系统 课程论文+项目源码及数据库文件
- ZOJ 3551 Bloodsucker 题解
- 安卓开发 之小白养成-Android环境搭建 二
- 一文打通ER图(手把手教你画)
- Android项目架构图
- mysql 时间戳转换为时间_将MYSQL数据库里的时间戳转换成时间
热门文章
- i-i.me:网址导航真的是伪需求吗?
- 论文笔记系列-Efficient Neural Architecture Search via Parameter Sharing
- Zookeeper和 Google Chubby对比分析
- Java中getMessage()和printStackTrace方法
- CentOS 6.3安装(详细图解教程)
- 设计,成本与开发细节的讨论
- 您为了什么而学?【一入红尘深似海 勿负天下有心人】
- oracle 数据库备份恢复
- 抓个Firefox的小辫子,围观群众有:Chrome、Edge、IE8-11
- 关于intellij的配置安装