ERP Software Corner
- Category: Security
- Published on Monday, 02 July 2007 22:36
- Written by Yvette Smith
- Hits: 13943
The purpose of this document is to provide additional information that could be helpful with SAP Security upgrades, especially pertaining to 4.6C.
This document is not aimed at replacing the SAP Authorizations Made Easy guidebook’s procedures, but rather to complement these based on lessons learnt from previous upgrade projects.
It is focused mainly on upgrades from 3.1x to 4.6x and covers the following:
· Evaluation of the Security Upgrade approaches;
· “Gotchas” to watch out for with SAP’s SU25 utility;
· Transactions and authorizations that require special attention; and
· Helpful reports, transactions, hints and tables to know.
It is highly recommended that you review the chapter on upgrades in the Authorizations Made Easy guide before attempting the security upgrade.See OSS note 39267 for information on obtaining the Guide
There are a couple of objectives for having to upgrade the SAP Security infrastructure:
· Converting manual profiles created via SU02 to activity groups, as SAP recommends the use of Profile Generator (PFCG) for the maintenance of profiles;
· Adding new transactions representing additional functionality to the applicable activity groups;
· Adding the replacement transactions that aim at substituting obsolete or old-version transactions, including the new Enjoy transactions;
· Adjusting the new authorization objects that SAP added for the new release; and
· Ensuring that all existing reports, transactions and authorizations still function as expected in the new release of SAP.
Once the Development system has been upgraded to 4.6, the security team will need to perform the following steps as part of the Security Upgrade:
· Convert Report Trees to Area Menus;
· Review users (via SU01) to check for any new or changed fields on the user masters;
· Convert manual profiles created via SU02 to Activity Groups (See Approaches below);
· Compare SU24 customer settings to new SAP default settings (SU25 steps 2A-2C);
· Determine which new / replacement transactions have to be added to which activity groups (SU25 step 2D);
· Transport the newly-filled tables USOBT_C and USOBX_C that contain the SU24 settings you’ve made (SU25 step 3); and
· Remove user assignments to the manual profiles.
SAP provides an utility for converting Manual Profiles to Activity Groups and to identify the new and replacement transactions that need to be added to each activity group.
You can access this utility by typing “SU25” in the command box.
If you do decide to use SU25 Step 6 to convert the Manual profiles to activity groups, you will need to watch out for the following “gotchas”:
Naming convention (T_500yyyyy_previous name)
All activity groups created before SU25 is run, are renamed to T_500yyyyy_previous name.
See OSS note 156196 for additional information and procedures to rename the activity groups back to their original names using program ZPRGN_COPY_T_RY_ARGS. Carefully review information regarding the loss of links between profiles and user master records.
Ranges of transactions are not always added correctly to the newly-created activity groups. Some of the transactions in the middle of the range are occasionally left off. E.g. you have a transaction range of VA01 – VA04 for a specific manual profile. After SU25 conversion, the new Activity Group only contains VA01 and VA04. Transactions VA02 and VA03 were not added.
It is important that a complete download of table UST12 is done prior to running SU25. Once SU25 has been run, a new download of UST12 can be done to identify which transactions have been dropped off.
The missing transaction codes will need to be added manually to the relevant activity group via PFCG.
Missed “new” transactions
The output of one of the steps in SU25 is a list of the new replacement transactions (e.g. Enjoy transactions) that need to be added per activity group. E.g. transaction ME21N replaces ME21. The list will identify each activity group that has ME21 where ME21N needs to be added to.
In some cases SU25 does not identify all new transactions to be added.
An alternative approach to SU25 is to manually create an activity group for each manual profile that was created via SU02.
The advantage of this approach is that you won’t have any missing transactions that were “dropped off” with the SU25 conversion.
Several new authorization objects have been added with release 4.6. Care should be taken when adjusting authorizations – carefully review all new defaults that were brought in. These are indicated by a Yellow or Red traffic light in PFCG.
It is highly recommended that you first check the previous settings where new defaults were brought in, before just accepting the new defaults. You can either use the existing 3.1x Production system or the UST12 and/or USOBT_C tables as reference.
It’s recommended that all activity groups containing an ‘*’ in authorization object s_tcode are recreated via PFCG by selecting only those transactions required for that role. Also, if you did previously add transactions to an activity group by manipulating the s_tcode authorization entries, it is recommended that the transactions are pertinently selected/added on the Menu tab. The object s_tcode should be returned to its ‘Standard’ status.
Report Trees need to be converted to Area Menus using transaction RTTREE_MIGRATION..
Reports created by ABAP Query need to be added either to the activity group (Menu tab) or to an Area menu to ensure an authorization check on s_tcode level.
The use of an authorization object for Remote Function Calls (RFC) was introduced to provide authorization checks for BAPI calls, etc. Authorization object s_rfc provides access based on the Function Group (each RFC belongs to a Function Group). Due to the potential prevalent use of RFC’s within the R/3 system, SAP has provided the ability to change the checks for this object via parameter auth/rfc_authority_check. It is possible to deactivate the checking of this object completely. However it is recommended to rather set the values as required, which makes testing even more important!
Custom views and tables that are customarily maintained via SM30, SM31,etc. will need to be added to an authorization group. This can be done via transaction SE54 or SUCU or by maintaining table TDDAT via SM31.
A decision needs to be made once the first system has been upgrade to 4.6x as to whether the user menus or the SAP menu, or both are to be used.
Most users find the new user menus confusing and unfamiliar due to duplication of transactions, etc. (if a user has more than one activity group and the same transaction appears in several, the transaction will appear multiple times). The majority of upgrades from my experience have opted to use a modified copy of the SAP menu by adding their own area menus (converted report trees).
If you do not maintain the user masters in the same client as the activity groups, you will need to establish a strategy for re-linking the users in the QA and Productive environments when transporting the activity groups as part of the upgrade cutover. This might also be necessary depending on whether you decided to rename the Activity groups per OSS note 156196.
Remember to thoroughly test and document all procedures and CATT scripts prior to the Production cutover.
With most current upgrades, the upgrade process will be tested on a separate environment set aside from the existing landscape. In a lot of cases a dual-landscape will be implemented where the existing landscape is complemented with an additional 4.6x test client(s). The new 4.6x clients usually become part of the permanent landscape once the Production system has been cut over and all changes are then sourced from these ‘new’ Development and/or QA systems.
It is imperative that all interim security-related changes are applied to both sets of systems to ensure that the ‘new’ 4.6x development source system is current with all changes that were made as part of Production support in the ‘old’ version landscape. If not, you will have changes that were taken to Production when it was still on the older release, but are now missing after the switch is made to the 4.6x systems.
It is thus advisable to keep changes during the upgrade project to a minimum.
Changes to activity groups are not automatically recorded in 4.6x. When an activity group needs to be transported, it needs to be explicitly assigned to a change request via PFCG.
SAP recommends that you first complete all the changes to an activity group, before you assign it to a transport request. Once you’ve assigned the activity group to a request, do not make any further changes to it.
You can also do a mass transport of activity groups via PFCG > Environment > Mass Transport.
If you want to transport the deletion of an activity group, you first have to assign the activity group to a transport request before performing the deletion via PFCG.
The profiles used for creating client copies have been changed, especially profile SAP_USER from 4.5 onwards. Activity groups are seen as customizing and the SAP_USER profile copies both user masters and activity groups.
It’s recommended that the client copy profiles are carefully reviewed before the copy is performed.
See OSS note 24853 for additional information on client copies.
Changes to check indicators that were made via SU24 might have to be redone as part of the upgrade. Ensure that any resulting transport requests are noted and included in the detailed cutover plan.
Check indicator changes done via SU24 will need to be applied for any new and replacement transactions.
Composite activity groups can be built in release 4.6x using individual activity groups. A composite activity group does not contain any authorizations, but is merely a collection of individual activity groups.
Central User Administration (CUA) simplifies user administration, allowing security administrators to maintain users in a single central client only. The user masters are then distributed to other clients using ALE. It is recommended that CUA is implemented post-upgrade and once the systems have been stabilized. Carefully review OSS notes and the impact on the existing landscape, client copy procedures, etc. prior to implementing CUA. It is recommended that the upgrade is kept as simple as possible – there are going to be plenty of opportunities to test your problem-solving skills without complicating the setup with new utilities!
See Authorizations Made Easy guide for information on setting up CUA.
See OSS notes 333441 and 159885 for additional information.
Review all security-related OSS and Release notes related to upgrades and to the release you’ll be upgrading to, prior to the upgrade. It’s useful to review these before you define your workplan, in case you have to cater for any unforeseen issues or changes.
Given the amount of work and number of steps involved in the security upgrade, it is recommended that a detailed Workplan is defined at the startup of the upgrade project. Key milestones from the security workplan should be integrated and tracked as part of the overall Upgrade Plan.
Clear ownership of activities, including conversion of Report Trees, needs to be established. This function is often perform by the Development team.
Naming conventions and standard procedures should be established before the manual profiles are reconstructed as activity groups. Each team member should know how the new activity groups should be named to ensure consistency. Other standard practices for the construction of the activity groups should include:
· Transactions are added via the Menu tab and not by manipulating s_tcode.
· Ideally, no end users should have access to SE38, SA38, SE16 nor SE17.
Remember to keep Internal Audit involved where decisions need to be made regarding the segregation of job functions or changes to current authorizations are requested or brought in with new authorization objects / defaults.
Enough resources should be allocated to the security upgrade process as each activity group and profile will require work to some degree or the other. It is important that key users and functional resources are involved in testing the activity groups and that this effort is catered for in the Upgrade Project plan. Clear ownership of each activity group should be established not only for testing purposes, but also for ongoing support and approval of changes. Ideally, the ownership and approval of changes should reside with different resources (i.e. the person requesting the addition of a transaction or authorization should not be the same person responsible for approving the request).
The security team should also establish testing objectives (whether each transaction being used in Production should be tested, whether each activity group should be tested with a representative ID, etc.).
A detailed test plan should then be established based on the approach, to ensure each person responsible for testing knows what s/he should be testing, what the objective(s) of the test is and how to report the status of each test. Both positive (user can do his/her job functions) and negative (user can’t perform any unauthorized functions) testing should be performed.
The Reverse Business Engineering (RBE) tool is very useful in identifying which transactions are actually being using in Production. This can assist with focusing on which transactions to test.
The importance of testing all used transactions individually and as part of role-testing cannot be stressed enough. TEST,TEST,TEST!
Every menu option, button, icon and available functions for all critical transactions need to be checked and tested. There are some instances where icons are grayed out or don’t even appear for certain users, due to limited authorizations. The only way these type of issues can be identified, is through thorough testing.
Due to the number of users potentially impacted by issues / changes to a single activity group, a perception can quickly be created that the security upgrade was unsuccessful or the cause of many post GoLive issues.
It is therefore recommended that an issues log is established to track and ensure resolution of issues. The log should ideally also contain a description of the resolution, to aid with similar problems on other activity groups.
This log will be helpful during the entire upgrade process, especially where more than one resource is working the same set of activity groups, so set it up at the beginning of upgrade project! You can also use this for a ‘lessons learnt’ document for the next upgrade.
The security upgrade forms an integral part of the overall upgrade given the sensitivity and frustration security issues could cause. It is important that key milestones for the security upgrade are tracked and reported on to ensure a smooth and on-time cutover.
The detailed cutover plan differs from the overall security workplan, in that the detailed plan outlines the exact steps to be taken during each system’s upgrade itself. This should include:
· Transport request numbers,
· Download of security tables prior to the upgrade, especially UST12, USOBT_C and USOBX_C,
· A backup and restore plan, (e.g. temporary group of activity groups for critical functions),
· The relinking of user master records, with details on any CATT scripts, etc. that might be used,
· User comparison, etc.
The security team needs to ensure that enough time is allocated for each action item and that this time is built into the overall cutover plan. The project manager is usually expected to give an indication to end users and key stakeholders as to when the Productive system will be unavailable during its cutover to the new release. This downtime should thus incorporate time required to perform user master comparisons, unlocking of ID’s and all other action items.
The SAP_NEW profile can temporarily be assigned to project team members to provide interim access to the new authorization objects. This provides the security team the opportunity to convert and adjust the IS team’s activity groups. It also eliminates frustration on the functional team’s side when configuring and testing new transactions, etc.
Some support team members (e.g. Help Desk members responsible for reset of user passwords, etc.) might require training and/or documentation on the changed screens of SU01, etc.
It is recommended that a basic Navigation & Settings training module is created for all SAP users and should cover the use of Favorites, etc.
The security team should also review Profile Generator in detail, as several new functions have been added (e.g. download/upload of activity groups, etc.). Remember to review all the different icons, menu options and settings on the authorizations tab, etc.
Lastly, if your company / project does use HR as related to security (activity groups and users assigned to positions / jobs), ensure that you become acquainted with the new enjoy transactions, e.g. PPOMW.
A new function with SU53 is the ability to display another user’s SU53 results. (Click on the ‘other user’ button and enter the person’s SAP ID).
Remember to establish a support roster, including after hours for critical batch processes, to ensure security-related issues are resolved in a timely fashion.
Dumps should be checked regularly (Objects s_rfc and s_c_funct like making appearances in dumps) for any authorizations-related issues. Transaction ST22 can be used to review dumps for that day and the previous day.
Avoid transporting activity groups at peak times, as the generation of activity groups can cause momentarily loss of authorizations. It’s recommended that a roster for activity group transport and mass user comparison be reviewed with the project manager prior to the upgrade. Exceptions should be handled on an individual basis and the potential impact identified, based on number and type of users, batch jobs in progress, etc.
And, don’t forget to keep on tracking all issues and documenting the resolutions for future reference.
· RTTREE_MIGRATION: Conversion of Report Trees to Area Menus
· PFCG_TIME_DEPENDENCY: user master comparison (background)
· RSUSR* reports (use SE38 and do a possible-values list for RSUSR* to see all available security reports), including:
v RSUSR002 – display users according to complex search criteria
v RSUSR010 – Transactions that can be executed by users, with Profile or Authorization
v RSUSR070 – Activity groups by complex search criteria
v RSUSR100 – Changes made to user masters
v RSUSR101 – Changes made to Profiles
v RSUSR102 – Changes made to Authorizations
v RSUSR200 – Users according to logon date and password change, locked users.
· SUIM : various handy reports
· SU10 : Mass user changes
· PFCG: Profile Generator
· PFUD: User master comparison
· SU01: User master maintenance
· ST01: System trace
· ST22: ABAP dumps
· SUCU / SE54: Maintain authorization groups for tables / views
· PPOMW: Enjoy transaction to maintain the HR organizational plan
· PO10: Expert maintenance of Organizational Units and related relationships
· PO13: Expert maintenance of Positions and related relationships
· STAT: System statistics, including which tcodes are being used by which users
Authorizations and Tcodes per Profile
Assignment of users to Profiles
Assignment of roles to users
Authorizations associated with a transaction
Last logon date, locked ID’s
Assignment of roles to Tcodes (4.6 tcodes)
Change history for users (e.g. who last changed users via SU01)
Display history of who made changes to which User Ids
Users with logon information (multiple logons)