Permissions ABAP报表的用户访问控制
有一个ABAP报告,生产系统上的ABAP报告应通过访问控制进行保护,以避免未经授权的人员执行Permissions ABAP报表的用户访问控制,permissions,abap,roles,user-permissions,Permissions,Abap,Roles,User Permissions,有一个ABAP报告,生产系统上的ABAP报告应通过访问控制进行保护,以避免未经授权的人员执行 只有授权人员才能限制和控制对ABAP报告和表的访问权限的正确方法是什么?如果您想限制对整个报告的访问权限,可以在事务级别上进行。创建事务时,可以指定授权对象,也可以选择指定字段。未对此授权对象进行授权的用户将被排除在报告之外。确保用户不能通过SE38或类似事务运行报告来规避此问题 但是,有时您需要对此进行编程。例如,您的报告中可能有公司代码的选择字段,并且您只希望允许某些用户查看某些公司代码的数据。在这
只有授权人员才能限制和控制对ABAP报告和表的访问权限的正确方法是什么?如果您想限制对整个报告的访问权限,可以在事务级别上进行。创建事务时,可以指定授权对象,也可以选择指定字段。未对此授权对象进行授权的用户将被排除在报告之外。确保用户不能通过SE38或类似事务运行报告来规避此问题 但是,有时您需要对此进行编程。例如,您的报告中可能有公司代码的选择字段,并且您只希望允许某些用户查看某些公司代码的数据。在这种情况下,您可以使用AUTHORITY-CHECK关键字。以下是一个例子:
AUTHORITY-CHECK OBJECT 'BUKRS_COMP'
ID 'BUKRS' FIELD lv_bukrs
ID 'ACTVT' FIELD '03'. "read access
IF sy-subrc <> 0.
MESSAGE 'No authorization' TYPE 'E'.
ENDIF.
权限检查对象'BUKRS_COMP'
ID“BUKRS”字段lv_BUKRS
ID“ACTVT”字段“03”。“读访问
如果sy subrc为0。
消息“无授权”类型为“E”。
恩迪夫。
如果要限制对整个报表的访问,可以在事务级别上进行。创建事务时,可以指定授权对象,也可以选择指定字段。未获得此授权对象授权的用户将被排除在报表之外。请确保用户无法通过运行来规避此问题通过SE38或类似交易提交报告
但是,有时您需要对此进行编程。例如,您的报告中可能有一个公司代码选择字段,您只希望允许某些用户查看某些公司代码的数据。在这种情况下,您可以使用AUTHORITY-CHECK关键字。以下是一个示例:
AUTHORITY-CHECK OBJECT 'BUKRS_COMP'
ID 'BUKRS' FIELD lv_bukrs
ID 'ACTVT' FIELD '03'. "read access
IF sy-subrc <> 0.
MESSAGE 'No authorization' TYPE 'E'.
ENDIF.
权限检查对象'BUKRS_COMP'
ID“BUKRS”字段lv_BUKRS
ID“ACTVT”字段“03”。“读取访问权限”
如果sy subrc为0。
消息“无授权”类型为“E”。
恩迪夫。
综合方法由两部分组成:
SE38
和许多其他系统。通常由basis团队或系统所有者根据SAP安全指南执行- 核实某人是否拥有报告本身的权限
- 检查该人员是否有必要的表格访问权限
SE38
执行直接报告被阻止,因此我们应遵循以下步骤:
SE93
为报告创建事务,例如MY\u TCODE
MY\u TCODE
分配给报告权限检查对象的\u TCODE
添加到事务MY\u TCODE
的报告中权限检查对象的“禁忌”
,例如MY\u table
SU01
执行MY\u TCODE
- 如果您运行
,SAP将验证您是否具有步骤5中规定的权限MY\u TCODE
- 如果运行报告,则报告将根据步骤a为指定的
执行权限检查对象的\u TCODE'MY\u TCODE
- 如果步骤“A”和“B”正常,则报告将对所需表执行
权限检查对象的\u TABU\u NAM'
" check the access-right for the tcode
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'MY_TCODE'.
IF sy-subrc <> 0.
MESSAGE 'Access denied to the TCODE MY_TCODE' TYPE 'E'.
EXIT.
ENDIF.
" check write permission for the table
AUTHORITY-CHECK OBJECT 'S_TABU_NAM'
ID 'ACTVT' FIELD '02'
ID 'TABLE' FIELD 'MY_TABLE'.
IF sy-subrc <> 0.
MESSAGE 'Access denied to the table MY_TABLE' TYPE 'E'.
EXIT.
ENDIF.
“检查tcode的访问权限
权限检查对象的\u t代码
ID“TCD”字段“我的代码”。
如果sy subrc为0。
消息“拒绝访问TCODE MY_TCODE”类型为“E”。
出口
恩迪夫。
“检查表的写入权限
权限检查对象的“禁忌”
ID“ACTVT”字段“02”
ID“表格”字段“我的表格”。
如果sy subrc为0。
消息“拒绝访问表MY_table”类型为“E”。
出口
恩迪夫。
综合方法由两部分组成:
SE38
和许多其他系统。通常由basis团队或系统所有者根据SAP安全指南执行- 核实某人是否拥有报告本身的权限
- 检查该人员是否有必要的表格访问权限
SE38
执行直接报告被阻止,因此我们应遵循以下步骤:
SE93
为报告创建事务,例如MY\u TCODE
MY\u TCODE
分配给报告权限检查对象的\u TCODE
添加到事务MY\u TCODE
的报告中权限检查对象的“禁忌”
,例如MY\u table
SU01
执行MY\u TCODE
- 如果你经营一家公司