https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/NW-ABAP-User-Administration-and-Authorization-blog-posts.xmlSAP Community - NW ABAP User Administration and Authorization2026-03-01T12:11:18.991812+00:00python-feedgenNW ABAP User Administration and Authorization blog posts in SAP Communityhttps://community.sap.com/t5/technology-blog-posts-by-sap/bw-4hana-security-sap-bw-4hana-migration-remote-conversion/ba-p/13575339BW/4HANA Security: SAP BW/4HANA Migration (Remote Conversion)2023-08-06T05:44:48+02:00Krishan_Singh_Chauhanhttps://community.sap.com/t5/user/viewprofilepage/user-id/14777<H1 id="toc-hId-834902089"><STRONG>Introduction</STRONG></H1><P><BR />SAP BW/4HANA is a next generation data warehouse solution developed by SAP. The underlying foundation of SAP BW/4HANA is the SAP HANA in-memory database, which means that the data is stored and processed in the main memory of the server resulting faster data retrieval, processing, and analytics compared to traditional disk-based databases.<BR /><BR />SAP BW/4HANA simplifies data modeling, enables real-time analytics, and supports integration with advanced technologies like big data and machine learning. It helps organizations consolidate, manage, and analyze large volumes of data, providing timely insights for data-driven decision-making.<BR /><BR />Organizations that have been using the earlier version of SAP BW can migrate to SAP BW/4HANA. The migration process involves converting the existing data models, objects, and applications to the new platform, taking advantage of the improved features and capabilities.</P><P> </P><H2 id="toc-hId-767471303"><STRONG>Business Scenario:</STRONG></H2><P>Organization is planning to migrate from BW to BW/4HANA solution but they are keen to know the impact on security authorizations. Also, the security authorization activities to be carried out as a part of the migration. This article will help the organization to achieve their requirements in terms of security authorizations.</P><H2 id="toc-hId-570957798"><STRONG>Step1: Transport SU25 changes</STRONG></H2><UL><UL><LI>Create a transport request in BW system for customer tables.</LI></UL></UL><UL><UL><LI>Transport the customer tables from BW to BW/4HANA system.</LI></UL></UL><H2 id="toc-hId-374444293"><STRONG>Step2: SAP BW Users.</STRONG></H2><UL><UL><LI>Discuss with the business about the SAP BW user master i.e. how they want to handle the users in BW/4HANA system.</LI></UL></UL><UL><UL><LI>If business agrees for client copy via BW system then copy profile SAP_UONL (User Without Authorization Profiles and Roles) into BW/4HANA system.</LI></UL></UL><H2 id="toc-hId-177930788"><STRONG>Step3: Transport BW Analysis Authorizations</STRONG></H2><UL><UL><LI>Discuss with the business and identify the list of BW analysis authorizations which are in scope i.e. BW analysis authorizations which needs to be available in BW/4HANA system.</LI></UL></UL><UL><UL><LI>Transport the scoped analysis authorizations from BW to BW/4HANA system.</LI></UL></UL><H2 id="toc-hId--18582717"><STRONG>Step4: Transport BW roles</STRONG></H2><UL><UL><LI>Discuss with the business and identify the list of BW roles which are in scope i.e. BW roles which needs to be available in BW/4HANA system.</LI></UL></UL><UL><UL><LI>Transport the scoped roles from BW to BW/4HANA system.</LI></UL></UL><H2 id="toc-hId--215096222"><STRONG>Step5: Run SU25 Steps</STRONG></H2><UL><UL><LI>Execute SU25 steps i.e. Step 2A, 2B, 2D and 2C</LI></UL></UL><UL><UL><LI>Extract the list of impacted roles, discuss with the business and remediate the roles.</LI></UL></UL><H2 id="toc-hId--411609727"><STRONG>Step6: Execute Transfer of Authorizations into BW/4HANA</STRONG></H2><UL><UL><LI>BW specific authorizations for object types get impacted when we convert SAP BW to SAP BW/4HANA system like InfoCubes and those must be replaced by authorizations for corresponding object types like ADSO.</LI></UL></UL><UL><UL><LI>Program “RS_B4HTAU_CREATE_RUN” gives you the list of impacted authorizations for the corresponding object types.</LI></UL></UL><UL><UL><LI>Run Program “RS_B4HTAU_CREATE_RUN” into BW/4HANA system.</LI></UL></UL><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/1-13.png" border="0" width="814" height="443" /></P><P class="">Fig.1.1</P><UL><UL><LI>Create Rule ID to perform Transfer of Authorizations</LI></UL></UL><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2-11.png" border="0" /></P><P class="">Fig.1.2</P><UL><UL><LI>Add the required BW/scoped roles which needs to be analyzed.</LI></UL></UL><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/3-10.png" border="0" /></P><P class="">Fig.1.3</P><UL><UL><LI>Click on the settings button to add the Suffix for the new BW/4HANA role i.e. when you execute this tool, system automatically creates new role with adjustment of authorizations for corresponding object types.</LI></UL></UL><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/5-5.png" border="0" /></P><P class="">Fig.1.4</P><UL><UL><LI>Selected BW/scoped roles with corresponding new BW/4HANA roles (with suffix) gets available in the Transfer of Authorizations tool.</LI></UL></UL><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/6-5.png" border="0" /></P><P class="">Fig.1.5</P><UL><UL><LI>Click on Initial Run and Delta Run to perform the analysis on the selected BW roles.</LI></UL></UL><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/7-2.png" border="0" /></P><P class="">Fig.1.6</P><P>The output of Initial Run and Delta Run gives you the following Action Types:<BR /><BR /><STRONG>ASSUME: </STRONG>No change in authorizations for object types i.e. Authorization will continue to work even after the conversion.</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/7-3.png" border="0" /></P><P class="">Fig.1.7</P><P><STRONG>ADJUST: </STRONG>Check if there is any change in the values of authorization object and adapt it accordingly.</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/8-4.png" border="0" /></P><P class="">Fig.1.8</P><P><STRONG>REPLACE: </STRONG>Change the Authorization Objects and adapt it's values accordingly.</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/9-2.png" border="0" /></P><P class="">Fig.1.9</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/10-2.png" border="0" /></P><P class="">Fig.1.10</P><P><STRONG>OBSOLETE: </STRONG>Authorization object is not supported or obsolete, should be removed/deactivated from the role.</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/11-3.png" border="0" /></P><P class="">Fig.1.11</P><UL><UL><LI>Click on the Generate button to create and generate the new BW/4HANA role with defined suffix.</LI></UL></UL><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/12-1.png" border="0" /></P><P class="">Fig.1.12</P><P>Role gets created & generated into BW/4HANA system with automatically adjustments of All Action Types.<BR /><BR /><STRONG>Note:</STRONG></P><OL><OL><LI>If there is a business requirement that not to create any new role and wants to make use of the existing role then based on the Action Types, existing roles must be modified manually via PFCG.</LI><LI>SAP BW/4HANA has some Fiori Apps which can be enabled and mapped into the roles based on the business requirement.</LI></OL></OL><H4 id="toc-hId--349957794"><STRONG>List of Important Notes:</STRONG></H4><UL><UL><LI><A href="https://me.sap.com/notes/2383530" target="_blank" rel="noopener noreferrer">2383530 - Conversion from SAP BW to SAP BW/4HANA</A></LI></UL></UL><UL><UL><LI><A href="https://me.sap.com/notes/2468657" target="_blank" rel="noopener noreferrer">2468657 - BW4SL & BWbridgeSL - Standard Authorizations</A></LI></UL></UL><UL><UL><LI><A href="https://me.sap.com/notes/2930058" target="_blank" rel="noopener noreferrer">2930058 - FAQ - SAP BW/4 Conversions</A></LI></UL></UL><H4 id="toc-hId--546471299"><STRONG>List of Important Links:</STRONG></H4><UL><UL><LI><A href="https://help.sap.com/docs/SAP_BW4HANA/d3b558c9e49d4eb495c99c63a0ae549a/4f0b56878a585f86e10000000a42189b.html" target="_blank" rel="noopener noreferrer">Security Guide SAP BW∕4HANA</A> </LI></UL></UL><P><STRONG>Feedbacks, questions and comments are most welcome!!</STRONG></P><P><BR /><EM>Please follow my profile for future posts on SAP Security and GRC. Also, follow myself via </EM><EM><STRONG><U><A href="https://www.linkedin.com/in/krishan-singh-chauhan-6bb474119/" target="_blank" rel="noopener nofollow noreferrer">LinkedIn</A></U></STRONG></EM></P><P><STRONG><EM>Happy Learnings!</EM></STRONG><BR />Krishan Singh Chauhan</P>2023-08-06T05:44:48+02:00https://community.sap.com/t5/technology-blog-posts-by-members/filter-table-maintenance-view-rows-based-on-user-authorizations/ba-p/13573814Filter table maintenance view rows based on user authorizations2023-09-01T17:02:26+02:00Buddhinathhttps://community.sap.com/t5/user/viewprofilepage/user-id/159583<H2 id="toc-hId-963929964">Requirement</H2><BR />
<UL><BR />
<LI>We have a custom Z-table with Sales Organization and Order Type as key fields.</LI><BR />
<LI>There's an associated maintenance view.</LI><BR />
<LI>Users will be using this maintenance view to maintain entries in the table.</LI><BR />
<LI>Users should only be allowed to display and edit records that belong to the sales organizations and certain order types that they are authorized to.</LI><BR />
</UL><BR />
<H2 id="toc-hId-767416459">The usual approach</H2><BR />
As many of the articles would suggest, the most sought-after approach would be to create 2 authorization objects (one for sales org, one for order type) and then use maintenance view Events 01 (Before saving the data in the database) and AA (Instead of the standard data read routine) to check each row's data against the authorization object and remove unauthorized entries.<BR />
<H4 id="toc-hId-829068392">Pros:</H4><BR />
<UL><BR />
<LI>If the authorization objects are already in place and assigned to the user, there's no work to be done from the authorization (BASIS) perspective.</LI><BR />
<LI>As this is purely a custom logic, this also gives freedom to introduce new error messages, extra validations, etc.</LI><BR />
</UL><BR />
<H4 id="toc-hId-632554887">Cons:</H4><BR />
<UL><BR />
<LI>There is coding involved as the authorization check happens at the code level.</LI><BR />
<LI>As there's custom code involved, there will be increased unit test efforts for positive and negative scenarios to ensure that all scenarios (display, change, insert, delete) work as expected.</LI><BR />
<LI>If we don't authorize the maintenance view from standard auth objects (S_TABU_DIS), the user should have "change" access to the SM30 transaction. Then the coding will have to control everything else. With the user getting "change" permissions to SM30, other Z tables will also become changeable - which is not what we expect.</LI><BR />
<LI>One can't see from the authorization object assignment perspective whether there is an object assigned to the maintenance view or not.</LI><BR />
</UL><BR />
<H2 id="toc-hId-177875944">The better approach</H2><BR />
We can use the two standard authorization objects and the maintenance view's authorization group to handle this requirement with no code changes.<BR />
<BR />
The authorization checks, error handling, and everything is handled by the standard itself which takes a significant burden off our shoulders. Also, we can clearly see in user roles how the assignment is done.<BR />
<BR />
Here are the steps:<BR />
<H4 id="toc-hId-239527877"><STRONG>Authorization Group</STRONG> setup</H4><BR />
This is needed only if you don't have an Authorization Group created already.<BR />
<OL><BR />
<LI style="list-style-type: none"><BR />
<OL><BR />
<LI>Go to the table maintenance view generator, and create an <STRONG>Authorization Group</STRONG> via <STRONG><STRONG><STRONG>Environment > Authorization > Authorization Group<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_19-31-31-auth-grp.jpg" /></STRONG></STRONG></STRONG></LI><BR />
<LI>In the new screen, under object <STRONG>S_TABU_DIS</STRONG>, create a new Authorization Group with a 4-character name that starts with Z. For this scenario, let's say it's <STRONG>ZAUT</STRONG>.<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_20-31-22-aut.jpg" height="184" width="294" /></LI><BR />
<LI>Go back, and assign this new Authorization Group in the Table Maintenance Dialog Genearator window.<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_19-30-28-auth-table.jpg" /></LI><BR />
</OL><BR />
</LI><BR />
</OL><BR />
<H4 id="toc-hId-43014372">Authorization Object: <STRONG>S_TABU_LIN</STRONG> setup</H4><BR />
<OL><BR />
<LI>Go to <STRONG>SPRO > IMG > SAP NetWeaver > Application Server > System Administration > Users and Authorization > Line-oriented Authorization > Define organizational criteria</STRONG><BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_19-36-28-spro.jpg" /></LI><BR />
<LI>Create new <STRONG>Organization criteria</STRONG> entry:<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_20-35-52-1.jpg" /></LI><BR />
<LI>We don't need to do anything for the "Assignment of authority object to organizational c" step.</LI><BR />
<LI>Select the created entry, and go to "<STRONG>Attributes</STRONG>". Then, hit "<STRONG>New Entry</STRONG>". Here, we can list up to 8 attributes. The attributes are basically the key fields that we need to filter the records based on values that we define later. In this example, we need 2 attributes - VKORG, AUART. Create the first:<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_20-37-00-2.jpg" /></LI><BR />
<LI>Hit the "<STRONG>Next Entry</STRONG>" button and create the second attribute as well. Note that the "<STRONG>Authorization fld:</STRONG>" value at the bottom of the screen is now changed to ORG_FIELD2 from ORG_FIELD1 for VKORG.<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_20-38-05-3.jpg" /></LI><BR />
<LI>Then, go to "Table Fields" in the left-side tree. And create an entry specifying our custom table and field name that would align with this attribute.<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/2023-09-05_18-00-44.jpg" /></LI><BR />
<LI>Do the same for the next field (Attribute 2) as well. And continue to do this for all the attributes you've defined.</LI><BR />
<LI>Once done, save under a workbench TR and exit.</LI><BR />
</OL><BR />
<H4 id="toc-hId--153499133">Authorization Object configuration from BASIS</H4><BR />
Now, it's time to set the appropriate values for the respective authorization objects so the setup starts working as we want.<BR />
<OL><BR />
<LI>Set "Change" permission for the Authorization Group via the <STRONG>S_TABU_DIS</STRONG> authorization object. To do so, set<BR />
<STRONG>ACTVT</STRONG> <STRONG>= 02<BR />
</STRONG><STRONG>DICBERCLS = ZAUT </STRONG>(authorization group assigned to the table)<STRONG><BR />
</STRONG>This allows the user to access the tables with auth group ZAUT in change mode.<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_19-51-49-auth-dis.jpg" /></LI><BR />
<LI>Set row-level filtering via S_TABU_LIN authorization object. Set values as<BR />
<STRONG>ACTVT = 02<BR />
ORG_CRIT = ZTESTAUTH </STRONG>(this is the new organization criteria we created in SPRO)<BR />
<STRONG>ORG_FIELD1 = <sales org><BR />
ORG_FIELD2 = <order type><BR />
</STRONG><BR />
With this setup, it says that the user can insert/change/delete the entries belonging to sales org 1030 and order type ZORD.<BR />
<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/2023-08-30_20-00-11-auth-lin.jpg" /></LI><BR />
<LI>Assign these to respective roles and to the users as usual and let the standard take care of all the validations, etc.</LI><BR />
</OL><BR />
<H2 id="toc-hId--608178076"></H2><BR />
<H2 id="toc-hId--804691581">Useful Links</H2><BR />
<A href="https://help.sap.com/docs/HR_RENEWAL/28cb35be3518492c9ac9786bb7cf468d/db03dd5321e8424de10000000a174cb4.html?version=1.4.latest" target="_blank" rel="noopener noreferrer">SAP's documentation on S_TABU_LIN</A><BR />
<BR />
<A href="https://www.sapsecuritypages.com/sap-tables-s_tabu_lin/#google_vignette" target="_blank" rel="nofollow noopener noreferrer">A step-by-step guide on setting up S_TABU_LIN including the authorization assignment</A>2023-09-01T17:02:26+02:00https://community.sap.com/t5/technology-blog-posts-by-members/custom-tcode-management/ba-p/13580494Custom Tcode Management2023-09-22T00:31:35+02:00Shivkumar_B1https://community.sap.com/t5/user/viewprofilepage/user-id/879151As an SAP Authorization Administrator would have come across with Functional/IT team creating Custom tcodes for a specific Business purpose and requesting Auth team to include into a suitable role.<BR />
<BR />
There are many projects/organizations still not managing custom tcodes methodically, leading to audit deficiency and in some cases misuse of critical access assigned via custom tcode.<BR />
<BR />
Also, if custom tcodes technical name not based on functionality i.e Create/Change/Display, then it will be a tedious effort to categorize and also mapping into GRC ruleset for the first time, when there are hundreds of custom tcodes to be looked into.<BR />
<BR />
<STRONG>Purpose</STRONG><BR />
<BR />
This document provides information on managing Custom Tcodes in any organization from an SAP Authorization team perspective.<BR />
<BR />
<STRONG>Introduction</STRONG><BR />
<BR />
In SAP we have many modules and each module has specific tcodes in place to process Business data. There are few instances where Business team needs to be restricted with few fields or added more fields in a standard tcode provided by SAP. This type of requirement differs from Business to Business.<BR />
<BR />
There also few scenarios when Custom data managed in a custom table, needs to be given access to Business/IT teams for data processing.<BR />
<BR />
<STRONG>Business Case</STRONG><BR />
<BR />
Let’s take an example a Business team intend to restrict Company Code data field in the SAP standard tcode XK02 i.e changing Vendor. Hence based on Business requirement a Custom tcode copy of XK02 need to build with restricted Company Code Data field.<BR />
<BR />
Based on my experience and per SAP best practice, i would suggest the below steps as a SAP Authorization Administrator.<BR />
<BR />
<STRONG>Step 1</STRONG>: Whenever there is a need for Custom development, make sure it is relevant, unless the business requirement cannot be fulfilled/managed by SAP standard tcode. If there is an alternative tcode, suggest Business team to leverage with the same and avoid custom development.<BR />
<BR />
SAP Functional/ABAP team should involve Authorization team from the initial discussions since Business team mostly contact Functional team. This will help Auth team to understand the requirement in terms of auth checks, objects, table access requirement etc.<BR />
<BR />
<STRONG>Step 2</STRONG>: Upon the requirement is finalized, let there be a Functional/Technical Spec document for Custom tcode which includes Custom program names, objects, tables, Custom tcode and most important functionality i.e Create/Change/Display type of the tcode. As per SAP best practice it is suggested to use SAP standard objects within custom program and it is fine to create custom tables if needed.<BR />
<BR />
Also, insist ABAP team to name custom tcode based on the nature of tcode i.e ending with 01 for create/ending with 02 for change etc. and update suitable Tcode description as per the type, since this will help to identify type of tcode if there is no proper documentation.<BR />
<BR />
<STRONG>Step 3: </STRONG>Upon ABAP/Functional team completes necessary developments in Dev system, Authorization team can build a test role with new Custom tcode added and assign test role to a test user for further testing from Functional team.<BR />
<BR />
Enable Auth trace for the test user to capture the auth check objects within the trace.<BR />
<BR />
<STRONG>Scenario 1</STRONG>: If no objects traced when tcode successfully executed, it means there is no Authority check enabled in the Custom Program and hence inform ABAP team to include suitable objects under Authority-Check section of the custom program. Relevant Auth objects can also be identified if custom tcode is a copy of standard tcode in SU24 and same can be enabled for Custom tcode program.<BR />
<BR />
<STRONG>Scenario 2</STRONG>: If objects are populated in the Auth trace as missing auth, then relevant object can be added into test role to make sure it executes successfully. Later inform ABAP team to include in the Authority-Check section with relevant objects, if not enabled in the custom program. Please make note of these objects which required to be added into SU24.<BR />
<BR />
<STRONG>Step 4: </STRONG> Other option to get objects relevant by executing program <STRONG>RS_ABAP_SOURCE_SCAN</STRONG> with below mentioned search strings and based on the results ,we could classify Change/Display tcode ,based on objects with Activity i.e Change/Display.<BR />
<BR />
AUTHORITY-CHECK<BR />
BDC_INSERT<BR />
CALL FUNCTION<BR />
Call Transaction<BR />
Call Method<BR />
Submit Report<BR />
Submit<BR />
Update table/Database<BR />
Delete from<BR />
<BR />
<STRONG>Step 5: </STRONG>Maintain relevant Auth objects identified from previous steps into SU24 with required Values as well. After saving the changes, it will request for a Workbench transport request and capture in the same.<BR />
<BR />
<STRONG>Step 6: </STRONG>Assign custom tcode into desired Business Role and make sure Auth objects are populated into the role, which were included in SU24.<BR />
<BR />
<STRONG>Step 7: </STRONG>Get the necessary Unit testing performed to make sure Custom tcode functionality works as expected and proceed further with Quality for UAT.<BR />
<BR />
Also update into GRC Ruleset if tcode is a Business sensitive Access (BSA) with relevant Risk id & objects and its values mapped and check for SOD conflict with existing tcodes in the role.<BR />
<BR />
Please follow the sequence of ABAP/Functional changes to be moved first and followed by Security i.e SU24 and Role changes into Production system.<BR />
<BR />
<BR />
<BR />
<STRONG>Key Take Aways</STRONG><BR />
<BR />
- Auth team involvement from early stage of requirement gathering.<BR />
<BR />
- Avoid custom development if standard functionality is not available/possible.<BR />
<BR />
- Suitable Naming Conventions, Authority-check enablement in Custom program by ABAP team.<BR />
<BR />
- Update into SU24 with relevant objects/values and GRC Ruleset if tcode is BSA.<BR />
<BR />
- Follow Sequencing of ABAP/Functional changes followed by Auth changes into Production system.2023-09-22T00:31:35+02:00https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/relation-between-sap-s-4hana-system-upgrade-migration-conversion-and-sap/ba-p/13579632Relation between SAP S/4HANA System Upgrade | Migration | Conversion and SAP Security Upgrade2023-12-20T00:13:38+01:00karthikj2https://community.sap.com/t5/user/viewprofilepage/user-id/148163In the ever-evolving world of SAP, it is indispensable to update Security and Authorizations as per Standard and Latest Controls. <STRONG>Upgrade | Migration | Conversion</STRONG> collectively known SAP Landscape Maintenance are the Core Project Transitions in SAP.<BR />
<BR />
It is significant for a Security Consultant to understand | distinguish the above.<BR />
<BR />
In this blog, I will present a crisp knowledge on Upgrade | Migration | Conversion and discuss how does it impact SAP Authorizations and when <STRONG>Security Upgrade</STRONG> should be performed.<BR />
<BR />
<BR />
<BR />
<STRONG>What is SAP SECURITY UPGRADE?</STRONG><BR />
<BR />
SAP introduces New | Updated authorizations (Transaction Code | Authorization Object | Authorization Field | Authorization Check Indicator) to SAP Tables – USOBT | USOBX during Core Component Upgrade.<BR />
<BR />
<STRONG>SU25 – Security Upgrade Tool</STRONG> will be used to update the authorizations to Customer Tables – USOBT_C | USOBX_C. Impact of Security Upgrade will be reflecting in roles post execution of Upgrade Steps – 2A, 2B, 2D and 2C.<BR />
<BR />
<STRONG>Note :</STRONG> As of Dec 2023, customer can Upgrade | Convert to SAP S/4HANA 2020 & above versions (Reference SAP Note: 3338941)<BR />
<BR />
<BR />
<UL><BR />
<LI><STRONG>CONVERSION :</STRONG> Customer who is in SAP ERP Central Component <STRONG>(ECC)</STRONG> getting CONVERTED to Latest SAP S/4HANA version</LI><BR />
</UL><BR />
<P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAP-Conversion.png" height="253" width="517" /></P><BR />
<P class="image_caption" style="text-align: center;font-style: italic">SAP Conversion</P><BR />
<BR />
<UL><BR />
<LI><STRONG>UPGRADE :</STRONG> Customer who is already in <STRONG>SAP S/4HANA</STRONG> getting UPGRADED to Latest SAP S/4HANA version</LI><BR />
</UL><BR />
<P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAP-Upgrade-1.png" height="282" width="589" /></P><BR />
<P class="image_caption" style="text-align: center;font-style: italic">SAP Upgrade</P><BR />
<BR />
<UL><BR />
<LI><STRONG>Database Migration :</STRONG> This can be categorized into three approaches, and it accords <SPAN style="text-decoration: underline">only</SPAN> to Database.<BR />
<UL><BR />
<LI><STRONG>Lift & Shift :</STRONG> Homogeneous Migration of SAP Database without changing the Database type in source and target host.</LI><BR />
</UL><BR />
<UL><BR />
<LI><STRONG>Export & Import :</STRONG> Migrating Database from one host to another host where source and target host <STRONG>may or may not have</STRONG> same Database type.</LI><BR />
</UL><BR />
<UL><BR />
<LI><STRONG>Database Migration Option :</STRONG> Popularly known as DMO, is an option in Software Update Manager (SUM) to move the data from Non-HANA Database to HANA Database. SUM meanwhile offers Homogeneous DMO for SAP HANA to SAP HANA Migration.</LI><BR />
</UL><BR />
</LI><BR />
</UL><BR />
<P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAP-Migration.png" /></P><BR />
<P class="image_caption" style="text-align: center;font-style: italic">SAP Migration</P><BR />
<STRONG>SUMMARY :</STRONG><BR />
<UL><BR />
<LI>It is fundamental to perform Security Upgrade for <STRONG>Conversion</STRONG> and <STRONG>Upgrade</STRONG> scenarios as there is change | upgrade in SAP ABAP Component Version.</LI><BR />
<LI>When <STRONG>Software Provisioning Manager</STRONG> (SWPM) is used for Homogeneous and Heterogenous Database Migration - <STRONG>Security Upgrade is not required</STRONG> as there is no change in SAP ABAP Component Version.</LI><BR />
<LI>When <STRONG>Software Update Manager</STRONG> (SUM) is used for Database Migration <SPAN style="text-decoration: underline">combined</SPAN> with Upgrade or Conversion - <STRONG>Security Upgrade is required</STRONG> as there will be change in SAP ABAP Component Version.</LI><BR />
</UL>2023-12-20T00:13:38+01:00https://community.sap.com/t5/financial-management-blog-posts-by-members/sap-user-access-reviews-best-practices/ba-p/13575463SAP User Access Reviews: Best practices2024-01-13T11:28:39+01:00GRCwithRaghuhttps://community.sap.com/t5/user/viewprofilepage/user-id/600573Let’s understand with a use case:<BR />
<BR />
A global enterprise that uses SAP for its operations employed an executive who sensitive customer and financial information as part of his job. He was later promoted to a different position and was given new authorizations to carry out new tasks as part of his job duties. Unfortunately, while the new access was granted, no one looked at what he has or revoked the previous authorizations that are no longer relevant. As a result, this individual continued to retain both sets of authorizations.<BR />
<BR />
He started utilizing these authorizations by creating numerous fake vendor accounts and subsequently approved payments to these non-existent vendors. Surprisingly, these actions went unnoticed within the company until an internal audit unearthed this irregularity.<BR />
<BR />
Although this scenario may seem uncommon, many enterprises encounter similar situations. So, how to have a control on these kind of scenarios? Does SAP provide any tools/solutions to implement better controls?<BR />
<BR />
Many compliance frameworks mandate period authorization reviews. Performing regular User Access Reviews holds importance in maintaining a secure and efficient system within an organization. Here are some of the advantages of conducting periodic User Access Reviews:<BR />
<P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2024/01/Picture-1-3.png" /></P><BR />
<P class="image_caption" style="text-align:center;font-style:italic;, Arial, sans-serif">Advantages of conducting User Access Reviews</P><BR />
Additionally, in recent years, many regulations such as SOX/JSOX, ISMS and GDPR has mandated enterprises to perform User Access Reviews. However, executing these controls can be exceedingly time-consuming, potentially impeding core business activities.<BR />
<BR />
This article puts a spotlight on User Access Reviews, offering insights into optimizing and streamlining this pivotal process for your organization's benefit.<BR />
<BR />
<STRONG>Why are SAP User Access Reviews crucial?</STRONG><BR />
<BR />
Principally, User Access Reviews are primarily conducted for audit purposes. Mandates such as Sarbanes Oxley (SOX) and JSOX necessitate periodic User Access Reviews, commonly performed annually or semi-annually by listed organizations.<BR />
<BR />
The crux of User Access Reviews lies in validating the relevance of SAP access that is provided to a user over a period of time at a later stage. For instance, if the user has requested access to ME21N (Create Purchase Orders) transaction code and it was approved few years back, does that access remain pertinent today, considering potential job function changes or role adjustments?<BR />
<BR />
Consequently, User Access Reviews afford organizations the chance to reassess a user's access, ensuring its continued relevance amidst potential shifts in roles or job functions. An added benefit is correcting and ensuring that SAP authorizations are well managed.<BR />
<BR />
Nonetheless, for many organizations, conducting a User Access Review solely to fulfil audit requirements, especially given the significant effort required from business users. However, there's a pressing need to shift the mindset surrounding User Access Reviews from a mere audit checkbox to an effective tool for managing access risks.<BR />
<BR />
<STRONG>How can this mindset change be fostered?</STRONG><BR />
<BR />
To encourage a shift in thinking within organizations, it's crucial to emphasize the consequences of not performing the reviews. If the access control process is perceived as complex, the initial step is to simplify it and set up the right process of managing accesses and regular review procedures. This not only limits the authorizations, but also helps in identifying the users with unnecessary authorizations and further contributes insights for restructuring and streamlining the authorization processes. For instance, you can pinpoint users with access to critical permissions and remove those permissions when they are no longer necessary for their job duties.<BR />
<P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2024/01/Picture-2.png" /></P><BR />
<P class="image_caption" style="text-align:center;font-style:italic;, Arial, sans-serif">Diagram that show the Mindset Shift in enterprises wrt Authorization Reviews</P><BR />
After simplifying the access control process and setting up regular reviews, the next step is to implement an automated system. Various solutions such as <A href="https://help.sap.com/doc/4374b09eddfe468cb80b77b4ad83e80b/12.0.03/en-US/AC12_UAR_Reference_Guide%20SP00.pdf" target="_blank" rel="noopener noreferrer">SAP GRC Access Control User Access Review</A> (UAR), or <A href="https://togglenow.com/solutions/review-now/" target="_blank" rel="nofollow noopener noreferrer">ReviewNow</A> streamline User Access Reviews by providing comprehensive information, aiding users in making informed decisions. Such tools can be configured to expedite the process and present technical SAP role language in user-friendly terms.<BR />
<BR />
<STRONG>How to achieve better output?</STRONG><BR />
<P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2024/01/How-to-achieve-better-output-with-UAR.png" /></P><BR />
<P class="image_caption" style="text-align:center;font-style:italic;, Arial, sans-serif">How to achieve better output with User Access Reviews</P><BR />
<BR />
<OL><BR />
<LI><STRONG>Role Design</STRONG>: Many organizations adapt to role design approaches that are complex to understand and manage. For example: Enabler roles. It is highly recommend to simplify the SAP role design to aid users in comprehending user access easily. A descriptive role design facilitates informed decisions by users during the review process.</LI><BR />
<LI><STRONG>Role Methodology</STRONG>: Opt for a role methodology that reduces the number of role assignments, making the User Access Review less arduous for business users. Consider methodologies like task based and value based roles to streamline access.</LI><BR />
<LI><STRONG>Rule-set Customization</STRONG>: Customized rule-sets empower business users to better understand the potential access risks, aiding informed decisions during the review.</LI><BR />
<LI><STRONG>Split Reviews</STRONG>: Consider segregating reviews into User Access Reviews, Critical Authorization Reviews, Reviews for key business users and so on. This enhances the focus and efficiency of each review.</LI><BR />
<LI><STRONG>Iterative Reviews</STRONG>: Divide large annual reviews into smaller, more manageable reviews across geographical regions, risk levels, user groups, or SAP modules. This minimizes certification fatigue among reviewers and enhances efficiency.</LI><BR />
</OL><BR />
By implementing these strategies and emphasizing the value of User Access Reviews beyond mere audit compliance, organizations can effectively manage access risks while ensuring the process remains user-friendly and impactful.<BR />
<BR />
<STRONG>Conclusion:</STRONG><BR />
<BR />
In conclusion, SAP User Access Reviews are critical to safeguard the organization from potential inside and outside attacks and adhere to compliance with regulations like SOX and JSOX. While these reviews offer benefits, a mindset shift is needed to view them not just as audit checkboxes but as tools for effective access risk management. The article suggests simplifying access processes, establishing systematic reviews, and emphasizing the consequences of neglect. Automation tools like SAP GRC Access Control User Access Review or ReviewNow can streamline and simplify the process. Practical strategies include role design simplification, efficient methodologies, rule-set customization, and iterative reviews. Implementing these recommendations ensures a user-friendly and impactful User Access Review process that aligns with business goals.2024-01-13T11:28:39+01:00https://community.sap.com/t5/technology-blog-posts-by-members/basis-monitoring-amp-tcodes-with-key-notes/ba-p/13591678Basis Monitoring & Tcodes with Key notes2024-02-05T14:25:53.980000+01:00Williams43https://community.sap.com/t5/user/viewprofilepage/user-id/779356<P>Hi All, </P><P>I am thrilled to have the opportunity to connect with all of you through this blog.</P><P>The purpose of this blog is to aid newcomers in Basis in gaining knowledge about Basis-related Tcodes, including key notes and their usage and frequency.</P><P>I believe this will be beneficial for those who are beginning their careers in SAP Basis.</P><P>I wish you good luck and welcome to SAP Basis Team</P><P>The Daily Monitoring Basis-related Tcodes, their uses, and their related Tcodes are utilised for any future investigation.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Williams43_0-1706804899073.png" style="width: 744px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/58793i4CB3310AB78C7F03/image-dimensions/744x591?v=v2" width="744" height="591" role="button" title="Williams43_0-1706804899073.png" alt="Williams43_0-1706804899073.png" /></span></P><P>Tcodes that pertain to operating systems and databases, their usage, and any future process.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Williams43_1-1706804947991.png" style="width: 742px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/58794i7E5F56EA3241CB97/image-dimensions/742x365?v=v2" width="742" height="365" role="button" title="Williams43_1-1706804947991.png" alt="Williams43_1-1706804947991.png" /></span></P><P>The SAP Basis Admin is accountable for tuning performance. These Tcodes are associated with performance analysis at the application level.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Williams43_2-1706805022361.png" style="width: 746px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/58795i8A61F0C50689AC15/image-dimensions/746x389?v=v2" width="746" height="389" role="button" title="Williams43_2-1706805022361.png" alt="Williams43_2-1706805022361.png" /></span></P><P>Ticketing tools vary widely between organizations, including SAP ITSM (SOLMAN), Non SAP (ServiceNow, Zendesk), and others.</P><P>User Management, Role Management, and Transport Management will receive the majority of daily ticketing. Here are the Tcodes that pertain to these areas.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Williams43_3-1706805139574.png" style="width: 744px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/58796i2E0110DFFF1343D9/image-dimensions/744x331?v=v2" width="744" height="331" role="button" title="Williams43_3-1706805139574.png" alt="Williams43_3-1706805139574.png" /></span></P><P>Tcodes that pertain to SAP Software Maintenance and related OS and other tasks.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Williams43_4-1706805213692.png" style="width: 744px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/58797i9884C518C59B06AB/image-dimensions/744x536?v=v2" width="744" height="536" role="button" title="Williams43_4-1706805213692.png" alt="Williams43_4-1706805213692.png" /></span></P><P>Programs that are useful for administrative tasks related to Basis.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Williams43_5-1706805251462.png" style="width: 742px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/58798i23076894A6D415DC/image-dimensions/742x407?v=v2" width="742" height="407" role="button" title="Williams43_5-1706805251462.png" alt="Williams43_5-1706805251462.png" /></span></P><P>Thank you for taking the time to read the blog.</P><P> </P><P>#SAPBasis #Basis <a href="https://community.sap.com/t5/c-khhcw49343/Basis+Technology/pd-p/7bf2eaed-4604-44ae-bad7-d2d2d5c58c54" class="lia-product-mention" data-product="1129-1">Basis Technology</a> <a href="https://community.sap.com/t5/c-khhcw49343/EWM+-+Basis/pd-p/192798129450263425409096799593312" class="lia-product-mention" data-product="941-1">EWM - Basis</a> <a href="https://community.sap.com/t5/c-khhcw49343/NW+ABAP+Monitoring+Tools/pd-p/a414317d-3ddc-487c-9d84-af75d27c65f6" class="lia-product-mention" data-product="1010-1">NW ABAP Monitoring Tools</a> <a href="https://community.sap.com/t5/c-khhcw49343/SAP+EarlyWatch+Alert/pd-p/f811a31e-b1e7-42ac-9f17-9051d8410d93" class="lia-product-mention" data-product="1192-1">SAP EarlyWatch Alert</a> <a href="https://community.sap.com/t5/c-khhcw49343/SAP+HANA+Cloud%25252C+SAP+HANA+database/pd-p/ada66f4e-5d7f-4e6d-a599-6b9a78023d84" class="lia-product-mention" data-product="40-1">SAP HANA Cloud, SAP HANA database</a> <a href="https://community.sap.com/t5/c-khhcw49343/SAP+Advantage+Database+Server/pd-p/67838200100800005437" class="lia-product-mention" data-product="393-1">SAP Advantage Database Server</a> <a href="https://community.sap.com/t5/c-khhcw49343/Oracle+Database/pd-p/266216885309448000234589693334884" class="lia-product-mention" data-product="258-1">Oracle Database</a> <a href="https://community.sap.com/t5/c-khhcw49343/SAP+S%25252F4HANA/pd-p/73554900100800000266" class="lia-product-mention" data-product="799-1">SAP S/4HANA</a> <a href="https://community.sap.com/t5/c-khhcw49343/SAP+NetWeaver+Application+Server+for+SAP+S%25252F4HANA/pd-p/73554900100800000376" class="lia-product-mention" data-product="736-1">SAP NetWeaver Application Server for SAP S/4HANA</a> #Dailymonitoring <a href="https://community.sap.com/t5/c-khhcw49343/NW+Java+Security+and+User+Management/pd-p/837756977247372160663651537216525" class="lia-product-mention" data-product="1021-1">NW Java Security and User Management</a> <a href="https://community.sap.com/t5/c-khhcw49343/Defense+and+Security/pd-p/159367983329805292011158" class="lia-product-mention" data-product="275-1">Defense and Security</a> <a href="https://community.sap.com/t5/c-khhcw49343/SOLMAN+Setup%25252FConfiguration%25252FLMDB/pd-p/773921536755532122004239005965168" class="lia-product-mention" data-product="1098-1">SOLMAN Setup/Configuration/LMDB</a> <a href="https://community.sap.com/t5/c-khhcw49343/NW+ABAP+Monitoring+Tools/pd-p/a414317d-3ddc-487c-9d84-af75d27c65f6" class="lia-product-mention" data-product="1010-2">NW ABAP Monitoring Tools</a> <a href="https://community.sap.com/t5/c-khhcw49343/SOLMAN+System+Monitoring/pd-p/212358834767912649313917434384826" class="lia-product-mention" data-product="1099-1">SOLMAN System Monitoring</a> </P>2024-02-05T14:25:53.980000+01:00https://community.sap.com/t5/technology-blog-posts-by-members/user-types-in-sap-abap-stack-systems/ba-p/13622465User types in SAP ABAP Stack Systems2024-02-28T14:30:09.735000+01:00gsaiprasad1https://community.sap.com/t5/user/viewprofilepage/user-id/11356<P><FONT face="tahoma,arial,helvetica,sans-serif"><SPAN>This blog will outline the various user types found in <STRONG>SAP ABAP Stack Systems<BR /><BR /><FONT size="6">User Types </FONT></STRONG></SPAN></FONT></P><P><FONT face="tahoma,arial,helvetica,sans-serif">In SAP systems, Users play a pivotal role in accessing and utilizing the various functionalities provided by the system.</FONT></P><P><FONT face="tahoma,arial,helvetica,sans-serif">In the Transaction SU01- user management system, we primarily categorize users into five distinct types: </FONT><BR /><FONT face="tahoma,arial,helvetica,sans-serif">1.Dialog</FONT></P><P><FONT face="tahoma,arial,helvetica,sans-serif">2.System</FONT><BR /><FONT face="tahoma,arial,helvetica,sans-serif">3.Communication</FONT><BR /><FONT face="tahoma,arial,helvetica,sans-serif">4.Reference</FONT><BR /><FONT face="tahoma,arial,helvetica,sans-serif">5. Service</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ravishankarp_0-1709124721205.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/72681iA14F2D39E6A79B14/image-size/large?v=v2&px=999" role="button" title="ravishankarp_0-1709124721205.png" alt="ravishankarp_0-1709124721205.png" /></span></P><P> <STRONG>Dialog Users (A)</STRONG>: These are regular users who interact with the SAP system through the graphical user interface (GUI) or web interface ( SAP GUI for HTML). They perform tasks such as entering data, running reports, and executing transactions relevant to their roles assigned to them.</P><P><STRONG>Multiple logon is checked.<BR /></STRONG> <BR /><STRONG>System Users(B)</STRONG>: System users are typically used for background tasks, such as running batch jobs, executing automated processes, or performing system-to-system communication. They do not require direct interaction with the GUI.</P><P><STRONG><I>Multiple logon is allowed, Only an administrator user can change the password.</I></STRONG></P><P><STRONG>Communication Users (C )</STRONG> : Communication users are primarily used to establish connections and facilitate communication between SAP systems or between SAP systems and external applications, services, platforms and integration scenarios such as RFC (Remote Function Call), SOAP (Simple Object Access Protocol), HTTP (Hypertext Transfer Protocol), IDoc (Intermediate Document), ALE (Application Link Enabling), EDI (Electronic Data Interchange), and more .</P><P><STRONG>Logon with SAPGUI is not possible</STRONG></P><P><STRONG>Reference Users (L) </STRONG> :Reference users are special types of user accounts that serve as templates or blueprints for creating new user accounts with predefined settings, roles, authorizations, and other attributes. They are used to streamline the process of user creation and ensure consistency across user profiles within the SAP system</P><P><STRONG>No logon possible.</STRONG></P><P><STRONG>Service Users (S) : </STRONG>Service users are considered technical users because they are primarily used for technical tasks rather than human interaction. They are often assigned specific technical roles and authorizations required for performing their designated tasks.</P><P>unlike regular dialog users who interact with the SAP system through the graphical user interface (GUI), service users typically do not require direct interaction with the GUI. They may communicate with the system through interfaces, APIs (Application Programming Interfaces), or background processes.however SAP GUI logon is Possible</P><P><STRONG>Multiple Log on allowed.</STRONG></P><P><FONT size="6"><STRONG>User Master Record<BR /></STRONG></FONT>User Master Record in SAP is a fundamental component that stores and manages information about individual users who access the SAP system</P><P> Creation of user accounts in SAP systems is client-dependent, meaning that<STRONG> user master records</STRONG> must be established separately in <STRONG>each client </STRONG>where users need access.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ravishankarp_1-1709125740747.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/72703i5D31B5A19A1F8820/image-size/large?v=v2&px=999" role="button" title="ravishankarp_1-1709125740747.png" alt="ravishankarp_1-1709125740747.png" /></span></P><P>User Master Record in SAP contains a variety of information pertaining to individual users who access the SAP system. This information is crucial for managing user access, permissions, and preferences within the SAP environment. These are the key components typically found in a user master record:</P><P>User Details Like Name, Department, function, responsibilities, user group, user type and License</P><P>User Details with Validity ,Lock Status, and authentication properties</P><P>User Settings Like parameters, spool requests, time zone.</P><P><FONT size="4"><SPAN><BR /><FONT size="4"><EM><STRONG>Note : User details, such as user IDs, hashed passwords, authorizations, and related information, are stored in the USR02 table</STRONG></EM></FONT></SPAN></FONT></P><P> </P><P><STRONG><FONT face="tahoma,arial,helvetica,sans-serif" size="5">User Deletion</FONT></STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ravishankarp_2-1709126014622.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/72708i0B3CC7FE54287CAB/image-size/large?v=v2&px=999" role="button" title="ravishankarp_2-1709126014622.png" alt="ravishankarp_2-1709126014622.png" /></span></P><P><FONT face="tahoma,arial,helvetica,sans-serif">User deletion is always possible and can be done using the transactions SU01 or SU10. During the deletion, all of the personal data belonging to the user master is deleted</FONT></P><P><BR /><FONT face="tahoma,arial,helvetica,sans-serif"><STRONG>Deletion Effects:</STRONG> Deleting a user account in SAP has several effect such as</FONT></P><P><FONT face="tahoma,arial,helvetica,sans-serif">The user's access to the SAP system is immediately revoked.</FONT></P><P><FONT face="tahoma,arial,helvetica,sans-serif">Any active sessions associated with the deleted user account are terminated</FONT></P><P> </P><P><FONT face="tahoma,arial,helvetica,sans-serif">Authorization objects and roles assigned to the user are removed.</FONT></P><P><FONT face="tahoma,arial,helvetica,sans-serif">User-related data stored in tables such as USR02 (User Master Record) is deleted.</FONT></P><P> </P><P><FONT face="tahoma,arial,helvetica,sans-serif">After deleting a user account, administrators may need to perform additional tasks, such as reassigning responsibilities to other users, updating documentation, or communicating the deletion to relevant stakeholders</FONT></P><P><BR />#basis #abapstack #netweaver #ECC <a href="https://community.sap.com/t5/c-khhcw49343/SAP+S%25252F4HANA/pd-p/73554900100800000266" class="lia-product-mention" data-product="799-1">SAP S/4HANA</a> <BR /><BR /></P>2024-02-28T14:30:09.735000+01:00https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/sap-s-4hana-extracting-user-email-addresses-from-standard-tables/ba-p/13697756SAP S/4HANA - Extracting User Email Addresses from Standard Tables2024-05-10T15:09:30.362000+02:00karthikj2https://community.sap.com/t5/user/viewprofilepage/user-id/148163<P><FONT size="5"><STRONG>What are we discussing here?</STRONG></FONT></P><P>When working with SAP systems, it is fundamental to need / verify user <FONT size="4">email</FONT> addresses for various purposes. Whether it is to send Automated Notifications, facilitating communication between users, or Generating Reports, having accurate and up-to-date email addresses is crucial. However, extracting the email address from SAP system is not as easy as we think. In this blog post, we will explore the simplest method to extract / find email addresses of users from SAP Standard tables.</P><P>Note : There is no direct transaction code or program to extract email addresses of users</P><P><FONT size="5"><STRONG>How are we going to achieve it?</STRONG></FONT></P><P>The primary table that stores user information in SAP is <STRONG>USR21</STRONG>. This table contains User Master Data, including Personal Numbers (<STRONG>PERSNUMBER</STRONG>) associated with each user. To retrieve email addresses, we will link this table with the address data table <STRONG>ADR6</STRONG>.</P><P><STRONG>What is USR21?</STRONG></P><P>USR21 is a standard table in SAP ERP system that assigns User Names and Address Keys.</P><P><STRONG>What is ADR6?</STRONG></P><P>The ADR6 table in SAP ERP system is a standard table that stores email addresses (Business Address Services) for any address record.</P><P><FONT size="5"><STRONG>Procedure to Extract Email Address from SAP Tables</STRONG></FONT></P><P>Execute table view transaction code: <STRONG>SE16</STRONG> -> Enter Table Name : <STRONG>USR21</STRONG> -> Execute</P><P>Provide the list of User ID(s) through Multiple Selection for <STRONG>BNAME </STRONG>-> Execute</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_5-1715344388432.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108676iCEC89D0CE48CCB7B/image-size/medium?v=v2&px=400" role="button" title="karthikj2_5-1715344388432.png" alt="karthikj2_5-1715344388432.png" /></span></P><P>Copy the list of Personnel Number <STRONG>(PERSNUMBER)</STRONG> for the users</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_6-1715344388441.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108674iCC1979566995EEFE/image-size/medium?v=v2&px=400" role="button" title="karthikj2_6-1715344388441.png" alt="karthikj2_6-1715344388441.png" /></span></P><P>Execute table view transaction code: <STRONG>SE16</STRONG> -> Enter Table Name: <STRONG>ADR6</STRONG> -> Execute</P><P>Provide the list of Personnel Number(s) through Multiple Selection for <STRONG>PERSNUMBER </STRONG>-> Execute</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_7-1715344388447.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108675i7E1876E52EBE5A3D/image-size/medium?v=v2&px=400" role="button" title="karthikj2_7-1715344388447.png" alt="karthikj2_7-1715344388447.png" /></span></P><P><STRONG>SMTP_ADDR</STRONG> column of ADR6 table will provide the list of email address for users</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_8-1715344388454.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108680i9911656A2E120BA1/image-size/medium?v=v2&px=400" role="button" title="karthikj2_8-1715344388454.png" alt="karthikj2_8-1715344388454.png" /></span></P><P>SAP also offers to extract the list into Spreadsheet from this screen</P><P><STRONG> </STRONG><STRONG>Tip :</STRONG> Ensure to select ALV Grid Display in User Specific Settings at initial screen of ADR6</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_9-1715344388461.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108681iA9B307175988C370/image-size/medium?v=v2&px=400" role="button" title="karthikj2_9-1715344388461.png" alt="karthikj2_9-1715344388461.png" /></span></P><P><FONT size="5"><STRONG>What are other options?</STRONG></FONT></P><P>Another approach for SAP S/4HANA is to leverage the built-in Core Data Services<STRONG> (CDS)</STRONG> view.</P><P>Table : <STRONG>PUSER002</STRONG> can also be used | BNAME = UserName | Ensure column <STRONG>SMTP_ADDR</STRONG> is visible</P><P><FONT size="5"><STRONG>Word of Caution</STRONG></FONT></P><P><STRONG>Avoid Unintended Disclosure</STRONG></P><P>When querying SAP tables, be cautious not to inadvertently disclose email addresses to unauthorized users or external sources.</P><P>Limit access to relevant personnel and follow proper authorization procedures.</P><P>Remember, accurate and secure email addresses contribute to smooth business processes and effective communication within your organization. Handle them responsibly, and always prioritize data protection.</P><P>If you have any further questions or need assistance, do not hesitate to comment on this blog. Happy SAP querying!</P><P>Feel free to share this article with your colleagues and peers who work with SAP systems.</P>2024-05-10T15:09:30.362000+02:00https://community.sap.com/t5/financial-management-blog-posts-by-members/unlocking-the-power-of-rsusr-lock-users-report-in-sap/ba-p/13706854Unlocking the Power of RSUSR_LOCK_USERS Report in SAP2024-05-20T16:11:52.741000+02:00GRCwithRaghuhttps://community.sap.com/t5/user/viewprofilepage/user-id/600573<P>Are you finding it challenging to use EWZ5 for locking and unlocking users during upgrade activities? Have you discovered that this transaction code is now obsolete and are you relying on a custom program? If so, consider using the ABAP program <STRONG>RSUSR_LOCK_USERS</STRONG>.</P><P>This program simplifies the user locking and unlocking process, making it an invaluable tool for managing user accounts efficiently during system upgrades.</P><P><STRONG>Understanding RSUSR_LOCK_USERS</STRONG></P><P>RSUSR_LOCK_USERS is a simple yet effective program that is built on top of RSUSR200 program. Here is the list of options available in the program screen:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_0-1716213232320.png" style="width: 536px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112958i2D7D8D6A7127A033/image-dimensions/536x720?v=v2" width="536" height="720" role="button" title="GRCwithRaghu_0-1716213232320.png" alt="GRCwithRaghu_0-1716213232320.png" /></span></P><P>As highlighted in the picture, the RSUSR_LOCK_USERS report offers the following sections:</P><P> </P><TABLE width="640px"><TBODY><TR><TD width="135.836px"><P><STRONG>Section</STRONG></P></TD><TD width="460.164px"><P><STRONG>What it offers?</STRONG></P></TD></TR><TR><TD width="135.836px"><P>User Selection</P></TD><TD width="460.164px"><P>This section offers the following:</P><P><STRONG>User</STRONG> – Selection of specific users.</P><P><STRONG>Group for Authorization</STRONG> – Uses SU01 user group assignments and picks the users based on the group assignment.</P><P><STRONG>Security Policies</STRONG> – Uses the Security Policy assigned to the user in SU01.</P><P><STRONG>Days Since Last Logon</STRONG> – To specify the no.of days since last login (for eg: If you wish to lock the users who haven’t logged-in to the system in the last 90 days, enter the value as 90).</P><P><STRONG>Days Since Password Change</STRONG> – To select users based on last password change.</P></TD></TR><TR><TD width="135.836px"><P>Selection by Validity of users</P></TD><TD width="460.164px"><P>Selection by Validity of users can be filtered by today's validity or by a specific period.</P><P><STRONG>Today (current date)</STRONG> – This option will specifically check for valid and invalid users of current date.</P><UL><LI>Users Valid Today – Consider the valid users of current date</LI><LI>Users Invalid Today – Consider the Invalid users of current date </LI></UL><P><STRONG>Validity Period </STRONG>– This option will specifically check for valid and invalid users over a specified period of time.</P><UL><LI>Users Valid <From> and <To> - Consider the valid users within the time period specified in the input.</LI><LI>Users Not valid <From> and <To> - Consider the Invalid users within the time period specified in the input.</LI></UL></TD></TR><TR><TD width="135.836px"><P>Selection by Locks</P></TD><TD width="460.164px"><P>This option facilitates filtering users based on their lock status. Below are the lock criteria that can be considered. Selecting one of these options is mandatory (Radio button selection).</P><UL><LI>Differentiation of Locks</LI><LI>All users with Administrator or Password Locks</LI><LI>Only Users without Locks</LI></UL><P><STRONG><EM>Differentiation of Locks </EM></STRONG></P><UL><LI><STRONG>User Locks (Administrator)</STRONG> – When the value "Set" is selected, it will include the list of users who have been locked by the administrator, with lock statuses of 32 and 64.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_1-1716213376801.png" style="width: 465px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112959i931A644633DAACFC/image-dimensions/465x114?v=v2" width="465" height="114" role="button" title="GRCwithRaghu_1-1716213376801.png" alt="GRCwithRaghu_1-1716213376801.png" /></span></P><P><SPAN>When the value " Not Set" is selected, it will exclude the list of users who have been locked by the administrator, with lock statuses of 32 and 64</SPAN></P><P> </P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_2-1716213376803.png" style="width: 479px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112960i2DDBAF33812CA456/image-dimensions/479x109?v=v2" width="479" height="109" role="button" title="GRCwithRaghu_2-1716213376803.png" alt="GRCwithRaghu_2-1716213376803.png" /></span><UL><LI><STRONG>Password Lock (Incorrect Logon)</STRONG> – When the value "Set" is selected, it will include the list of users who have been locked due to incorrect logons with the status of 128 while when the value “Not Set” is selected, it will exclude the list of users who have been locked due to incorrect logons with the status of 128</LI><LI><STRONG><EM>All users with Administrator or Password Locks – </EM></STRONG>It will include all users who meet the condition of being locked by the administrator (with lock status 32 & 64) or having password locks (with lock status 128).</LI><LI><STRONG><EM>Only Users without Locks - </EM></STRONG> It includes users without any lock status (Active users)</LI></UL></TD></TR><TR><TD width="135.836px"><P>Selection by Login attempts</P></TD><TD width="460.164px"><P>This section sorts users based on their login attempts to the SAP system. By default, all options are selected, and you can deselect a box to exclude. Alternatively, all boxes can be unchecked if you do not wish to use this option.</P><P> </P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_3-1716213376804.png" style="width: 457px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112961iF937FC96A2C4E234/image-dimensions/457x169?v=v2" width="457" height="169" role="button" title="GRCwithRaghu_3-1716213376804.png" alt="GRCwithRaghu_3-1716213376804.png" /></span><UL><LI>Users with incorrect Logon Attempts – Considers users who have made incorrect logon attempts.</LI><LI>Users with no Incorrect Logon Attempts – Considers users who have not made any incorrect logon attempts.</LI><LI>User Without Logon Date – Considers the users without any logon date in SU01</LI></UL></TD></TR><TR><TD width="135.836px"><P>Selection by User Type</P></TD><TD width="460.164px"><P>Selection by User Type filters users based on the user type defined in SU01. For example, you can lock only dialog users based on conditions specified within this program, such as users who have not logged into the system for a specific period of time.</P><P>Below are the user types available under this criteria:</P><UL><LI>Dialog Users</LI><LI>Communication Users</LI><LI>System Users</LI><LI>Service Users</LI><LI>Reference Users</LI></UL><P>NOTE: By default, all options are selected, and you can deselect a box to exclude. Alternatively, all boxes can be unchecked if you do not wish to use this option.</P></TD></TR><TR><TD width="135.836px"><P>Selection by status of password</P></TD><TD width="460.164px"><P>This section will be considered the users based on the status of the user password.</P><UL><LI>·Users with Production Password – Productive user</LI><LI>Users with Initial Password – Users who have never logged into the SAP system after the initial password was set by the admin.</LI><LI>Users with Deactivated Password – Users who password is deactivated </LI></UL><P>As selection type “Selection by Login attempts and Selection by User Type”, by default, all options are selected here as well, and you can deselect a box to exclude.</P></TD></TR><TR><TD width="135.836px"><P>Activity selection</P></TD><TD width="460.164px"><P>Once all the selection criteria are defined according to your requirements, you can proceed to the Activity selection option to specify your actions. Based on the conditions specified above, the result will now be executable. Below are the actions that can be taken when you execute the program.</P><OL><LI><STRONG>Test Selection</STRONG> – Test Selection presents the list of users on the output screen according to the criteria defined before any of the activities listed below are executed.</LI><LI><STRONG>Lock Users (Local Lock</STRONG>) – To Lock the user locally</LI><LI><STRONG>Unlock Users (Local Lock)</STRONG> – To unlock the user locally</LI><LI><STRONG>Set the End of the Validity Period to Today (Only for Valid Users)</STRONG> – Validity of the user will be ended with today’s date</LI><LI><STRONG>Set the End of the Validity Period to Yesterday (Only for Valid Users)</STRONG> – validity of the user will be ended with the yesterday’s date</LI></OL></TD></TR></TBODY></TABLE><P>As mentioned, RSUSR_LOCK_USERS aids in compliance and audit processes by providing a clear record of user account status and actions taken. This ensures that the organization can demonstrate adherence to security policies and regulations.</P><P><STRONG>How to Use RSUSR_LOCK_USERS?</STRONG></P><P> </P><OL><LI>Execute transaction code SA38 or SE38.</LI><LI>Enter “RSUSR_LOCK_USERS” in the program field and execute the report.</LI><LI>Complete the required selections such as specific users, lock/unlock conditions, and date ranges etc.,</LI><LI>Run the program to generate a list of users.</LI></OL><P>Consider the following condition for ending the validity of users as a reference. I have selected dialog users regardless of their password status—whether it's production, initial, or deactivated—and those who are already locked by the admin or due to password lock. Additionally, I have chosen users without logon data under "Selection by Logon Attempts." Once users meeting the defined criteria are identified, their ID validity should be set to end with yesterday’s date. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_4-1716213879816.png" style="width: 542px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112964i1438C9BBEE2D5BF1/image-dimensions/542x584?v=v2" width="542" height="584" role="button" title="GRCwithRaghu_4-1716213879816.png" alt="GRCwithRaghu_4-1716213879816.png" /></span></P><P>After executing the program, the output will display the User IDs for which changes were made.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_5-1716213907899.png" style="width: 666px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112965iF0CE2F8C0F77C217/image-dimensions/666x223?v=v2" width="666" height="223" role="button" title="GRCwithRaghu_5-1716213907899.png" alt="GRCwithRaghu_5-1716213907899.png" /></span></P><P><STRONG>Result:</STRONG> According to the given criteria, user validity is ended with yesterday's date. The program was executed on 20.05.2024, so the user validity is set to end on 19.05.2024.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_6-1716213932140.png" style="width: 668px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112967i82A71E94E2C6D398/image-dimensions/668x288?v=v2" width="668" height="288" role="button" title="GRCwithRaghu_6-1716213932140.png" alt="GRCwithRaghu_6-1716213932140.png" /></span></P><P>Additionally, the program can be scheduled to run at regular intervals, ensuring that administrators are always aware of any locked user accounts. Automation can help in maintaining continuous oversight without manual intervention.</P><P><STRONG>Steps to schedule the job in the background:</STRONG></P><P>To automate the locking, unlocking, and validity ending of users without manual intervention, you can schedule this job to run in the background. This enables the program to execute automatically at specified intervals, ensuring users are locked or unlocked according to predefined criteria. It's recommended to thoroughly test the program in a non-production environment before scheduling it in a production system to ensure proper functionality and minimize potential disruptions. Follow the below steps to schedule the job in the background:</P><OL><LI>Execute transaction SE38 and input the program RSUSR_LOCK_USERS, then proceed to execute it.</LI><LI>Define the criteria for locking/unlocking or ending the validity of the user. </LI><LI>Click "Program" to schedule the job in the background or press F9</LI></OL><P> <span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_7-1716214002429.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112968i51C44D2AA328D622/image-size/medium?v=v2&px=400" role="button" title="GRCwithRaghu_7-1716214002429.png" alt="GRCwithRaghu_7-1716214002429.png" /></span></P><P> </P><P>4. Specify the frequency at which the job should run and click Save.</P><P>When you have multiple criteria to schedule in the background, specify your criteria and press Ctrl+S to save as a variant as shown below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GRCwithRaghu_8-1716214093015.png" style="width: 667px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112969iEF8ECE5D181C07D6/image-dimensions/667x214?v=v2" width="667" height="214" role="button" title="GRCwithRaghu_8-1716214093015.png" alt="GRCwithRaghu_8-1716214093015.png" /></span></P><P>After saving the variants, the job can now be scheduled in the background via transaction code SM36.</P><P><STRONG>Conclusion</STRONG></P><P>The RSUSR_LOCK_USERS program is an indispensable tool for SAP administrators, providing critical insights and control over user account management. By effectively utilizing this program, organizations can enhance their security posture, ensure compliance with regulations, and maintain smooth operational workflows. Regular use and prompt action on the findings of the RSUSR_LOCK_USERS report will help in minimizing user access issues and reinforcing overall system security.</P>2024-05-20T16:11:52.741000+02:00https://community.sap.com/t5/technology-blog-posts-by-members/sap-authorization-audit-readiness-amp-critical-access-monitoring/ba-p/13741971Sap Authorization Audit Readiness & Critical Access Monitoring!!!2024-06-26T07:12:42.494000+02:00Shivkumar_B1https://community.sap.com/t5/user/viewprofilepage/user-id/879151<P>As an SAP Authorization consultant, year on year we go through Internal/External Audit trials and provide evidence/clarifications for the samples requested.<BR />We need to justify if there a slippage in Process/Access assignments and leading to Audit Deficiencies failed to provide evidence.<BR />Auditors will leave no chance to find a process gap like an eagle catching a fish which is just above the river <span class="lia-unicode-emoji" title=":slightly_smiling_face:">🙂</span></P><P>To avoid Audit deficiencies, we need to have a detailed SOP (Standard Operating Process), religiously follow the process and document exceptions, if any.<BR />The most important aspect is to monitor Critical authorization assignments on monthly(suggested) or quarterly to assess unwanted assignments and remediate even before noticed by Audit team.</P><P>I have outlined most of the Critical Authorization monitoring controls as follows</P><H2 id="toc-hId-1018359265">1. Security Audit Parameters</H2><P>Below table provides generic Audit Parameters to be configured in Production systems, which are most important with regards to Audit controls. Below values specified are with respect to SAP best practices and may differ from individual organizations as well.</P><P> </P><TABLE width="299"><TBODY><TR><TD width="216"><P><STRONG>Password Parameters </STRONG></P></TD><TD width="83"><P><STRONG>Value</STRONG></P></TD></TR><TR><TD width="216"><P>login/min_password_lng</P></TD><TD width="83"><P>12</P></TD></TR><TR><TD width="216"><P>login/min_password_digits</P></TD><TD width="83"><P>1</P></TD></TR><TR><TD width="216"><P>login/min_password_lowercase</P></TD><TD width="83"><P>1</P></TD></TR><TR><TD width="216"><P>login/min_password_uppercase</P></TD><TD width="83"><P>1</P></TD></TR><TR><TD width="216"><P>login/min_password_specials</P></TD><TD width="83"><P>1</P></TD></TR><TR><TD width="216"><P>login/password_history_size</P></TD><TD width="83"><P>4</P></TD></TR><TR><TD width="216"><P>Login and Session</P></TD><TD width="83"><P> </P></TD></TR><TR><TD width="216"><P>login/failed_user_auto_unlock</P></TD><TD width="83"><P>1</P></TD></TR><TR><TD width="216"><P>login/fails_to_session_end</P></TD><TD width="83"><P>3</P></TD></TR><TR><TD width="216"><P>login/fails_to_user_lock</P></TD><TD width="83"><P>6</P></TD></TR><TR><TD width="216"><P>login/no_automatic_user_sapstar</P></TD><TD width="83"><P>1</P></TD></TR><TR><TD width="216"><P>rdisp/gui_auto_logout</P></TD><TD width="83"><P>1800</P></TD></TR><TR><TD width="216"><P>auth/object_disabling_active</P></TD><TD width="83"><P>N</P></TD></TR></TBODY></TABLE><H2 id="toc-hId-821845760">2. SAP Standard User Password and Active Status</H2><P>Sap Standard users such as SAP*, DDIC, TMSADM, SAPCPIC etc should have their initial password changed and keep locked these users in clients such as 000,001,066 & Prod client and in some cases TMSADM and DDIC will be kept unlocked in master clients.</P><P>To validate Execute Tcode <STRONG>RSUSR003</STRONG>.</P><H2 id="toc-hId-625332255">3. Critical Standard Profiles (SAP_ALL and SAP_NEW)</H2><P>SAP standard critical authorization profiles SAP_ALL or SAP_NEW must not be assigned<BR />to any users in any of the clients.<BR />To check Go to SUIM-->Users by Complex Selection Criteria-->Roles/Profiles-->Profile Name SAP_ALL and SAP_NEW.</P><H2 id="toc-hId-428818750">4. Standard SAP Roles Assignment</H2><P>Any users in Production client must not be assigned with SAP standard roles i.e Roles starting with SAP* or /*. To check go to SUIM-->Users by Complex Selection Criteria-->Roles/Profile--> SAP* or /*.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_0-1719312223537.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128493iB03DD6A17EB8B2C1/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_0-1719312223537.png" alt="shivakumarbalaiah_balaiah_0-1719312223537.png" /></span></P><P> </P><H3 id="toc-hId-361387964">5<STRONG>. </STRONG><STRONG>Access to Create User Master</STRONG></H3><P>Access to create User master in Production should be restricted to Authorization team, since they need to create Service/System users. Dialog user creation should be via GRC system.<BR />To Check SUIM >User by Complex Selection Criteria >S_USER_GRP ACTVT = 01</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_1-1719310006480.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128452iC7CE2937AA91FB90/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_1-1719310006480.png" alt="shivakumarbalaiah_balaiah_1-1719310006480.png" /></span></P><P> </P><H3 id="toc-hId-164874459">6<STRONG>. </STRONG><STRONG>Access to Change User Master</STRONG></H3><P>This access is restricted to Authorization team and any other user should not be assigned with.</P><P>SUIM report >User by Complex Selection Criteria >S_USER_GRP ACTVT = 02 or 06</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_2-1719310049757.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128453i4367756EB14F62C5/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_2-1719310049757.png" alt="shivakumarbalaiah_balaiah_2-1719310049757.png" /></span></P><H3 id="toc-hId--31639046">7<STRONG>. </STRONG><STRONG>Access to Unlock Users or Reset Password</STRONG></H3><P>In ideal scenario, IT/Business user login to Production system via SSO (Single Sign On). There are exceptions for password login such as IT Admin Users (Security & Basis) and few Business users, who need to connect to third party tools (example RF Gun) via Production user credentials. All the exceptions should be documented in SOP.</P><P>SUIM report > User by Complex Selection Criteria > S_USER_GRP ACTVT = 05</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_3-1719310084246.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128454i7596A47E761174FE/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_3-1719310084246.png" alt="shivakumarbalaiah_balaiah_3-1719310084246.png" /></span></P><H3 id="toc-hId--228152551">8<STRONG>. </STRONG><STRONG>Access to Debug with Change</STRONG></H3><P>Debug change access must be restricted from any Dialog users in Production and it should be part of an FF user only.<BR />To check SUIM report > User by Complex Selection Criteria > S_DEVELOP ACTVT = 02<BR />and OBJTYPE = DEBUG</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_4-1719310180390.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128455iE284630D38D48AAE/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_4-1719310180390.png" alt="shivakumarbalaiah_balaiah_4-1719310180390.png" /></span></P><H3 id="toc-hId--424666056">9<STRONG>. </STRONG><STRONG>Access to Import Transports</STRONG></H3><P>Only Basis/Release team should have access to import access in Production system.<BR />SUIM>User by Complex Selection Criteria >S_CTS_ADM > Value= IMPA or IMPS<BR />SUIM report > User by Complex Selection Criteria > S_TRANSPRT ACTVT = 60</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_5-1719310225520.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128456i46C747EA6D9DE6F2/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_5-1719310225520.png" alt="shivakumarbalaiah_balaiah_5-1719310225520.png" /></span></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_6-1719310232023.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128457iC3F4D8EB16500113/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_6-1719310232023.png" alt="shivakumarbalaiah_balaiah_6-1719310232023.png" /></span></P><H3 id="toc-hId--621179561"><STRONG>10. </STRONG><STRONG>Execute Access for All Programs</STRONG></H3><P>No Users in Production should be assigned with all Program execute access.</P><P>SUIM >User by Complex Selection Criteria >S_PROGRAM P_ACTION = SUBMIT & P_GROUP = #*</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_7-1719310277177.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128459i79CFB0CA67A7C252/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_7-1719310277177.png" alt="shivakumarbalaiah_balaiah_7-1719310277177.png" /></span></P><H3 id="toc-hId--892924435"><STRONG><SPAN>11. Authorization Objects Added Manually or Changed in Roles</SPAN></STRONG></H3><P>All authorization objects in the roles should be in Standard or Maintained status. Any exceptions should be documented. As per SAP best practice no objects should be added manually and there will be adverse effect during upgrades, since tcodes will fail which are dependent on manually added objects, but not linked via SU24.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_1-1719312362019.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128494i4834043C752A6254/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_1-1719312362019.png" alt="shivakumarbalaiah_balaiah_1-1719312362019.png" /></span></P><P> </P><P><STRONG>12. Custom Tcodes Without Authorization Object Linkage in SU24</STRONG></P><P>Custom Tcode must be associated with authorizations objects maintained in SU24.<BR />To check, extract all custom tcodes from SE16-->TSTC-->Z*<BR />Next copy tcodes from TSTC into table USOBT_C to check tcodes with SU24 object mappings and if tcodes not available in the report, then such custom tcodes must be added with suitable auth object into SU24.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_9-1719310410508.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128462iBBDBE333180C94AE/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_9-1719310410508.png" alt="shivakumarbalaiah_balaiah_9-1719310410508.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_10-1719310416783.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128463iD73564DF26674DCA/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_10-1719310416783.png" alt="shivakumarbalaiah_balaiah_10-1719310416783.png" /></span></P><H3 id="toc-hId--1089437940"><STRONG>13. </STRONG><STRONG>Administrator Access for All Batch Jobs</STRONG></H3><P>Batch admin access with Administrator i.e Y access should be restricted to Basis team.<BR />SUIM report > User by Complex Selection Criteria > S_BTCH_ADM BTCADMIN = Y</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_11-1719310470116.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128464i52B6793FC6DA548A/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_11-1719310470116.png" alt="shivakumarbalaiah_balaiah_11-1719310470116.png" /></span></P><H3 id="toc-hId--1285951445"><STRONG>14. </STRONG><STRONG> </STRONG><STRONG>Access to Delete Batch Jobs</STRONG></H3><P>SUIM report >User by Complex Selection Criteria >S_BTCH_JOB JOBACTION = DELE</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_12-1719310502785.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128465iD81E44580045553B/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_12-1719310502785.png" alt="shivakumarbalaiah_balaiah_12-1719310502785.png" /></span></P><H3 id="toc-hId--1482464950"><STRONG><SPAN>15. Access to Delete Logs or Jobs in Batch Input Processing</SPAN></STRONG></H3><P><SPAN>SUIM report > User by Complex Selection Criteria > S_BDC_MONI BDCAKTI = REOG or DELE</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_13-1719310524675.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128466i3468FABD56D4DF96/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_13-1719310524675.png" alt="shivakumarbalaiah_balaiah_13-1719310524675.png" /></span></P><H3 id="toc-hId--1678978455"><STRONG><SPAN>16. Access to All Batch Input Processing Sessions</SPAN></STRONG></H3><P><SPAN>SUIM report > User by Complex Selection Criteria > S_BDC_MONI BDCGROUPID = #*</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_14-1719310542021.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128468iA64392A477C5C0CB/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_14-1719310542021.png" alt="shivakumarbalaiah_balaiah_14-1719310542021.png" /></span></P><H3 id="toc-hId--1875491960"><STRONG><SPAN>17. RFC Administration Access</SPAN></STRONG></H3><P>This acccess should be restricted to either basis team or Batch Monitroing teams.</P><P>SUIM report > User by Complex Selection Criteria > S_TCODE = SM59 and S_ADMI_FCD = NADM</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_15-1719310572661.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128469i134BFF6D7CE1B42E/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_15-1719310572661.png" alt="shivakumarbalaiah_balaiah_15-1719310572661.png" /></span></P><H3 id="toc-hId--2072005465"><STRONG><SPAN>18. Execute Access for All RFCs</SPAN></STRONG></H3><P>This access should not be assigned to any Dialog users in Production system. For Batch job users also assign only required RFC authorization based on trace results, rather assigning full access.</P><P><SPAN>SUIM report > User by Complex Selection Criteria > S_RFC = #* (or S_RFC = "*")</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_16-1719310592744.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128470i6B4157DBF4FEAC51/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_16-1719310592744.png" alt="shivakumarbalaiah_balaiah_16-1719310592744.png" /></span></P><H3 id="toc-hId-2026448326"><STRONG><SPAN>19. Change Access for All Tables</SPAN></STRONG></H3><P>SUIM report >User by Complex Selection Criteria >S_TABU_DIS ACTVT = 02 and DICBERCLS = #*<BR />SUIM report >User by Complex Selection Criteria >S_TABU_NAM ACTVT = 02 and TABLE = #*</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_17-1719310618145.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128471iE654450247120FA8/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_17-1719310618145.png" alt="shivakumarbalaiah_balaiah_17-1719310618145.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_18-1719310644625.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128472i2E20BA66E2AE1F94/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_18-1719310644625.png" alt="shivakumarbalaiah_balaiah_18-1719310644625.png" /></span></P><H3 id="toc-hId-1829934821"><STRONG><SPAN>20. Display Access for All Tables</SPAN></STRONG></H3><P>You may be wondering why display access is critical, this is because a business user with display access on all tables can view Business critical information and leading to Business loss/audit deficiency.</P><P><SPAN>SUIM report >User by Complex Selection Criteria >S_TABU_DIS ACTVT = 03 and DICBERCLS = #*</SPAN></P><P><SPAN>SUIM report >User by Complex Selection Criteria > S_TABU_NAM ACTVT = 03 and TABLE = #*</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_19-1719310675075.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128473i391A999D04DE14E2/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_19-1719310675075.png" alt="shivakumarbalaiah_balaiah_19-1719310675075.png" /></span></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_20-1719310682089.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128474i062238A3FEB70A4F/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_20-1719310682089.png" alt="shivakumarbalaiah_balaiah_20-1719310682089.png" /></span></P><H3 id="toc-hId-1633421316"><STRONG><SPAN>21. Access to Modify Client Settings</SPAN></STRONG></H3><P>SUIM report User by Complex Selection Criteria >S_TABU_DIS ACTVT = 02 and DICBERCLS = SS<BR />SUIM report >User by Complex Selection Criteria >S_TABU_NAM ACTVT = 02 and TABLE = T000</P><P>Note: Auth Group SS contains Security relevant tables and hence should be assigned to IT team only.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_21-1719310709720.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128475i63DF4F8CFA3A0D97/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_21-1719310709720.png" alt="shivakumarbalaiah_balaiah_21-1719310709720.png" /></span></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_22-1719310717706.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128476i24F14384D1259910/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_22-1719310717706.png" alt="shivakumarbalaiah_balaiah_22-1719310717706.png" /></span></P><H3 id="toc-hId-1605091502"><STRONG><SPAN>22. Access to Tables Not mapped to Authorization Groups</SPAN></STRONG></H3><P><SPAN>Tables i.e Both Standard and Custom, that are not mapped to specific authorization groups, will be automatically assigned to <STRONG>&NC&</STRONG> group. We need to make sure no users should have change access to group &NC& in Production.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_23-1719310743149.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128477iA45596C892572CE7/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_23-1719310743149.png" alt="shivakumarbalaiah_balaiah_23-1719310743149.png" /></span></P><H3 id="toc-hId-1408577997"><STRONG><SPAN>23. Access to Maintain Cross-Clients Tables</SPAN></STRONG></H3><P><SPAN>SUIM report > User by Complex Selection Criteria > S_TABU_CLI CLIIDMAINT = X</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivakumarbalaiah_balaiah_24-1719310773700.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/128478iEAD18659B1E5F077/image-size/medium?v=v2&px=400" role="button" title="shivakumarbalaiah_balaiah_24-1719310773700.png" alt="shivakumarbalaiah_balaiah_24-1719310773700.png" /></span></P><P> </P><P><STRONG>Conclusion</STRONG>:</P><P>Frequent monitoring of above critical access assignments will help to be prepared for Audit at any day and IT HPA (High Privilege Access) review as well, to make sure only relevant IT users assigned with privileged access.</P><P> </P><P>Regards</P><P>Shivkumar</P><P> </P>2024-06-26T07:12:42.494000+02:00https://community.sap.com/t5/technology-blog-posts-by-sap/optimizing-your-sap-s-4hana-landscape-with-a-best-practice-role-concept/ba-p/13809622Optimizing Your SAP S/4HANA Landscape with a Best Practice Role Concept2024-08-29T23:50:00.035000+02:00markus_griemhttps://community.sap.com/t5/user/viewprofilepage/user-id/458611<H1 id="toc-hId-914446904">Optimizing your SAP S/4HANA Landscape with a Best Practice Role Concept</H1><P>Experts familiar with SAP authorizations are well aware that quality issues and complexity of legacy role concepts often prompt the desire to start from scratch with a brand-new concept. However, the thought of the associated effort and high costs discourages many. What if there were a more efficient solution?</P><P>Typically, the following topics are initiators for a revision of authorization concepts:</P><UL><LI><STRONG>SAP S/4HANA implementations in cloud or hybrid environments</STRONG> usually require – following the "keep the core clean" strategy – a new SAP S/4HANA authorization concept as well as an authorization concept for the SAP Business Technology Platform.</LI><LI><STRONG>SAP S/4HANA greenfield implementations</STRONG> for new SAP customers as well as existing SAP customers developing new processes based on SAP S/4HANA require a new authorization concept that fits to their new process design and covers access to SAP Fiori Launchpad</LI><LI><STRONG>SAP S/4HANA brownfield implementations</STRONG> that cause a redesign or at least an update of the existing authorization concept.</LI><LI><STRONG>Audit and compliance requirements</STRONG> that may result in a revision or redesign of the SAP authorization concept.</LI></UL><P>In this blog post, we introduce the benefits of the “Automated Implementation of Role Concept” Service ("AIRC Service"), which shortens the efforts and duration of the projects by applying pre-defined roles and a high level of automation. Based on a clear methodology, the service has proven to be a key for the success of authorization projects within more than 200 customer projects over the past 15 years.</P><P> </P><H1 id="toc-hId-717933399">How does the use case look like for the implementation of a new authorization concept?</H1><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="markus_griem_0-1725272449439.png" style="width: 650px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/160868i22780585450E30DA/image-dimensions/650x844?v=v2" width="650" height="844" role="button" title="markus_griem_0-1725272449439.png" alt="markus_griem_0-1725272449439.png" /></span></P><P>When developing a new authorization concept, the initial scope is important, i.e. which applications (i.e. Transactions as well as Fiori Apps) should be part of the authorization concept. This is a task in the responsibility of the business departments, but AIRC service supports it by offering the following approaches:</P><UL><LI>"Top-Down Approach" via SAP Signavio Extraction or manual upload:<UL><LI> With the AIRC service, data can be automatically extracted from SAP Signavio. SAP Signavio is the recommended solution for the (re-) design of Business Processes.</LI><LI>If other tools for modelling business processes are in place, the data can be exported and used by AIRC Service.</LI></UL></LI></UL><P>The Top-Down Approach is the preferred method for greenfield implementations.</P><UL><LI>Business Reverse Engineering:<UL><LI>By examining the transactions used in the SAP system, which can be extracted and used as a baseline for defining the new role proposal, the AIRC ensures that only the necessary functions are authorized. For customers moving from SAP ECC to SAP S/4HANA or upgrading their SAP S/4HANA, the following analyses are also helpful:<UL><LI>SAP S/4HANA Impact Analysis: This analysis checks applications for availability in the target release and lists any corresponding successor applications (transactions or apps).</LI><LI>Fiori App Recommendations: This analysis lists which native Fiori apps can complement a defined range of SAP transactions.</LI></UL></LI></UL></LI></UL><P>“Business Reverse Engineering” is the preferred method for brownfield implementations.</P><P> </P><H1 id="toc-hId-521419894">Best Practice Role Proposal</H1><P>Over the years, SAP Services have developed a database consisting of proven best practice roles that meet the following quality criteria:</P><UL><LI>Functional role concept</LI><LI>Consideration of typical segregation of duty (SoD) requirements</LI><LI>Display and maintenance roles</LI><LI>Module-specific roles</LI><LI>SAP Business Technology Platform (SAP BTP) authorization concept</LI><LI>and many more</LI></UL><P>This database is constantly being expanded based on new applications (e.g. new Fiori apps) and continuously optimized based on customer feedback.</P><P>Using the methods described above, we can quickly provide the customer with a customized role proposal from the intersection of the scope and our role database (often already at the project kick-off). We also offer role assignments for customer-specific applications using algorithms (partly AI-based).</P><P>The role proposal provides a solid framework that significantly reduces efforts in the business departments, enhances quality, and stipulates a unified format.</P><P> </P><H1 id="toc-hId-324906389">Role Implementation</H1><P>The AIRC service considerably supports the implementation of roles through automation, greatly reducing the efforts required for implementation. The following steps outline the implementation:</P><UL><LI><STRONG>Creation of roles with corresponding applications</STRONG>: Based on the authorization concept revised by the business departments, PFCG roles and Fiori catalogs, including assignment of transactions and Fiori apps, are generated using the AIRC service tool-based approach.</LI><LI><STRONG>Maintenance of non-organizational authorization fields</STRONG>: The corresponding authorization values in the roles are manually maintained with the help of standard proposals (SU24) and feedback from the business departments.</LI><LI><STRONG>Generation of organizational or non-organizational supplementary roles</STRONG>: Special authorizations require supplementary roles, consisting of distinct authorization objects (examples include release codes, order types, document types, etc.). We generate these roles from Excel files using a tool-based approach.</LI><LI><STRONG>Generation of role derivations</STRONG>: We recommend using the SAP standard derivation concept. For each organization, so-called "orgsets" can be defined, which contain the specifications for the organizational restrictions of that organization (company code, plant, purchasing organization, sales organization, etc.). Role derivations can then be generated using the AIRC service based on these “orgsets”. This step is not feasible to perform manually for larger companies or projects involving around 20, 100, or 200 organizations.</LI><LI><STRONG>Generation of SAP SAP BTP (Business Technology Platform) roles and role collections</STRONG>: In "side-by-side extensions", business data can also end up in the SAP BTP, which can lead to many SAP BTP roles / role collections. The AIRC service offers tools necessary for generating and transporting these roles, protecting you from unpleasant surprises such as significant manual efforts just before Go-Live.</LI></UL><P> </P><H1 id="toc-hId-128392884">Testing roles</H1><P>For re-design projects, the SAP standard offers a very useful, currently not very well-known feature:</P><P>With the transaction "STSIMAUTHCHECK" it is possible to simulate which authorization checks would fail when using new roles instead of old ones. In our experience, for new implementations, the classic method of testing and ad hoc correcting roles individually is one of the most effective. The AIRC service can also be used in conjunction with partner products that support the tests.</P><P> </P><H1 id="toc-hId--68120621">Assignment of roles to users</H1><P>If usage data is available, we support the assignment of roles to test users and end users with role assignment proposal, structured according to the following procedure:</P><UL><LI>Allocation of default authorization roles</LI><LI>If an application has been used by a user that occurs in different roles, the less critical role is initially suggested.</LI><LI>Organizational assignments can be made based on the user's organizational assignments or based on the organizational assignments of the old roles.</LI></UL><P>If the customer does not have their own Identity Access Management tools, we support the implementation of the assignment with corresponding tools (ABAP and SAP BTP).</P><P> </P><H1 id="toc-hId--264634126">Go-Live</H1><P>With the use of "STSIMAUTHCHECK," you can conduct a secured Go-Live, which is carried out using old authorizations and logging of theoretical authorization errors caused by the new roles. For a re-design, the transition usually occurs in two to four increasingly larger user packages.</P><H1 id="toc-hId--461147631"> </H1><H1 id="toc-hId--657661136">Do I also get support if I decide to rely on my former role concept?</H1><P>If there are no major changes in business processes and the authorization concept of the customer is already at a high-quality level, customers might decide not to reimplement the authorization concept with SAP S/4HANA. For all the new topics (e.g. roles for SAP BTP) the above steps can still be applied. For the existing role concept, the differences between SAP ECC and SAP S/4HANA or between different SAP S/4HANA releases can be derived by an Impact Analysis. We will not further describe this topic in this blog post, please contact us if you want to get further details on this topic.</P><H1 id="toc-hId--854174641"> </H1><H1 id="toc-hId--280948063">Wrapping It Up: Key Takeaways</H1><P>The AIRC service addresses the required re-design of permissions within upcoming changes such as cloud transformations, SAP S/4HANA projects, or tightened compliance requirements. With the AIRC service's help, the implementation efforts and runtime of authorization projects can be greatly reduced. You will receive a standardized and well-proven role concept that meets common compliance requirements. The service’s automations also support newer technologies like processing Fiori artifacts and SAP BTP Roles/Role Collections, preventing issues with newer technologies in upcoming projects.</P>2024-08-29T23:50:00.035000+02:00https://community.sap.com/t5/technology-blog-posts-by-members/title-s-4hana-authorization-management-the-sap-activate-method-thought/ba-p/13903921Title: S/4HANA authorization management: the SAP Activate method thought differently2024-10-24T11:46:58.908000+02:00StephanBlaserhttps://community.sap.com/t5/user/viewprofilepage/user-id/526407<P>The implementation or redesign of SAP authorizations is often associated with long projects, complex requirements and high resource expenditure. Especially in times of crisis, the feeling of uncertainty when implementing such projects can be overwhelming. But does it really have to be like this?</P><P>In the wake of the current economic uncertainty, I have developed a completely new approach - the <STRONG>Rapid System Implementation (RSI) method ‘4i’</STRONG>. This method is not only faster, but also eliminates many of the classic project risks. How does it work? By using established best practices in a way that minimises risks and drastically shortens the project duration.</P><P><STRONG>Why is the crisis the right time for innovation?</STRONG></P><P>Crises always mean opportunities! Richard David Precht summed it up perfectly: ‘If there is an opportunity to rethink, then there is an opportunity to rethink in a crisis’. For us, this means that especially in difficult economic times, the time has come to rethink old patterns and break new ground - even in the S/4HANA authorization world.</P><P><STRONG>The RSI 4i method - a new approach for SAP authorization projects</STRONG></P><P>The <STRONG>Rapid System Implementation 4i method</STRONG> is the key to a fast, secure and flexible implementation of SAP authorizations. Here are the four steps that make up this approach:</P><OL><LI><STRONG>information: </STRONG>structured keycards are used to collect all relevant company information in order to optimally customize the SAP best practice building blocks.</LI><LI><STRONG>installation: </STRONG>The best practice package is installed immediately at all levels - including individual roles, catalogues and business roles.</LI><LI><STRONG>integration: </STRONG>Short test phases by key users ensure that everything works smoothly before we go live.</LI><LI><STRONG>implementation: </STRONG>SOD-compliant roles are assigned in stages and without risk - thanks to the option of secure fallback.</LI></OL><P><STRONG>What's special about this method?</STRONG></P><UL><LI><STRONG>Speed</STRONG>: The project timeframe is drastically reduced and we achieve the goals faster than ever before.</LI><LI><STRONG>Security</STRONG>: The RSI method eliminates many of the classic project risks. As we do not touch the old authorizations, there is always a fallback.</LI><LI><STRONG>Efficiency</STRONG>: The introduction of best-practice roles is structured and without the typical lengthy problems that often occur in complex projects.</LI></UL><P><STRONG><I>Why SAP_BR* roles are not the answer</I></STRONG></P><P>An important note: The SAP_BR* <I>roles</I> supplied by SAP are <STRONG>not</STRONG> intended <STRONG>for productive use </STRONG><EM>(see <A href="https://help.sap.com/doc/b4447b6727684f13917622cf63e1eb98/2021/en-US/AdminGuideS4HANAImpl_HELP_EN.pdf" target="_blank" rel="noopener noreferrer">Administration Guide to Implementation of SAP S/4HANA</A>, <A href="https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/4cef93946a0b48ec89533b3c34443b85/88e84ba4d9b84c3c8fe43defe3d0f401-179.html?version=2021" target="_blank" rel="noopener noreferrer">SAP Help</A> etc.)</EM>. These roles are intended for demo purposes only and do not fulfil any regulatory requirements. An individually adapted authorization concept is therefore essential - and this is precisely where we come in with the best practice approach using the RSI 4i method.</P><P><STRONG>Conclusion</STRONG></P><P>It is possible to think differently about authorization projects and reach the goal faster - without the usual project pain. The RSI 4i method offers a real alternative that combines efficiency, security and speed.</P><P>If you too would like to think and act differently during the crisis, I invite you to a <STRONG>strategy meeting</STRONG>. Together we can discuss your individual challenges and identify concrete solutions.</P><P><STRONG>Discussion & exchange</STRONG></P><P>I welcome your feedback and look forward to hearing your ideas and exchanging experiences on SAP authorizations - thinking differently.</P><P>If you like, you are welcome to watch the video, which explains the method on a slightly less technical level: <A href="https://www.youtube.com/watch?v=_s2SLvk7RwI&t=628s" target="_self" rel="nofollow noopener noreferrer">S/4HANA authorization management thought differently</A></P><P> </P><P><FONT size="3" color="#808080">Note: translated with DeepL</FONT></P>2024-10-24T11:46:58.908000+02:00https://community.sap.com/t5/technology-blog-posts-by-members/master-s-4hana-authorisation-issues-a-practical-guide-with-visio-overview/ba-p/13919084Master S/4HANA authorisation issues: A practical guide with Visio Overview2024-10-29T12:19:43.221000+01:00StephanBlaserhttps://community.sap.com/t5/user/viewprofilepage/user-id/526407<H2 id="toc-hId-1073076717">Master S/4HANA authorization issues: A practical guide with Visio overview</H2><P>Authorization issues in SAP S/4HANA can significantly impact your day-to-day work. As an SAP authorization expert, I would like to present a systematic troubleshooting overview that may help you to efficiently overcome these challenges.</P><H2 id="toc-hId-876563212">The challenge</H2><P>SAP authorizations are as diverse as the business processes they protect. Small mistakes can have far-reaching consequences. The trick is to develop a flexible but clearly regulated authorisation concept that can adapt to changing requirements without becoming inconsistent. The world of authorizations has not become any easier with S/4HANA.</P><H2 id="toc-hId-680049707">A systematic approach to troubleshooting</H2><P>To effectively solve authorization problems, I have created an overview that structures the troubleshooting process from the client level to the backend system. Let's go through the key steps:</P><H2 id="toc-hId-483536202">1. client level (Fiori Launchpad)</H2><UL><LI><STRONG>Fiori Launchpad App Support</STRONG>: Provides important information such as the SAP Fiori ID, business server page name, service node and OData service, as well as any authorisation, gateway or runtime errors that have occurred.</LI><LI><STRONG>Browser Developer Tools (F12)</STRONG>:</LI><UL><LI>Elements: Check the loaded components</LI><LI>Console: JavaScript errors and runtime problems</LI><LI>Sources: Direct access to JavaScript code Custom code file debugging</LI><LI>Network: Checking the OData HTTP URLs Requests, responses and error messages</LI></UL></UL><H2 id="toc-hId-287022697">2. Front-End Server (FES)</H2><UL><LI><STRONG>/IWFND/MAINT_SERVICE (OData configuration)</STRONG>:</LI><UL><LI>Model cache cleanup</LI><LI>Metadata reload</LI><LI>SICF configuration</LI><LI>Service addition and configuration</LI><LI><STRONG>Gateway client</STRONG>: Cache cleanup, cache rebuild, request execution</LI><LI><STRONG>Service Implementation</STRONG>: Checking for errors or insufficient authorizations</LI><LI><STRONG>RFC Connection (SM59)</STRONG>: Ensuring the correct configuration between the front end and the back end</LI></UL><LI><STRONG>/IWFND/ERROR_LOG (OData Error Log)</STRONG>: Analysing data transfer problems between FES and BES</LI></UL><H2 id="toc-hId-90509192">3. Back-End Server (BES)</H2><UL><LI><STRONG>STAUTHTRACE</STRONG>: Detailed analysis of authorization problems, including CDS view level</LI><LI><STRONG>FLP Content Manager (/UI2/FLPCM_CUST)</STRONG>: Checking the Fiori catalogues and their configuration</LI><LI><STRONG>PFCGUPDATEROLEMENU</STRONG>: Matching the catalogues with authorization roles</LI><LI><STRONG>Profile generation and user matching</STRONG>: Ensuring consistency</LI></UL><H2 id="toc-hId--106004313">Fiori Apps Library: An indispensable tool</H2><P>The Fiori Apps Library is invaluable at every stage of the analysis. It provides detailed information on prerequisites, installation requirements, component statuses and service configurations for each Fiori app.</P><H2 id="toc-hId--302517818">Conclusion</H2><P>This structured approach makes it possible to systematically isolate and resolve authorization problems. Note that the order of the steps may vary depending on the specific error. Experience plays an important role, but even for experienced experts, this overview can serve as a valuable checklist.</P><P>I invite you to download the S/4HANA authorization troubleshooting overview and use it in your daily work. Feedback and suggestions for improvement are explicitly encouraged, as we can all learn from each other.</P><P>Do you have any questions or comments? I look forward to your comments and a lively exchange!</P><P> </P><P><FONT size="3" color="#808080">Note: translated with DeepL</FONT></P>2024-10-29T12:19:43.221000+01:00https://community.sap.com/t5/application-development-and-automation-blog-posts/abap-authority-check-explained-a-practical-guide-with-real-world-example/ba-p/14035570ABAP AUTHORITY CHECK Explained: A Practical Guide with Real-World Example2025-03-11T15:16:40.128000+01:00Pradeep555https://community.sap.com/t5/user/viewprofilepage/user-id/1451114<P><SPAN>AUTHORITY-CHECK IN ABAP</SPAN><SPAN>:</SPAN><SPAN> </SPAN></P><P><SPAN>Is a concept which enables or allow users to perform certain functions/ activities in the SAP system</SPAN><SPAN> </SPAN></P><P><SPAN>So, we will look for an example of such activity:</SPAN><SPAN> </SPAN></P><P><SPAN>To create a material or sales order I suppose to have authorization </SPAN><SPAN> </SPAN></P><P><SPAN>System checks whether I am authorized for the task or not –then only the system will proceed further </SPAN><SPAN> </SPAN></P><P><SPAN>Suppose in a general scenario while talking a leave the manager needs to authorize the request of our leave approval .</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>What happens in SAP ?</SPAN><SPAN> </SPAN></P><P><SPAN>In SAP basis person will assign the authorization object to user id to proceed it further </SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Terminologies in authority-check.</SPAN><SPAN> </SPAN></P><UL><LI><SPAN>Object class: it is a container for authorization objects </SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>Authorization object: object to check authorization</SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>Authorization field: an authorization object has the authorization field which is used to define field values</SPAN><SPAN> </SPAN></LI></UL><P><SPAN>Here the hierarchy goes like </SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_0-1741257370050.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233859i37FE8B45BB5129C1/image-size/medium?v=v2&px=400" role="button" title="Pradeep555_0-1741257370050.png" alt="Pradeep555_0-1741257370050.png" /></span></P><P> </P><P><SPAN> </SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>T-CODES:</SPAN><SPAN> </SPAN></P><UL><LI><SPAN>Authorization field – SU20</SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>Object class and authorization object: SU21</SPAN><SPAN> </SPAN></LI></UL><P><SPAN> </SPAN></P><P><SPAN>OVERVIEW:</SPAN><SPAN> </SPAN></P><P><SPAN>The first and foremost thing is we need to check for authorization object class</SPAN><SPAN> </SPAN></P><P><SPAN>Which is a container for authorization object </SPAN><SPAN> </SPAN></P><P><SPAN>Once we create the object --> we need to assign the filed</SPAN><SPAN> </SPAN></P><P> </P><P> </P><P><SPAN>Scenario:</SPAN><SPAN> </SPAN></P><P><SPAN>Suppose we are using MM01 transaction to create a material, and we get an error </SPAN><SPAN> </SPAN></P><P><SPAN>At this moment we can inform BASIS people to check for the authorization in case we need any.</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Step;</SPAN><SPAN> </SPAN></P><OL><LI><SPAN>Create a material and put external BP </SPAN><SPAN> </SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_32-1741254513306.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233809i63DFC3D652DDB76B/image-size/large?v=v2&px=999" role="button" title="Pradeep555_32-1741254513306.png" alt="Pradeep555_32-1741254513306.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> 2.</SPAN><SPAN>Put breakpoint on statement AUTHORITY-CHECK . </SPAN><SPAN> </SPAN></P><UL><LI><SPAN>Here we can see auth object is ‘M_MATE_NEW’</SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>Field – ‘DUMMY'</SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>Value - ‘*’</SPAN><SPAN> </SPAN></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_33-1741254513310.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233808i8D302FF6931CE099/image-size/large?v=v2&px=999" role="button" title="Pradeep555_33-1741254513310.png" alt="Pradeep555_33-1741254513310.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>3.If we provide the field in SU20</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_34-1741254513311.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233811iB007D3FB4183F738/image-size/large?v=v2&px=999" role="button" title="Pradeep555_34-1741254513311.png" alt="Pradeep555_34-1741254513311.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><OL><LI><SPAN>Whenever we execute sy-subrc will be zero – indicates that we are authorized</SPAN><SPAN> </SPAN></LI></OL><P><SPAN>Or else it will give sy-subrc 12 indicating we are not authorized to create the material</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_35-1741254513313.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233812iFE3DF3F3F57218F9/image-size/large?v=v2&px=999" role="button" title="Pradeep555_35-1741254513313.png" alt="Pradeep555_35-1741254513313.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><OL><LI><SPAN>here we have provided the field ACTVT—We shall have a glance about this</SPAN><SPAN> </SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_36-1741254513314.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233810i8ABAC03C981F8FFF/image-size/large?v=v2&px=999" role="button" title="Pradeep555_36-1741254513314.png" alt="Pradeep555_36-1741254513314.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>The filed ACTVT has some permitted values—click on the status icon beside ACTVT</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_37-1741254513315.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233813i8DC5E9FE2CD357BA/image-size/large?v=v2&px=999" role="button" title="Pradeep555_37-1741254513315.png" alt="Pradeep555_37-1741254513315.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>01- IT IS CREATE</SPAN><SPAN> </SPAN></P><P><SPAN>02- CHANGE</SPAN><SPAN> </SPAN></P><P><SPAN>03- DISPLAY</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><OL><LI><SPAN>Suppose if we provide a material and put external bp –we get same authorization value</SPAN><SPAN> </SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_38-1741254513315.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233814i9E71B1F0F711FCCC/image-size/large?v=v2&px=999" role="button" title="Pradeep555_38-1741254513315.png" alt="Pradeep555_38-1741254513315.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>7.So, in the ACTVT we saw 02- for change and same for display</SPAN><SPAN> </SPAN></P><P><SPAN>The ACTVT holds value-03 and here we can see the field value</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_39-1741254513317.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233815iB6A77161F4E88D92/image-size/large?v=v2&px=999" role="button" title="Pradeep555_39-1741254513317.png" alt="Pradeep555_39-1741254513317.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Now let's take real time scenario: </SPAN><SPAN> </SPAN></P><P><SPAN>Implementing authorization checks in ABAP program is crucial to ensure that only authorized users can perform operations like </SPAN><STRONG><SPAN>INSERT</SPAN></STRONG><SPAN>, </SPAN><STRONG><SPAN>UPDATE</SPAN></STRONG><SPAN>, or </SPAN><STRONG><SPAN>DELETE</SPAN></STRONG><SPAN> on your cylinder data, which includes delivery charges, stock, and cylinder types. Here's how you can set up and demonstrate an </SPAN><STRONG><SPAN>AUTHORITY-CHECK</SPAN></STRONG><SPAN> based on the </SPAN><STRONG><SPAN>cylinder batch ID</SPAN></STRONG><SPAN>:</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Steps:</SPAN><SPAN> </SPAN></P><OL><LI><SPAN>Create authorization object class in SU21</SPAN><SPAN> </SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_40-1741254513320.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233816i5569442585DF5DCD/image-size/large?v=v2&px=999" role="button" title="Pradeep555_40-1741254513320.png" alt="Pradeep555_40-1741254513320.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_41-1741254513321.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233817iA3C46FACB1C24066/image-size/large?v=v2&px=999" role="button" title="Pradeep555_41-1741254513321.png" alt="Pradeep555_41-1741254513321.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>2.Save it</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_42-1741254513322.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233818i2C3732D1210E3662/image-size/large?v=v2&px=999" role="button" title="Pradeep555_42-1741254513322.png" alt="Pradeep555_42-1741254513322.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> 3.</SPAN><SPAN>Crate the authorization field</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_43-1741254513323.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233819i2F2672AE3A7EEEE4/image-size/large?v=v2&px=999" role="button" title="Pradeep555_43-1741254513323.png" alt="Pradeep555_43-1741254513323.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> 4.</SPAN><SPAN>Select the operation you want to do on DB </SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_44-1741254513324.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233820i651106810EDDC4C2/image-size/large?v=v2&px=999" role="button" title="Pradeep555_44-1741254513324.png" alt="Pradeep555_44-1741254513324.png" /></span></P><P> </P><P><SPAN>. </SPAN><SPAN> </SPAN></P><P><SPAN> 5.</SPAN><SPAN>Select the activity and save it </SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_45-1741254513325.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233821i45446D8A6FF34AA6/image-size/large?v=v2&px=999" role="button" title="Pradeep555_45-1741254513325.png" alt="Pradeep555_45-1741254513325.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN><SPAN>Scenario – in the report we have stock table and particular user can delete update insert Once we are done with auth object—basis person will create a role using t code pfcg</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><OL><LI><SPAN>If we goto to the t code SU01 – AND CLICK ON role we can be able to see the assigned roles</SPAN><SPAN> </SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_46-1741254513326.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233823iCF446CEC128A6331/image-size/large?v=v2&px=999" role="button" title="Pradeep555_46-1741254513326.png" alt="Pradeep555_46-1741254513326.png" /></span></P><P> </P><P><SPAN> </SPAN></P><OL><LI><SPAN>Authorization filed and value will be assigned by BASIS and will reflect here </SPAN><SPAN> </SPAN></LI></OL><P><SPAN>After assigning role</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_47-1741254513328.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233822iE8669B6A409D5CE9/image-size/large?v=v2&px=999" role="button" title="Pradeep555_47-1741254513328.png" alt="Pradeep555_47-1741254513328.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN><SPAN> code </SPAN><SPAN> :</SPAN></P><P> </P><P> </P><P> </P><P> </P><P> </P><P> </P><pre class="lia-code-sample language-abap"><code>REPORT zpd_rp_auth_chek.
TYPES : BEGIN OF lty_BID,
cylinder_batch_id TYPE zpd_de_batch_id,
END OF lty_BID.
DATA : lwa_data TYPE zpd_t_stock.
DATA : zpd_de_batch_id TYPE TABLE OF lty_BID.
DATA : lwa_bid TYPE lty_BID.
DATA : lt_bid TYPE TABLE OF lty_bid.
TYPES : BEGIN OF lty_display,
delivery_charge TYPE zpd_de_charge,
cylinder_type TYPE zpd_de_cylinder_type,
stock TYPE zpd_de_stock,
END OF lty_display.
DATA : lwa_display TYPE lty_display.
DATA : lv_objectid TYPE cdhdr-objectid.
*DATA : lwa_bid TYPE zpd_t_stock.
PARAMETERS : p_id TYPE zpd_de_batch_id OBLIGATORY.
PARAMETERS : p_charge TYPE zpd_de_charge .
PARAMETERS : p_type TYPE zpd_de_cylinder_type .
PARAMETERS : p_stock TYPE zpd_de_stock MODIF ID a3.
PARAMETERS : p_r1 TYPE c RADIOBUTTON GROUP r1 USER-COMMAND abc .
PARAMETERS : p_r2 TYPE c RADIOBUTTON GROUP r1 .
PARAMETERS : p_r3 TYPE c RADIOBUTTON GROUP r1..
START-OF-SELECTION.
*Insert
IF p_r1 = 'X'.
AUTHORITY-CHECK OBJECT 'ZAUTHBID'
ID 'ACTVT' FIELD '01'.
ENDIF.
IF sy-subrc <> 0 .
MESSAGE e005(zmsg_auth).
lwa_data-cylinder_batch_id = p_id.
lwa_data-delivery_charge = p_charge.
lwa_data-cylinder_type = p_type.
lwa_data-stock = p_stock.
INSERT zpd_t_stock FROM lwa_data.
IF sy-subrc = 0.
WRITE : TEXT-000.
ELSE.
WRITE : TEXT-001.
ENDIF.
ENDIF.
*Delete.
IF p_r2 = 'X'.
AUTHORITY-CHECK OBJECT 'ZAUTHBID'
ID 'ACTVT' FIELD '02'.
ENDIF.
IF sy-subrc <> 0 .
MESSAGE e007(zmsg_auth).
SELECT SINGLE * FROM zpd_t_stock INTO lwa_data WHERE cylinder_batch_id = p_id.
lwa_data-cylinder_batch_id = p_id.
DELETE zpd_t_stock FROM lwa_data.
IF sy-subrc = 0.
WRITE : TEXT-003 , ' :' , p_id.
ENDIF.
ENDIF.
*Update
IF p_r3 = 'X'.
AUTHORITY-CHECK OBJECT 'ZAUTHBID'
ID 'ACTVT' FIELD '06'.
ENDIF.
IF sy-subrc <> 0 .
MESSAGE e006(zmsg_auth).
lwa_data-cylinder_batch_id = p_id.
lwa_data-delivery_charge = p_charge.
lwa_data-cylinder_type = p_type.
lwa_data-stock = p_stock.
UPDATE zpd_t_stock FROM lwa_data.
IF sy-subrc = 0.
WRITE : TEXT-004, ' :' , p_id.
ENDIF.
ENDIF.
AT SELECTION-SCREEN.
IF p_r1 = 'X'.
SELECT cylinder_batch_id
FROM zpd_t_stock
INTO TABLE lt_bid
WHERE cylinder_batch_id = p_id.
IF sy-subrc = 0.
MESSAGE e003(zmsg_auth) WITH p_id.
ENDIF.
ENDIF.
IF p_r2 = 'X'.
SELECT SINGLE cylinder_batch_id
FROM zpd_t_stock
INTO lwa_bid
WHERE cylinder_batch_id = p_id.
IF sy-subrc NE 0.
MESSAGE e004(zmsg_auth) WITH p_id.
ENDIF.
ENDIF.
IF p_r3 = 'X'.
SELECT SINGLE cylinder_batch_id
FROM zpd_t_stock
INTO lwa_bid
WHERE cylinder_batch_id = p_id.
IF sy-subrc NE 0.
MESSAGE e004(zmsg_auth) WITH p_id.
ELSE.
SELECT SINGLE delivery_charge stock
FROM zpd_t_stock
INTO lwa_display
WHERE cylinder_batch_id = p_id.
ENDIF.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'A1' OR screen-group1 = 'A2' OR screen-group1 = 'A3' OR screen-group1 = 'A4'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF p_r3 = 'X'.
p_type = lwa_display-cylinder_type.
p_charge = lwa_display-delivery_charge.
p_stock = lwa_display-stock.
ENDIF. </code></pre><P> </P><P> </P><P> </P><P> </P><P> </P><P> </P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_48-1741254513329.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233824i94C5BE5D2A997A8C/image-size/large?v=v2&px=999" role="button" title="Pradeep555_48-1741254513329.png" alt="Pradeep555_48-1741254513329.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_63-1741255387340.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233844i73CBB832C173E3ED/image-size/large?v=v2&px=999" role="button" title="Pradeep555_63-1741255387340.png" alt="Pradeep555_63-1741255387340.png" /></span></P><P> </P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_49-1741254513330.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233825iD91D2ED75636C2C5/image-size/large?v=v2&px=999" role="button" title="Pradeep555_49-1741254513330.png" alt="Pradeep555_49-1741254513330.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_50-1741254513331.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233826i57FE223164F9331F/image-size/large?v=v2&px=999" role="button" title="Pradeep555_50-1741254513331.png" alt="Pradeep555_50-1741254513331.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Same in case of delete ..</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>So now lets dicuss about the key parameters present in the authorization </SPAN><SPAN> </SPAN></P><P><SPAN>SAP_ALL :</SPAN><SPAN> </SPAN></P><UL><LI><SPAN>The composite profile SAP_ALL contains all SAP authorizations</SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>It means that a user with this profile can perform all tasks in the SAP system </SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>The user which is having SAP_ALL authorization has the rights to administer the SAP system </SPAN><SPAN> </SPAN></LI></UL><UL><LI><SPAN>In projects, it is recommended to have only one user with SAP_ALL authorizations, rest all users have the authorization based upon their role</SPAN><SPAN> </SPAN></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_51-1741254513332.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233827i346ED86C190FBE7F/image-size/large?v=v2&px=999" role="button" title="Pradeep555_51-1741254513332.png" alt="Pradeep555_51-1741254513332.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_52-1741254513335.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233828iE0698B66AAFD4EA1/image-size/large?v=v2&px=999" role="button" title="Pradeep555_52-1741254513335.png" alt="Pradeep555_52-1741254513335.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Here I have authorization for SAP_ALL means I have sap all system authorization</SPAN><SPAN> </SPAN></P><P><SPAN>IN CASE:</SPAN><SPAN> </SPAN></P><P><SPAN>Even though I have SAP_ALL authorizations .then why is it not possible to create the records in previous program?</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>When we created object, we need to add that new object in SAP_ALL</SPAN><SPAN> </SPAN></P><P><SPAN>And SAP_ALL has all many predefined authorizations</SPAN><SPAN> </SPAN></P><P><SPAN>To add that we need to regenerate SAP_ALL</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_53-1741254513336.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233830i04F2BC58F37CFF77/image-size/large?v=v2&px=999" role="button" title="Pradeep555_53-1741254513336.png" alt="Pradeep555_53-1741254513336.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>So once we regenerate it – it will be the part of SAP_ALL</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Now if we try to insert a record it will show – sy-subrc will be 0</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_54-1741254513340.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233829iAE42EEAA2C877A3A/image-size/large?v=v2&px=999" role="button" title="Pradeep555_54-1741254513340.png" alt="Pradeep555_54-1741254513340.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><UL><LI><SPAN>Now let's see the requirement of assigning authorization for a particular field</SPAN><SPAN> </SPAN></LI></UL><P><SPAN>Suppose I want to assign auth for a custom field delivery charge – only certain people can see the delivery charges change the delivery charges</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><OL><LI><SPAN>I have a custom table of cylinder data </SPAN><SPAN> </SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_55-1741254513341.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233833i6878B2036F5AB115/image-size/large?v=v2&px=999" role="button" title="Pradeep555_55-1741254513341.png" alt="Pradeep555_55-1741254513341.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> 2.</SPAN><SPAN>Su20 – create field</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_56-1741254513343.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233832i1E3A6BEB91D23F7F/image-size/large?v=v2&px=999" role="button" title="Pradeep555_56-1741254513343.png" alt="Pradeep555_56-1741254513343.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> 3.</SPAN><SPAN>Su21 create auth obj class—and use already existing class</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_57-1741254513345.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233831i6F2AB95CE2FCE761/image-size/large?v=v2&px=999" role="button" title="Pradeep555_57-1741254513345.png" alt="Pradeep555_57-1741254513345.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>4.Here I'm providing authorization on displaying the details of delivery charges</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_58-1741254513346.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233834i9E94237A03B4D79D/image-size/large?v=v2&px=999" role="button" title="Pradeep555_58-1741254513346.png" alt="Pradeep555_58-1741254513346.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_59-1741254513347.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233836i5D7C3BDB18AADCCE/image-size/large?v=v2&px=999" role="button" title="Pradeep555_59-1741254513347.png" alt="Pradeep555_59-1741254513347.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN><SPAN>Code :</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P> </P><P> </P><P> </P><P> </P><P> </P><P> </P><pre class="lia-code-sample language-abap"><code>TYPES : BEGIN OF lty_display,
delivery_charge TYPE zpd_de_charge,
cylinder_type TYPE zpd_de_cylinder_type,
stock TYPE zpd_de_stock,
END OF lty_display.
DATA : lt_data TYPE TABLE OF lty_display,
wa TYPE lty_display.
PARAMETERS : p_dc TYPE zpd_de_stock.
START-OF-SELECTION.
SELECT delivery_charge
cylinder_type
stock FROM zpd_t_stock
INTO TABLE lt_data
WHERE delivery_charge = p_dc .
LOOP AT lt_data INTO wa.
WRITE : wa-delivery_charge , wa-cylinder_type , wa-stock .
ENDLOOP.
AT SELECTION-SCREEN .
AUTHORITY-CHECK OBJECT 'ZDELICHRG'
ID 'ACTVT' FIELD '03'
ID 'DELIVCHARG' FIELD P_DC.
IF SY-SUBRC <> 0.
MESSAGE e008(ZMSG_AUTH) WITH p_dc.
ENDIF. </code></pre><P> </P><P> </P><P> </P><P> </P><P> </P><P> </P><P><SPAN> 5.</SPAN><SPAN>We can see that we are getting sy-subrc = 12</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_60-1741254513349.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233835i7B978AA9A7B5E0DC/image-size/large?v=v2&px=999" role="button" title="Pradeep555_60-1741254513349.png" alt="Pradeep555_60-1741254513349.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> 6.</SPAN><SPAN>So when we try to display the records with particular delivery charge we get an error</SPAN><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Pradeep555_61-1741254513351.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/233837i6B712B0C8340D028/image-size/large?v=v2&px=999" role="button" title="Pradeep555_61-1741254513351.png" alt="Pradeep555_61-1741254513351.png" /></span></P><P> </P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Here are some simple conclusion points:</SPAN><SPAN> </SPAN></P><UL><LI><STRONG><SPAN>Secure Data Access:</SPAN></STRONG><SPAN> Using AUTHORITY-CHECK ensures that only authorized users can update, delete, or insert cylinder data.</SPAN><SPAN> </SPAN></LI></UL><UL><LI><STRONG><SPAN>Granular Permissions:</SPAN></STRONG><SPAN> Instead of giving broad access (like SAP_ALL), you assign rights for specific fields (like a cylinder batch ID) to limit who can change data.</SPAN><SPAN> </SPAN></LI></UL><UL><LI><STRONG><SPAN>Role-Based Control:</SPAN></STRONG><SPAN> By creating roles in PFCG with precise authorization objects, you control access based on business needs.</SPAN><SPAN> </SPAN></LI><LI><STRONG><SPAN>Risk Reduction:</SPAN></STRONG><SPAN> Fine-grained authorizations help reduce the risk of accidental or unauthorized data changes.</SPAN><SPAN> </SPAN></LI><LI><STRONG><SPAN>Ongoing Review:</SPAN></STRONG><SPAN> Regularly reviewing and updating roles ensures that permissions stay relevant and secure.</SPAN><SPAN> </SPAN></LI></UL>2025-03-11T15:16:40.128000+01:00https://community.sap.com/t5/technology-blog-posts-by-members/limited-time-activation-of-virtual-super-user-sap/ba-p/14104637Limited Time Activation of virtual Super-User - SAP*2025-05-20T16:26:58.773000+02:00Agrawal_Himanshuhttps://community.sap.com/t5/user/viewprofilepage/user-id/494787<P class="">SAP Note 3303172</P><P><STRONG>Time-limited client-specific activation of the virtual super-user SAP*, available </STRONG><SPAN><STRONG>as of kernel release 790</STRONG></SPAN><STRONG>:</STRONG></P><OL><LI>Logon to the operating system of an application server using <sid>adm user.</LI><LI>Start the interactive tool dpmon with menu option u to activate the virtual client-specific super-user SAP* in a chosen client. Define a period of between 10 and 30 minutes as validity. You will obtain a one-time password after successful activation.</LI><LI>Logon using user SAP* and the one-time password you have obtained on any currently running application server.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-2024-10-7_14-59-48.png" style="width: 686px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/262668i22751A7454E17461/image-size/large?v=v2&px=999" role="button" title="image-2024-10-7_14-59-48.png" alt="image-2024-10-7_14-59-48.png" /></span></P><P><STRONG>Point to be noted :</STRONG></P><UL><LI>Any password based logon attempt for user SAP*, regardless if successful or not, invalidates the one-time password immediately.</LI><LI>You can (re-)activate the user using dpmon any time and will obtain a new one-time password. This is needed for example if you had a typo in your attempt to use the one-time password and could not logon.</LI><LI>Within dpmon you have further the possibility to see in which clients a virtual super-user does currently exist, which one still has a one-time password, their remaining existence and you are able to delete them prematurely.</LI><LI>An existing user SAP* (and an emergency super-user SAP* activated by the second option) is superimposed by an existing virtual super-user SAP* in a client.</LI><LI>A maximum of 20 virtual super-user SAP* can exist in parallel in different clients.</LI><LI>There is no need for an application server restart as no static profile parameter needs to be changed.</LI><LI>The user has no hardcoded known password but gets a new random one-time password after each activation.</LI><LI>The user is activated client-specific.</LI><LI>The user existence is limited in time, its validity is chosen during its activation within dpmon(the allowed period is between 10 and 30 minutes), and the user can also be deleted within dpmon already before its expiration. Bear in mind: a user deletion has no influence on an already established session. A session does continue to run.</LI><LI>Both activation and usage of the virtual super-user are logged in the security audit log event EUP (purpose 2).</LI></UL><P> </P><P><STRONG>Security Audit Log for virtual user </STRONG><STRONG>SAP*</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image-2024-10-7_14-56-36.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/262667i50509967A63A2237/image-size/large?v=v2&px=999" role="button" title="image-2024-10-7_14-56-36.png" alt="image-2024-10-7_14-56-36.png" /></span></P><P> </P><P> </P>2025-05-20T16:26:58.773000+02:00https://community.sap.com/t5/technology-blog-posts-by-sap/strengthening-sap-security-a-closer-look-at-authorizations-and-access/ba-p/14109254Strengthening SAP Security: A Closer Look at Authorizations and Access Control2025-05-22T13:35:36.332000+02:00OxanaJhttps://community.sap.com/t5/user/viewprofilepage/user-id/899<P>As promised in my previous <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/a-holistic-approach-to-sap-security-introducing-the-secure-operations-map/ba-p/14084296" target="_self">post</A> , it's time to explore the different domains of the SAP Secure Operations Map (SOM). This series aims to highlight key areas that deserve attention and showcase tools and services that can support your company on its journey toward a more secure SAP environment.</P><P><SPAN>We'll begin with a topic that most professionals associate as the cornerstone of SAP security:</SPAN><SPAN> </SPAN><SPAN>Authorizations and Access Control</SPAN><SPAN>.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="The cornerstone of SAP Security: Authorizations and Access Control" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/265053i8B35076B83CC206A/image-size/large?v=v2&px=999" role="button" title="Xenia_0-1747913258541.png" alt="The cornerstone of SAP Security: Authorizations and Access Control" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">The cornerstone of SAP Security: Authorizations and Access Control</span></span></P><H2 id="toc-hId-1730625498"><SPAN>The Challenge: Keeping Authorization Concepts Current</SPAN></H2><P>One of the biggest pain points in this domain is that authorization concepts often become outdated almost immediately after implementation. You may have defined a comprehensive concept at a certain point in time, but if your access control processes are not actively maintained and updated, that concept quickly loses its relevance.</P><P>This issue is especially prevalent in ERP systems, which offer a vast range of highly specific authorization options. While SaaS applications may be less complex in this regard, challenges still arise—particularly when defining business roles that span multiple systems. Consider a purchaser who uses S/4HANA for procurement, SAP Ariba for supplier collaboration, and SAP Analytics Cloud for reporting. Understanding and managing the authorization requirements across such a landscape is far from straightforward.</P><H2 id="toc-hId-1534111993"><SPAN>Risks and Red Flags</SPAN></H2><P>Proper access control isn't just about functionality—it’s about minimizing risk. For example:</P><UL><LI><SPAN>Critical Authorizations</SPAN><SPAN>: Users should not have direct access to sensitive system elements such as table contents unless absolutely necessary.</SPAN></LI><LI><SPAN>Segregation of Duties (SoD)</SPAN><SPAN>: A single user should not have the ability to execute multiple critical steps in a process. For instance, allowing a purchaser to both create purchase orders and maintain vendor master data could open the door to fraud.</SPAN></LI></UL><H2 id="toc-hId-1337598488"><SPAN>Where to Begin? Start with Your Access Control Processes!</SPAN></H2><P>To build a resilient access control framework, begin by asking key questions about your current processes:</P><UL><LI><SPAN>How are access control tasks handled today?</SPAN></LI><LI><SPAN>Are access risk definitions actively managed?</SPAN></LI><LI><SPAN>How are roles assigned—manually or through tools?</SPAN></LI><LI><SPAN>Are authorizations maintained regularly?</SPAN></LI><LI><SPAN>Are there ongoing checks for SoD (segregation of duties) conflicts?</SPAN></LI><LI><SPAN>Do users only retain appropriate authorizations when their roles or positions change?</SPAN></LI><LI><SPAN>How are privileged operations (e.g., "firefighter access") managed?</SPAN></LI></UL><P><SPAN>Once you’ve answered these questions and established clear processes, you can explore opportunities for optimization—such as automation or dedicated tools like</SPAN><SPAN> </SPAN><SPAN>SAP Access Control</SPAN><SPAN> </SPAN><SPAN>and</SPAN><SPAN> </SPAN><SPAN>SAP Identity Access Governance (IAG)</SPAN><SPAN>.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Begin by asking key questions about your current access control processes" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/265055i8DE0B83242C42CA6/image-size/large?v=v2&px=999" role="button" title="Xenia_1-1747913457207.png" alt="Begin by asking key questions about your current access control processes" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Begin by asking key questions about your current access control processes</span></span></P><H2 id="toc-hId-1141084983"><SPAN>Role Optimization and Reducing Privilege Creep</SPAN></H2><P>As part of your access control maturity, role optimization is a logical next step. If your processes haven’t been streamlined in the past, it’s likely that "privilege creep"—the gradual accumulation of excessive authorizations—has taken hold.</P><P><SPAN>One powerful tool based service to support role optimization is</SPAN><SPAN> </SPAN><SPAN>AIRC ("Automated Implementation of Role Concept")</SPAN><SPAN>. AIRC generates role proposals based on actual system usage, helping you accelerate the development of a new role concept. With AIRC, time to value can be as short as three months. For more details, take a look at this informative blog post by Markus: </SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/optimizing-your-sap-s-4hana-landscape-with-a-best-practice-role-concept/ba-p/13809622" target="_blank"><SPAN>Optimizing Your SAP S/4HANA Landscape with a Best Practice Role Concept</SPAN></A></P><P><SPAN>AIRC can also support your</SPAN><SPAN> </SPAN><SPAN>SAP BTP </SPAN><SPAN>authorization journey. Learn more about that here: </SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/authorizations-for-sap-business-technology-plattform-a-quick-start/ba-p/13924776" target="_blank"><SPAN>Authorizations for SAP Business Technology Platform – A Quick Start</SPAN></A></P><H2 id="toc-hId-944571478"><SPAN>Need Support?</SPAN></H2><P>If you need help setting up or optimizing your access control processes, we’re here to support you.</P><P>Next up, for the next post in this series, where I’ll take a deeper look at SAP Access Control and SAP IAG—and how they can be effectively leveraged across a hybrid SAP landscape.</P>2025-05-22T13:35:36.332000+02:00https://community.sap.com/t5/technology-blog-posts-by-sap/authorization-group/ba-p/14113648Authorization group2025-05-28T13:34:19.131000+02:00Slowly_Goinghttps://community.sap.com/t5/user/viewprofilepage/user-id/1911117<H3 id="toc-hId-1860456809">How They Work</H3><P>When a user attempts to access an SAP object, the system checks two things:</P><P><span class="lia-unicode-emoji" title=":keycap_1:">1️⃣</span>Whether the user has the necessary authorization (through roles and profiles)<BR /><span class="lia-unicode-emoji" title=":keycap_2:">2️⃣</span>Whether the user is authorized for the specific authorization group assigned to that object</P><P>If an object belongs to an authorization group that the user cannot access, the system will deny access even if the user has other relevant permissions.</P><H3 id="toc-hId-1663943304">Common Use Cases</H3><P><STRONG>Table Protection</STRONG>: Database tables containing sensitive information (like payroll data, financial records, or personal information) are assigned to specific authorization groups. Only users with appropriate clearance can access these tables through transactions like SE16 or development tools.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_0-1748430501461.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266907i71DD81780AFB3B52/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_0-1748430501461.png" alt="Slowly_Going_0-1748430501461.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_3-1748430775401.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266913i77765117DEF110E9/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_3-1748430775401.png" alt="Slowly_Going_3-1748430775401.png" /></span></P><P><STRONG>Program Security</STRONG>: Custom programs or reports can be assigned authorization groups to ensure only designated users can execute them, particularly useful for programs that manipulate critical business data.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_1-1748430614824.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266909i7789C9FEE7021523/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_1-1748430614824.png" alt="Slowly_Going_1-1748430614824.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_2-1748430675749.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266912i6FCC8235801CF0D7/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_2-1748430675749.png" alt="Slowly_Going_2-1748430675749.png" /></span></P><H3 id="toc-hId-1467429799">Configuration and Assignment</H3><P>Authorization groups are typically defined in customization tables and then assigned to objects through various methods depending on the object type. Users are granted access to authorization groups through their roles, which contain authorization objects (like S_TABU_DIS for table access) that specify which authorization groups they can access.</P><H3 id="toc-hId-1270916294">Demo</H3><P>Create new authorization group in the SM30, view name V_TPGP.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_4-1748431013328.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266916i599A38B78680A785/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_4-1748431013328.png" alt="Slowly_Going_4-1748431013328.png" /></span></P><P>Add this group to the program (see explanation above). Now if the user without appropriate clearance try to execute the report the error message will be appears.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_9-1748431747109.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266930iDE1DA885B2D49BED/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_9-1748431747109.png" alt="Slowly_Going_9-1748431747109.png" /></span></P><P>Add the group to the related field of the object.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_6-1748431412532.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266924i043BCE6CCD1F13D1/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_6-1748431412532.png" alt="Slowly_Going_6-1748431412532.png" /></span></P><P>The role should be assigned to the user.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_7-1748431482438.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266927i47B5EB5D550ECAF2/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_7-1748431482438.png" alt="Slowly_Going_7-1748431482438.png" /></span></P><P>Now the program can be executed</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Slowly_Going_8-1748431648733.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/266929i8E431491931D1D3B/image-size/medium?v=v2&px=400" role="button" title="Slowly_Going_8-1748431648733.png" alt="Slowly_Going_8-1748431648733.png" /></span></P><P> </P>2025-05-28T13:34:19.131000+02:00https://community.sap.com/t5/technology-blog-posts-by-sap/minimizing-sap-license-costs-by-optimizing-sap-authorizations-with-moon/ba-p/14235438Minimizing SAP License Costs by optimizing SAP Authorizations with MOON Services2025-10-06T09:34:30.495000+02:00andreasoesterlehttps://community.sap.com/t5/user/viewprofilepage/user-id/473373<P><STRONG>“MOON – <U>M</U>inimize <U>O</U>verhead, <U>O</U>ptimize <U>N</U>eed”</STRONG></P><P>Efficient authorization management is crucial within the SAP environment for optimizing license costs. MOON Services aim to reduce authorizations to their necessary minimum, ensuring that what SAP users utilize is licensed, while optimizing unused authorizations. Let's explore the three essential MOON services: "MOON License Simulation", "MOON License Quickfix" and "MOON License Service powered by AIRC", each designed to enhance license management.</P><P><STRONG>MOON License Simulation</STRONG></P><P>MOON License Simulation focuses on precisely defining user license types in the SAP S/4HANA system through tailored authorizations to their essential minimum. This service enables companies to manage licenses efficiently and significantly reduce unnecessary costs.</P><P>Through simulation, customers can identify potential license cost optimizations when engaging in an authorization redesign with SAP Consulting. The service includes downloading usage data and calculating license costs for a new S/4HANA authorization concept against the requirements of the current STAR Service framework. Customers gain insight into possible license cost optimizations that can be achieved after an authorization redesign.</P><P><STRONG><BR />MOON License Quickfix</STRONG></P><P>The MOON License Quickfix service offers rapid modifications to existing authorization structures, ensuring efficiency in license categorization. By analyzing current authorizations and making immediate role adjustments, companies can implement instant cost-saving measures.</P><P>This service focuses on reducing effort by minimizing authorization values and adapting authorization objects. By achieving quick wins in license type optimization, companies can significantly save costs while maintaining operational efficiency.</P><P><STRONG><BR />MOON License Service powered by AIRC</STRONG></P><P>MOON License Service powered by <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/optimizing-your-sap-s-4hana-landscape-with-a-best-practice-role-concept/ba-p/13809622#comment-on-this" target="_self">AIRC</A> (<STRONG><U>A</U></STRONG>utomated <STRONG><U>I</U></STRONG>mplementation of <STRONG><U>R</U></STRONG>ole <STRONG><U>C</U></STRONG>oncept) elevates license cost minimization to a new level, employing advanced automation and SAP Best Practices to refine authorizations. This service is designed to decrease effort and duration in managing roles and authorizations, enabling seamless cost management.</P><P>Driven by SAP AI Core automation, MOON AIRC precisely tailors authorizations to the necessary minimum, achieving substantial cost reductions and enhanced security. The service includes scoping, functional and organizational role definitions, and strategic role assignments—all aimed at minimizing license costs. Synchronization capabilities from SAP Signavio ensure a coherent approach to authorization management. In addition to optimizing license costs, this service delivers a high-quality, secure SAP Best Practice authorization concept.</P><P><STRONG><BR />Conclusion</STRONG></P><P>The MOON services are at the forefront of license cost optimization, enabling companies to efficiently reduce authorizations to their necessary minimum. By focusing on precise authorization adjustments and employing automation, MOON Services empower organizations to achieve operational efficiency and substantial cost savings. Harness the potential of MOON Services and navigate your path to optimized license management and reduced overhead.</P><P><STRONG>For more information about the offering send a mail to: </STRONG><STRONG><A href="mailto:security.consulting@sap.com" target="_blank" rel="noopener nofollow noreferrer">security.consulting@sap.com</A></STRONG></P>2025-10-06T09:34:30.495000+02:00https://community.sap.com/t5/technology-blog-posts-by-members/how-to-check-fiori-apps-related-authorization-object-mass/ba-p/14233292How to Check Fiori Apps Related Authorization Object Mass2025-10-07T10:51:37.890000+02:00MehmetSaidDemirhttps://community.sap.com/t5/user/viewprofilepage/user-id/1459016<H2 id="toc-hId-1761846588"><STRONG>Introduction</STRONG></H2><P>In SAP implementations, understanding the underlying authorization objects associated with each app is crucial for secure and compliant access management. However, manually identifying these objects for multiple apps can be time-consuming and error-prone. This article presents a structured approach to mass-check authorization objects related to Fiori apps using backend SAP tables and metadata.<BR /><BR /></P><H2 id="toc-hId-1565333083"><STRONG>Objective</STRONG></H2><P>To extract and analyze the authorization objects linked to multiple Fiori apps by leveraging the relationship between Fiori App IDs, OData services, and SAP authorization tables.</P><H2 id="toc-hId-1368819578"><STRONG><BR /><BR />Step-by-Step Process</STRONG></H2><H3 id="toc-hId-1301388792"><STRONG>1. Extract Fiori App ID – OData Service Mapping</STRONG></H3><P>Start by retrieving the mapping between Fiori App IDs and their corresponding OData services. This can be done using the SAP Fiori Apps Library or via internal documentation if available.</P><P>Each Fiori app typically has one or more OData services that it consumes. This mapping is essential for tracing the backend logic and authorization.</P><H3 id="toc-hId-1104875287"><STRONG>2. Match OData Services with Authorization Hashes (Table: <CODE>USOBHASH</CODE>)</STRONG></H3><P>Once you have the list of OData services, use the <CODE>USOBHASH</CODE> table to find the corresponding hash values. These hash values represent the technical linkage between services and their authorization metadata.</P><UL><LI><STRONG>Key Fields</STRONG>:<UL><LI><CODE>PGMID</CODE> (usually 'R3TR')</LI><LI><CODE>OBJECT</CODE> (e.g., 'IWSG' for OData services)</LI><LI><CODE>OBJ_NAME</CODE> (OData service name)</LI><LI><CODE>HASH</CODE> (authorization hash)</LI></UL></LI></UL><P>This step helps you identify which hash is associated with each OData service.</P><H3 id="toc-hId-908361782"><STRONG>3. Retrieve Authorization Objects via Hash (Table: <CODE>USOBTC</CODE>)</STRONG></H3><P>Using the hash values obtained from <CODE>USOBHASH</CODE>, query the <CODE>USOBTC</CODE> table to extract the actual authorization objects.</P><UL><LI><STRONG>Key Fields</STRONG>:<UL><LI><CODE>HASH</CODE></LI><LI><CODE>AUTH_OBJ</CODE> (e.g., <CODE>S_SERVICE</CODE>, <CODE>S_RFC</CODE>, etc.)</LI></UL></LI></UL><P>This table provides the list of authorization objects that are checked when the corresponding OData service is executed.</P><H2 id="toc-hId-582765558"><STRONG>Example Workflow</STRONG></H2><P>Let’s say you want to analyze the authorization objects for a set of Fiori apps used in the Procurement module:</P><OL><LI>Extract App IDs and OData services from the Fiori Apps Library.</LI><LI>Query <CODE>USOBHASH</CODE> to get the hash values for each OData service.</LI><LI>Use those hash values to query <CODE>USOBTC</CODE> and retrieve the related authorization objects.</LI><LI>Compile the results into a report (e.g., Excel or JSON) for further analysis or role design.</LI></OL><P><FONT size="4"><STRONG>Note: Some Fiori applications do not have an odata service. Therefore, those with a transaction code are already found in USOBTC as transaction codes. For others, e.g., webdynpro applications, I couldn't find a quick method. I added the catalog to the role, got the hash code, and manually placed it in an Excel file. Only 5 out of 300 Fiori applications worked this way.</STRONG></FONT></P><H2 id="toc-hId-386252053"><STRONG>Conclusion</STRONG></H2><P>By leveraging the relationship between Fiori App IDs, OData services, and SAP authorization tables (<CODE>USOBHASH</CODE>, <CODE>USOBTC</CODE>), consultants and security teams can efficiently perform mass analysis of authorization objects. This method supports better role design, compliance audits, and secure Fiori app deployments.</P><P> </P>2025-10-07T10:51:37.890000+02:00https://community.sap.com/t5/financial-management-blog-posts-by-members/new-access-risks-new-sod-matrix-how-s-4hana-changes-the-approach-to/ba-p/14298296New access risks, new SoD matrix: How S/4HANA changes the approach to Segregation of Duties (SoD)2025-12-30T05:39:35.532000+01:00FilipGRChttps://community.sap.com/t5/user/viewprofilepage/user-id/11783<OL><LI>Introduction – can the SoD matrix from SAP ECC be simply copy&paste to S/4HANA?</LI></OL><P>Migrating authorizations from SAP ECC to SAP S/4HANA is not just a technical upgrade — it’s a moment when many organizations, often for the first time in recent years, take a holistic look at their access design. S/4HANA introduces a wide range of new business functionalities, which significantly impact the existing Segregation of Duties (SoD) matrix originally built for ECC.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FilipGRC_0-1766950606835.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356335i6ADCE21E22EEF98D/image-size/medium?v=v2&px=400" role="button" title="FilipGRC_0-1766950606835.png" alt="FilipGRC_0-1766950606835.png" /></span></P><P><STRONG>Business layer</STRONG></P><P>The way business processes operate in S/4HANA has changed significantly - new flexible approval workflows have been introduced (for purchase requisitions, purchase orders, and invoices), along with the centralized Business Partner model, extended budget control mechanisms, automated accounting based on the Universal Journal, and new cloud and cross-module integrations (FI–MM–CO–SD). Users now have broader decision-making and configuration capabilities directly within Fiori applications: such as managing approval rules, reassigning cost center (MPK) ownership, or creating ad-hoc reports using Embedded Analytics. All of this means that the <EM>business layer</EM> of the SoD matrix must be updated: some SAP ECC risks have lost relevance, while new S/4HANA ones have emerged, resulting from greater process flexibility.</P><P><STRONG>Technical layer</STRONG></P><P>There is also a <EM>technical</EM> layer of change, it focus on how SoD matrix business activities are technically defined (transactions, Fiori applications, OData services and authorization objects) in the SoD matrix. The way users interact with the system has evolved: instead of executing transactions in SAP GUI, they now operate through the Fiori Launchpad (tiles/intents), while access to data and operations is handled via OData services (controlled by objects such as S_SERVICE), Spaces/Pages, Launchpad catalogs, and classical backend authorization objects. Access that once relied on a single T-code is now the result of multiple layers working together (frontend: Fiori & OData and backend: tcodes and authorization objects). This means that an SoD risk can now materialize not just at the transaction level but also within an app or service — and therefore must be defined that way in the segregation of duties matrix. This new authorization architecture contribute to the fact that the traditional approach to SAP ECC access control is no longer sufficient.</P><P><STRONG>The SoD matrix</STRONG></P><P>At the center of every access redesign lies something many organizations tend to overlook — the Segregation of Duties (SoD) matrix. It defines access risks and identifies potential threats arising from excessive or conflicting authorizations. It establishes the level of risk for typical business scenarios in which users operate within the S/4HANA system. For example, the matrix describes risks that occur when a user can change a supplier’s bank account and subsequently post a fictitious liability in an invoice document, or when they can receive goods into inventory that never physically arrived — thereby triggering a payment process for non-existent items. In other words, the SoD matrix defines which activities in the system can be performed together and which must remain separated to protect business processes and data from errors or fraud.</P><P>In short, the SoD matrix is a structured set of risks and sensitive activities that should be analyzed, monitored, and incorporated into access management processes to ensure the security and integrity of both business operations and the underlying data.</P><P>It’s also a key focus area for financial auditors, since one of the fundamental control mechanisms for preventing misuse is a properly designed authorization model. Yet many organizations make the same common mistake: they build roles based on the principle of “who needs what,” only later asking whether that person <EM>should</EM> have such access in the first place.</P><P><STRONG>GRC Hack #1: Don’t design or build roles without SoD matrix </STRONG></P><P>Before you start designing authorizations, perform a business process risk analysis and use it to create your SoD matrix as this will serve as the foundation for all role design activities.<BR />Anyone doing it the other way around makes a conceptual error that will eventually surface during an audit. Including a dedicated authorization workstream and engaging experts who understand business process risks is a crucial, yet often overlooked as a part of any S/4HANA implementation project. Remember, the SoD matrix is a conceptual deliverable is a single document that consolidates all key principles related to security, segregation of duties, and access management.</P><P>With the transition to S/4HANA, this map must be redrawn from scratch: names, logic, and process execution methods have all changed and with them, the sources of access risk.</P><P><STRONG>How to Redesign the SoD Matrix in S/4HANA</STRONG></P><P>Changes to the SoD matrix in S/4HANA occur across two dimensions: the business dimension and the technical dimension. The technical dimension is usually more challenging as it requires significantly more work, and without adapting it properly, SoD analysis and reports will produce completely inaccurate results. Let’s start with the technical perspective.</P><P><STRONG>a)Technical Dimension</STRONG></P><P>In the SAP ECC system, authorizations were primarily based on transaction codes (T-codes) and corresponding authorization objects. SoD analysis therefore focused on verifying whether a user or role combined, within their authorizations, two conflicting transactions (together with the necessary authorization objects) that should not be executed by the same person in a given business process that could generate access risk for the organization. In SAP S/4HANA, this logic still applies, but the way users interact with the system has changed fundamentally. This shift has a major impact on how the SoD matrix must be defined and structured for S/4HANA.</P><P><STRONG>b)From Transactions to Fiori Applications</STRONG></P><P>Users no longer enter transaction codes in SAP GUI. Instead, they work within the Fiori Launchpad, where they access applications assigned to their roles. Each application is linked to an Intent, as a combination of a semantic object and an action, which in turn calls a specific OData service in the backend. Data is exchanged via HTTP in JSON (Odata v2, XML, V4) format and is subject to additional authorization checks. This means that user access now depends on the interaction of several components:</P><UL><LI>the Fiori application,</LI><LI>an active OData service,</LI><LI>the assigned Launchpad catalog and Space/Page (despite missing page app can be available), and</LI><LI>the backend authorization objects.</LI></UL><P>Missing any of these elements results in an access error, typically <EM>a 403 Forbidden or No data found message</EM>. From an SoD perspective, this means that access risks can now arise not only at the transaction level, but also at the level of Fiori applications and OData services and therefore must be represented accordingly in the SoD matrix.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FilipGRC_1-1766950606872.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356334i868968E4F3583BE3/image-size/medium?v=v2&px=400" role="button" title="FilipGRC_1-1766950606872.png" alt="FilipGRC_1-1766950606872.png" /></span></P><P><STRONG>GRC Hack #2: Expand the Matrix to Include Fiori Applications</STRONG></P><P>If you don’t add Fiori applications to your SoD matrix, your analysis will be incomplete as reports may both miss real user access risks as well as generate false positives. It’s important to understand that Fiori applications in S/4HANA are not all the same. They fall into two main categories:</P><UL><LI>New Fiori applications (transactional, analytical, or factsheet apps) – completely rewritten using SAPUI5 technology, communicating with the backend via OData services.<BR />These are the ones that most often introduce new functions and risks, e.g.: Manage Purchase Orders (F0842A), Post General Journal Entries (F0718), or Manage Supplier Invoices (F0859).</LI><LI>Classic Fiori applications (GUI transactions in Fiori) – a modern UI wrapper for traditional SAP GUI transactions. In practice, these launch traditional T-codes (e.g. ME21N, FB60, VA01) directly from a Fiori tile. They still rely on classic authorization objects, but are accessed through the Fiori Launchpad.</LI></UL><P>Each application requires its own technical mapping sometimes identifying the relevant OData service and S_SERVICE authorization object and sometimes mapping it back to a traditional GUI transaction. In both cases, the same backend authorization objects from SAP ECC still apply, as they ultimately determine whether the user can perform a given operation in backend system.</P><P>Every Fiori app in S/4HANA is linked to an intent, a combination of two elements:</P><UL><LI>Semantic Object – describes what the action relates to (e.g. PurchaseOrder, SupplierInvoice, SalesOrder).</LI><LI>Action – describes what the user does (e.g. manage, create, display).</LI></UL><P>The full list of Fiori applications, including their corresponding OData services, backend objects, and system versions, can be found in the SAP Fiori Apps Reference Library – an essential source for anyone updating their SoD matrix for S/4HANA. <A href="https://fioriappslibrary.hana.ondemand.com/" target="_blank" rel="noopener nofollow noreferrer">https://fioriappslibrary.hana.ondemand.com/</A></P><P>This library contains hundreds in practice, thousands Fiori apps for S/4HANA.</P><UL><LI>Many standard SoD matrices provided by SAP or vendors include only about 200 Fiori applications, which is just a fraction of the real scope.</LI><LI>Conclusion: every Fiori app can represent a potential SoD risk so verifying and expanding the matrix is essential.</LI></UL><P><STRONG>c) Fiori applications and OData services</STRONG></P><P>In the S/4HANA model, access to business data and processes occurs on the frontend via dedicated OData services (Open Data Protocol) the integration layer through which Fiori applications communicate with the SAP backend, retrieving and writing data in real time. An OData service definition is registered in the S/4HANA system on the Frontend Gateway and includes, for example:</P><UL><LI>the technical service name (e.g. MM_PUR_PO_MAINT_V2_SRV),</LI><LI>the URL path (e.g. /sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV/),</LI><LI>mapping to a backend ABAP component,</LI><LI>authorization control via the S_SERVICE object.</LI></UL><P>Example mappings:</P><UL><LI>Manage Purchase Orders (V2) (F0842A) MM_PUR_PO_MAINT_V2_SRV – Purchasing (MM)</LI><LI>Create Supplier Invoice (F0859) MM_SUPPLIER_INVOICE_MANAGE – Accounts Payable</LI><LI>Post General Journal Entries (F0718) FAC_FINANCIALS_POSTING_SRV – General Ledger (FI)</LI><LI>Manage Bank Statements (F1564) FAR_MANAGE_BS_SRV – Banking (FI)</LI><LI>Manage Sales Orders (F1873) SD_F1873_SO_WL_SRV – Sales Orders (SD)</LI></UL><P>Each of these OData services must be activated in transaction /IWFND/MAINT_SERVICE and granted to users via S_SERVICE authorization before the Fiori app can read or write data to the backend. This is a major shift, because OData access is not tied to T-codes. It requires dedicated S_SERVICE authorization, and such access may not appear in classical role-based analyses based solely on transaction codes. Therefore, the SoD matrix must explicitly include OData services, Fiori applications, and related backend objects.</P><P><STRONG>GRC Hack #3: Include OData and Fiori in the SoD matrix</STRONG></P><P>A user might have access to the classic GUI transaction MIRO (invoice posting) with the required authorization objects, but lack access to the Fiori app “Create Incoming Invoice”, which uses the MM_SUPPLIER_INVOICE_MANAGE service to post invoices in the backend via Fiori. In a traditional SoD analysis, this would be reported as a potential risk, because the GRC system detects authorization for invoice posting. However, in organizations that operate exclusively through the Fiori interface and no longer use SAP GUI, the user would not be able to perform the transaction via browser access, even though the authorizations technically exist. This is a classic false positive, where a GRC system reports a risk that is not executable in practice. Such cases illustrate why SoD analysis must combine authorization logic with an understanding of how users actually work within the modern Fiori interface. Otherwise, SoD reports can become overloaded with irrelevant alerts leading to business and risks owners frustration. </P><P><STRONG>GRC Hack #4: Don’t forget about OData service</STRONG></P><P>OData services form a new access layer for business processes their authorization operates independently from classic transaction-level checks in the backend. If you fail to include them in your SoD matrix, a user may have real operational access to perform actions that your GRC system will never flag as risky. In S/4HANA, a typical role can include:</P><UL><LI>classic SAP GUI transactions,</LI><LI>Fiori applications,</LI><LI>OData services, and authorization objects.</LI></UL><P>As a result, the SoD matrix must now evaluate whether a role combines functions that should remain segregated in the new model. It is equally important to include custom transactions and customer-specific extensions as the standard out of the box vendor SAP matrix does not cover them.</P><P><STRONG>GRC Hack #6: Technical definition must include custom extensions<BR /></STRONG>Don’t rely on the standard transaction list. Add to your matrix:</P><UL><LI>all custom Fiori applications used in your organization,</LI><LI>the OData services those applications call,</LI><LI>and every custom app, T-code, or service built for your specific system.</LI></UL><P>Only then will your SoD matrix will better reflect the real S/4HANA environment.</P><P><STRONG>Business Dimension</STRONG></P><P>If your organization has implemented custom Fiori apps, OData services, or modified backend logic, they must be manually added to the SoD matrix definition. The out-of-the-box matrix won’t be good enough and in these areas, you’ll have blind spots. With the transition to SAP S/4HANA, not only the <EM>technical structure</EM> of roles and authorizations changes, but also the very <EM>way business processes are executed in the system</EM>. This means the SoD matrix must now include new risks that simply did not exist in the old ECC world. One of the best examples involves approval workflows for purchase requisitions, purchase orders, and supplier invoices processes that, in S/4HANA, are configured through new Fiori applications such as <EM>Manage Workflow for Purchase Requisition</EM> and <EM>Manage Purchase Order Workflows</EM>. Each of these applications allows users to define approval paths (approvers), under what financial thresholds, and in which order. They can modify conditions that trigger the workflow or even rearrange the approval hierarchy. This is a powerful automation feature, but also a new source of risk for critical access (restricted access) and Segregation of duties (SoD) violations. If a user simultaneously has access to workflow configuration, purchase order processing, and the ability to edit cost center (MPK) or WBS master data, they could, for example:</P><UL><LI>remove a budget approval step in WF config and trigger the procurement process,</LI><LI>change the approver (e.g., assign themselves as owner) in cost center or WBS master data,</LI><LI>modify approval thresholds or limit values effectively bypassing budget control and the SoD principle.</LI></UL><P><STRONG>GRC Hack #7: Analyze new functionality for new SoD risks</STRONG></P><P>Add a new activity to your SoD matrix: “Manage Workflow Configuration” (for requisitions, purchase orders, and invoices). While these authorizations do not directly post accounting entries, they can indirectly bypass procurement access controls mechanisms. User can change the procurement design approval logic. Monitor who has access to Fiori apps like <EM>Manage Workflows for Centrally Managed Purchase Requisitions</EM> and related backend services such as SWF_FLEX_DEF_SRV, which handle the workflow logic. It’s also important to add new SoD conflicts to the matrix. A good example is when a user can modify Cost Center (MPK) or WBS element master data, assigning ownership to themselves and then approve a purchase requisition for that same object. This is a real risk in S/4HANA that did not exist in ECC, because the approval of requisitions and purchase orders was previously controlled by dedicated authorization objects and the Release strategy mechanism.</P><P>In ECC, approval control for purchase requisitions (PR) and purchase orders (PO) was handled by the classic Release Strategy model, based on authorization objects such as M_EINK_FRG.<BR />Fields of this object included FRGGR (release group) and FRGCO (release code), which determined who could approve which purchasing documents and at what level. Authorizations were tightly linked to document type, purchasing group, and release level the entire process was static and fully embedded within the transactional system.</P><P>As a result, SoD control was relatively simple: it was enough to ensure that a user could not both create and approve a requisition or order under the same release group. Everything was based on authorization objects and could be easily represented in the SoD matrix or analyzed by GRC tools.</P><P>In S/4HANA, this model has been simplified, but new business risks have emerged.<BR />Approval processes are now driven not by static authorization objects but by flexible workflows, MPK/WBS ownership assignments, and configuration rules that can be changed from within Fiori apps.</P><P><STRONG>New business SoD risk example in S/4HANA</STRONG></P><P>A user has authorization to change Cost Center (MPK) or WBS master data (e.g., assign a cost owner) <EM>and</EM> the ability to approve a purchase requisition for that same object. As a result, the same person can give themselves control over a cost center or project and then approve related purchases, violating the Segregation of Duties principle, bypassing budget control, and creating the potential for fraud or misstatement.</P><P>New SoD risks aspects in S/4HANA</P><UL><LI>Business risks – new processes and functions (e.g., approval workflows, business partners, flexible budgets) reshape SoD exposure.</LI><LI>Configuration risks – users can modify workflow parameters, approval rules, thresholds, or budget role assignments.</LI><LI>Automation risks – result from background workflows or schedulers performing actions without human confirmation.</LI><LI>Integration risks – arise from API and OData-based integrations that link processes across modules (e.g., FI ↔ MM ↔ CO).</LI></UL><P>In the classic ECC environment, there was no concept of a user “programming” approval logic that could violate internal control policies. In S/4HANA, thanks to Fiori this is now a real, browser-based possibility. Therefore, the modern SoD matrix must include not only traditional actions such as Post, Change, and Approve, but also Manage Workflow, Configure Approval Process, and Change Budget Control Settings because today, risks often occur where the process is configured, not just where it is executed.</P><P><STRONG>GRC Hack #8: New risks are where you configure the process not just where you execute it</STRONG></P><P>In the S/4HANA environment, the line between a business user and a process configurator is becoming increasingly blurred. A person with authorization to manage workflows can, in practice, change how documents are approved — even if they formally lack posting rights. Including such roles in the SoD matrix is now a mandatory step for any organization that wants to maintain control over its procurement and approval processes in S/4HANA.</P><TABLE width="623"><TBODY><TR><TD width="75"><P>Business activity</P></TD><TD width="57"><P>T-Code</P></TD><TD width="66"><P>Fiori</P></TD><TD width="95"><P>Intent</P></TD><TD width="132"><P>OData</P></TD><TD width="95"><P>Authorization object</P></TD><TD width="104"><P>Operation type</P></TD></TR><TR><TD width="75"><P>Create Purchase Order</P></TD><TD width="57"><P>ME21N</P></TD><TD width="66"><P>F0842A</P></TD><TD width="95"><P>PurchaseOrder-manage</P></TD><TD width="132"><P>MM_PUR_PO_MAINT_V2_SRV</P></TD><TD width="95"><P>M_BEST_EKG, M_BEST_BSA, M_BEST_WRK, M_BEST_EKO, S_SERVICE</P></TD><TD width="104"><P>manage</P></TD></TR><TR><TD width="75"><P>Invoice posting</P></TD><TD width="57"><P>MIRO</P></TD><TD width="66"><P>F0859</P></TD><TD width="95"><P>SupplierInvoice-create</P></TD><TD width="132"><P>MM_SUPPLIER_INVOICE_MANAGE</P></TD><TD width="95"><P>F_BKPF_BUK, M_RECH_WRK, S_SERVICE</P></TD><TD width="104"><P>Create, change process</P></TD></TR><TR><TD width="75"><P>Sales order</P></TD><TD width="57"><P>VA01</P></TD><TD width="66"><P>F1873</P></TD><TD width="95"><P>SalesOrder-manage</P></TD><TD width="132"><P>SD_F1873_SO_WL_SRV</P></TD><TD width="95"><P>V_VBAK_AAT, V_VBAK_VKO, S_SERVICE</P></TD><TD width="104"><P>Manage</P></TD></TR></TBODY></TABLE><P><STRONG> </STRONG><STRONG>Tools Supporting the SoD Matrix and Access Verification Process</STRONG></P><P>Building an SoD matrix is only half of the success. The other half is ensuring that its content is taking into account when access management process are executed. Another aspect is that it is regularly updated, and monitored as part of daily user to role provisioning and access review processes. This is where GRC-class tools come in — not only analyzing the SoD matrix and conflicts, but also storing knowledge about risks, linking them with business processes, and supporting audit readiness and compliance reporting.</P><P><STRONG>SAP GRC Access Control 12.0 and the upcoming SAP GRC 2026</STRONG></P><P>This is SAP’s flagship access governance solution and in 2026 it will be succeeded by SAP GRC 2026. It enables centralized role management, SoD conflict analysis, automated risk prevention, and end-to-end control over access request and removal workflows. With its Risk Library repository, GRC Access Control allows you to link business processes with transactions and authorization objects, including Fiori applications and OData services in newer releases. It’s an <EM>enterprise-grade solution</EM>, ideal for large organizations with complex system landscapes, multiple SAP environments, and strong audit requirements.</P><P><STRONG>GRC Hack #8: </STRONG><EM>If your organization plans to upgrade, ensure you migrate your risk repository and all custom extensions to the new version.</EM></P><P><STRONG>SAP IAG (Identity Access Governance)</STRONG></P><P>SAP IAG is the cloud evolution of GRC that delivers the same SoD analysis capabilities, enhanced with identity management and cloud integration (e.g. SuccessFactors, Ariba, Concur). It supports real-time access analysis, automatic role recommendations (auto-proposals), and browser-based Access Request Workflow handling. In hybrid S/4HANA migration projects, IAG is increasingly becoming the central platform for access risk management.</P><P><STRONG>smartGRC – a lightweight alternative and practical complement</STRONG></P><P>smartGRC was designed to meet the need for simpler and more flexible access risk management. It provides a unified place to maintain the SoD matrix, analyze conflicts, manage periodic access reviews, and integrate directly with business processes. Unlike classical GRC, smartGRC can operate as both a complement to SAP tools or a standalone audit platform, particularly valuable for mid-sized organizations and multi- SAP and non- SAP centric system environments. The tool allows easy extension of the SoD matrix with custom Fiori apps, OData services, and non-SAP business applications — extracting authorization data and storing it in a universal XML format, making it possible to audit systems outside the SAP ecosystem. It is equipped with updated segregation of duties matrix risks functions definitions for the newest S/4 Hana system release. smartGRC supports import/export of the SoD matrix (CSV/XML) for non-SAP system, enabling easy synchronization with ITSM or JIRA supporting system.</P><P><STRONG>Why these tools matter</STRONG></P><P>While SAP GRC and IAG provide enterprise-grade control, smartGRC’s advantage lies in speed, adaptability, and cross-system risk analysis making it ideal where agility matters more than standardization. Tools enable organizations to:</P><UL><LI>store the SoD matrix in a centralized, structured repository linking processes, transactions, apps, and services,</LI><LI>perform preventive SoD risk analysis during role provisioning (“what-if” simulation before access approval),</LI><LI>conduct periodic or ad-hoc SoD access reviews in production systems,</LI><LI>integrate SoD analysis with change and approval workflows,</LI><LI>generate audit-ready compliance reports.</LI></UL><P>From my project experience, the standard SAP SoD matrix for S/4 Hana is only a starting point as it usually includes around 200 Fiori apps, while best in class, process-driven Sod matrices contain up to twice as many. That’s why it’s essential to extend and update your matrix regularly with custom and standard Fiori apps, OData services, and project-specific enhancements.</P><P><STRONG>GRC Hack #9: Treat SoD matrix like a living system</STRONG></P><P>An SoD matrix that isn’t updated after every system change quickly loses its control value. Establish a cyclical review process, ideally aligned with your development and change management process cycle, to ensure that every new app, workflow, or extension is captured, analyzed and included if needed in SoD matrix</P><P><STRONG>Summary</STRONG></P><P>In the S/4HANA world, a current and well-defined SoD matrix is the foundation of security, compliance, and access management process efficiency. It’s not a static document, rather it’s a dynamic control mechanism that must evolve together with the system and the organization.</P><P>Recommendations for Authorization, GRC, and Security Teams</P><UL><LI>Refresh your SoD matrix before migrating to S/4HANA, don’t simply copy the old ECC version; many transactions are obsolete, and key functions have moved to Fiori and OData.</LI><LI>Cover all authorization layers as Fiori apps, OData services, roles, authorization objects, and master data (e.g. MPK/WBS ownership).</LI><LI>Retain classic authorization objects since objects like M_RECH_WRK still play a vital control role and must remain part of the SoD model.</LI><LI>Integrate your GRC/IAG/smartGRC tool into the access request process as automated SoD analysis at request time prevents risk before it happens.</LI><LI>Implement a recurring verification cycle: Matrix → Roles → Users → Access → Audit Report the best practice and audit requirement.</LI><LI>Document every update and every role, app, or workflow change must be reflected in the matrix. The standard SAP list is now just a small fraction of your real risk landscape in S/4HANA.</LI></UL><P>Closing Thought</P><P>Your SoD matrix can become your strongest asset in the security and authorization area migration to S/4HANA, if it’s designed well, your business processes will run smoothly, risks will remain under control, and auditors will stay calm. Properly managed authorizations stop being a source of problems, they become a protective mechanism that safeguards both data and business integrity.</P><P>Filip Nowak, Partner</P><P>GRC Advisory</P>2025-12-30T05:39:35.532000+01:00