https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/NW-ABAP-User-Administration-and-Authorization-blog-posts.xml SAP Community - NW ABAP User Administration and Authorization 2024-05-20T11:11:21.121201+00:00 python-feedgen NW ABAP User Administration and Authorization blog posts in SAP Community https://community.sap.com/t5/enterprise-resource-planning-blogs-by-members/microsoft-sentinel-and-logic-apps-can-be-the-guardians-of-sap-security/ba-p/13527449 Microsoft Sentinel and Logic Apps can be the 'Guardians of SAP Security Operations (SecOps)'? 2022-03-14T21:05:04+01:00 former_member1232 https://community.sap.com/t5/user/viewprofilepage/user-id/1232 <H1 class="c-heading" style="text-align: center" id="toc-hId-830345058"><A href="https://www.microsoft.com/security/blog/2022/02/23/microsoft-security-delivers-new-multicloud-capabilities/" target="_blank" rel="nofollow noopener noreferrer">"Microsoft Security delivers new multi-cloud capabilities"</A></H1><BR /> <DIV><BR /> <BR /> <SPAN style="font-size: 1rem">Hello Community Members,</SPAN><BR /> <BR /> <SPAN style="font-size: 1rem">I'm </SPAN>back with some interesting PoV to demonstrate the SecOps &amp; SAP Security elements on 'SAP on Azure (or AWS, GCP, or on-prem systems)', leveraging Cloud-based SIEM and SOAR solutions.<BR /> <BR /> </DIV><BR /> As we know SAP is the custodian for immense amounts of sensitive data in many of the most prominent organizations in the world. Since these applications are business-critical, and SAP security breach can be disastrous. However, protecting SAP applications is uniquely challenging always. We constantly require a prominent security squad and resources, characterizing with <EM>The Guardians of the galaxy</EM> to protect from any internal or external violations. SecOps on hyperscalers is a very comprehensive topic, so I will begin with a clear lodestar. In today’s post, I'd like to exhibit how the Azure services like Microsoft Sentinel, Logic Apps, SAP Connector can be configured altogether to protect all SAP users...An incredibly straightforward use case for advanced SAP users.<BR /> <BR /> Sounds fascinating! Let's hop into the technical elements!<BR /> <P style="overflow: hidden;margin-bottom: 0px;text-align: right"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/03/sentinal-docker-final-with-txt.jpg" /><EM>Source: Bing images</EM></P><BR /> It has been notoriously challenging to detect these threats to SAP applications, while the consequences of an undetected threat can be profoundly serious, especially breaches from inside or outside. This hardship in detection stems in part from the complex internal nature of SAP systems, as well as the fact that these systems usually have lots of cross-connections between distinct third-party applications and interfaces, specifically banking and finance segments.<BR /> <BR /> Hence Microsoft Azure provides the new solution to tackle these SAP security challenges with the new <A href="https://docs.microsoft.com/en-us/azure/sentinel/sap-deploy-solution" target="_blank" rel="noopener nofollow noreferrer">SAP threat monitoring solution</A>&nbsp;for&nbsp;<A href="https://azure.microsoft.com/en-us/services/azure-sentinel/" target="_blank" rel="noopener nofollow noreferrer">Azure Sentinel</A>. (First cloud-native SIEM from a major cloud provider.)<BR /> <H2 id="toc-hId-391821622" id="toc-hId-762914272"><SPAN data-contrast="none">Continuous Threat Monitoring for SAP in Microsoft Sentinel </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H2><BR /> Azure provides the new solution to tackle these SAP security challenges with the new <A class="" href="https://docs.microsoft.com/en-us/azure/sentinel/sap-deploy-solution" target="_blank" rel="noopener nofollow noreferrer">SAP threat monitoring solution</A>&nbsp;for&nbsp;<A class="" href="https://azure.microsoft.com/en-us/services/azure-sentinel/" target="_blank" rel="noopener nofollow noreferrer">Azure Sentinel</A>. Please note, is in public preview today, this solution provides continuous threat detection and analytics for SAP systems deployed on Azure, in other clouds, or on-premises. Now, SecOps teams can use Azure Sentinel’s visibility, threat detection, and investigation tools to protect their SAP systems and cross-correlate across their entire organization.<BR /> <BR /> <STRONG>Prerequisite</STRONG> - I presume you completed the deployment of your SAP system and Microsoft Sentinel connection by referring- <A href="https://docs.microsoft.com/en-us/azure/sentinel/sap-deploy-solution#prerequisites" target="_blank" rel="nofollow noopener noreferrer">Deploy SAP continuous threat monitoring | Microsoft Docs</A> (Microsoft documentation)<BR /> <BR /> <SPAN data-contrast="none"><SPAN style="text-decoration: underline">The Continuous Threat Monitoring for SAP in Microsoft Sentinel</SPAN> enables you to monitor your SAP environment and helps you with cross-correlating various logs from numerous systems with your SAP logs. With the <EM>Microsoft Sentinel SAP connector</EM>, you can monitor your SAP systems for sophisticated threats within the business and application layers. The connector uses a docker container, which pulls the data from SAP and then sends it through to Microsoft Sentinel. </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">Don't worry, you will see the architecture flow outlying in this article.</SPAN><BR /> <BR /> <SPAN data-contrast="none">By deploying the data connector, we can now import the SAP logs into Sentinel, correlate the logs with other data, and analyze and hunt the logs for emerging threats. Install the SAP solution security content to gain insight into your organization's SAP environment and enhance any related security operation capabilities. </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">For a comprehensive synopsis of what is included in the Sentinel SAP solution content,<BR /> see</SPAN><A href="https://docs.microsoft.com/en-us/azure/sentinel/sap-solution-security-content" target="_blank" rel="noopener noreferrer nofollow"><SPAN data-contrast="none">&nbsp;Microsoft Sentinel SAP solution - security content reference | Microsoft Docs</SPAN></A><SPAN data-contrast="none">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">Microsoft Sentinel contains a substantial Security Orchestration and Automated Response (SOAR) capability which will help SAP applications respond to incidents rapidly with AI and automation features built in to use. </SPAN>Many SOAR integrations can be deployed as part of a&nbsp;Microsoft Sentinel solution, together with related data connectors, analytics rules, and workbooks.<BR /> For more information, see the <A href="https://docs.microsoft.com/en-us/azure/sentinel/sentinel-solutions-catalog" data-linktype="relative-path" target="_blank" rel="nofollow noopener noreferrer">Microsoft Sentinel solutions catalog</A>. <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P style=" text-align: center; "><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"><IMG class="aligncenter" title="AmitLal_0-1646931409213.png" role="button" src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/354875i98D4D1D2A91AF5DC/image-dimensions/579x280?v=v2" alt="AmitLal_0-1646931409213.png" width="711" height="344" /></SPAN></P><BR /> <BR /> <H6 style="text-align: right" id="toc-hId-1082731643">Source: Microsoft Azure documentation</H6><BR /> &nbsp;<BR /> <BR /> In this composition, we will see how you can use the SOAR capabilities of Sentinel with SAP Application, by using the Azure playbook that automatically takes on remediation actions in the SAP system directly with the Logic App connector.<BR /> <BR /> <STRONG><SPAN style="font-size: 1rem"><BR /> Let’s glimpse!</SPAN></STRONG><BR /> <H3 id="toc-hId-1082383096" id="toc-hId-498969981"><SPAN data-contrast="none">Overview &amp; Use case </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H3><BR /> <SPAN data-contrast="none">We are stirring to focus on a pragmatic use case criterion for automating SAP actions as a response to an incident in Sentinel with SAP code triggered with Logic Apps support.</SPAN><BR /> <BR /> <STRONG><SPAN data-contrast="none">Use case</SPAN></STRONG><SPAN data-contrast="none">: </SPAN>An SAP user with developer privileges could exploit those privileges to view sensitive human resources or financial data by perpetrating a function module to gain elevated access privileges which are not authorized to this SAP user. Microsoft Sentinel gives you the ability to quickly detect these threats and hazards in the SAP system without drowning in noise.<BR /> <BR /> <SPAN data-contrast="none">Obstruct the SAP dialog or RFC user(s) after a suspicious user incident is notified.</SPAN><BR /> <UL><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="11" data-aria-posinset="1" data-aria-level="1"><SPAN data-contrast="none">The SOC (SecOps) team&nbsp;is alerted of a suspicious atypical travel alert. </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="11" data-aria-posinset="2" data-aria-level="1"><SPAN data-contrast="none">After triaging the incident, the SOC team decides to block the user's access to sensitive environments. One of these sensitive environments is the SAP system to which the user can't have access anymore.&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="11" data-aria-posinset="3" data-aria-level="1"><SPAN data-contrast="none">The SOC team runs playbooks for these automatic remediations and one of the playbooks is the ‘BlockSAPUser’-playbook.&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> </UL><BR /> <SPAN data-contrast="none">The objective here is to block the SAP dialog or RFC user credential by locking the dialog or RFC user accessing SAP S/4HANA or ECC/NetWeaver system in an automated way with help of Logic Apps BAPI function triggers. </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H3 id="toc-hId--725071367" id="toc-hId-302456476"><SPAN data-contrast="none"><BR /> Getting Started&nbsp;</SPAN></H3><BR /> <SPAN data-contrast="none">For this blog post, we make use of the on-prem data gateway to leverage the SOAR capabilities from Sentinel on SAP.&nbsp; </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">This gateway makes it possible to have a secure data transfer between data sources and services in the cloud. The data gateway should be installed on a Windows system. It is feasible to use a dedicated machine or install it on the machine on which SAP is running, but you must ensure that both the VMs can intercommunication with each other over the private IPs or the same VNET. </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <UL><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="11" data-aria-posinset="4" data-aria-level="1"><SPAN data-contrast="none">For more information on the installation and prerequisites for this data gateway, please visit&nbsp;<A href="https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-gateway-install" target="_blank" rel="noopener noreferrer nofollow">Install on-premises data gateway - Azure Logic Apps | Microsoft Docs</A></SPAN></LI><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="11" data-aria-posinset="5" data-aria-level="1"><SPAN data-contrast="none">You can download the gateway via</SPAN><A href="https://www.microsoft.com/en-us/download/details.aspx?id=53127" target="_blank" rel="noopener noreferrer nofollow"><SPAN data-contrast="none">&nbsp;Download On-premises data gateway from Official Microsoft Download Center</SPAN></A><SPAN data-contrast="none">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> </UL><BR /> <SPAN data-contrast="none">When you have installed the data gateway, you will also need to install the SAP Connector for Microsoft .NET 3.0 on the identical machine as the data gateway. The SAP Connector for Microsoft .NET 3.0 will allow us to use BAPIs and remote-enabled function modules in a .NET application. You can download the SAP connector via</SPAN><A href="https://launchpad.support.sap.com/#/softwarecenter/search/sapnco" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none">&nbsp;Software Downloads - SAP ONE Support Launchpad</SPAN></A><SPAN data-contrast="none">&nbsp;</SPAN><BR /> <BR /> &nbsp;<BR /> <BR /> <SPAN class="lia-inline-image-display-wrapper lia-image-align-center"><IMG class="aligncenter" title="InstallGW.png" role="button" src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/354285i6E2EB65D623AE651/image-size/medium?v=v2&amp;px=400" alt="Make sure to use “Install assemblies to GAC” when setting up the SAP connector and afterwards restart the data gateway." width="458" height="320" /></SPAN><BR /> <BR /> <SPAN class="lia-inline-image-display-wrapper lia-image-align-center"><SPAN class="lia-inline-image-caption">Make sure to use “<EM>Install assemblies to GAC</EM>” when setting up the SAP connector and afterward restart the data gateway.&nbsp;</SPAN></SPAN><BR /> <BR /> <SPAN data-contrast="none">For our conclusive preliminary step, we will have to create the gateway cloud service to conclude the handshake between the cloud services and the on-premises data gateway on the windows host.</SPAN><BR /> <BR /> <SPAN class="lia-inline-image-display-wrapper lia-image-align-center"><IMG class="aligncenter" title="InstallGWOnAzure.png" role="button" src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/354284iC300AB44E448897E/image-dimensions/473x162?v=v2" alt="InstallGWOnAzure.png" width="589" height="202" /></SPAN><BR /> <BR /> <SPAN data-contrast="none">More information on creating the Azure gateway resource can be found on</SPAN><A href="https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-gateway-connection#create-azure-gateway-resource" target="_blank" rel="noopener noreferrer nofollow"><SPAN data-contrast="none"> Access data sources on-premises - Azure Logic Apps | Microsoft Docs</SPAN></A><SPAN data-contrast="none">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <HR /><BR /> <BR /> <H5 style=" text-align: center; "><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"><SPAN style="color: #2574a9;font-size: x-large"><STRONG>Reference Architecture for SAP System(s)<BR /> connected with Azure Cloud Services and Workflow</STRONG></SPAN></SPAN></H5><BR /> <SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"><IMG class="aligncenter" title="architecture.png" role="button" src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/354504i998613993DAED048/image-size/large?v=v2&amp;px=999" alt="The final architecture schema" /></SPAN><BR /> <OL><BR /> <LI>SAP Users/RFC User(s) connected from SAP system using SAP RFC /SOAP to Docker container running on Azure Cloud (SAP running on-prem or Azure or any other hyperscalers like AWS or GCP as depicted above in Architecture diagram.)</LI><BR /> <LI>Microsoft Sentinel triggers an atypical travel Alert/incident if any specific SAP user breaches after detecting by Microsoft Sentinel.</LI><BR /> <LI>Azure Logic Apps connected with Microsoft Sentinel and on-prem gateway (using SAP connector) triggers SAP BAPI locking function.</LI><BR /> <LI>This BAPI function triggered by Logic Apps connected to the SAP system locks the SAP user automatically. You can send email via Logic Apps to SecOps for SAP user locked alter (optional step can be added for alerts)</LI><BR /> </OL><BR /> <BR /> <HR /><BR /> <BR /> <H3 id="toc-hId--90570534"><SPAN data-contrast="none"><STRONG>Let's see this Playbook in detail&nbsp;</STRONG></SPAN></H3><BR /> <STRONG><SPAN data-contrast="none">In this use case, a suspicious developer user will be intercepted from accessing the SAP environment.</SPAN></STRONG><SPAN data-contrast="none">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">The SOC team has been notified of an ‘Atypical travel’ alert in Sentinel. After thorough investigations, they decide to block the user entity from accessing the SAP environment and use the “<EM>Run playbook</EM>” action to begin automatic remediation.&nbsp; </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN class="lia-inline-image-display-wrapper lia-image-align-inline"><IMG title="Incident.png" role="button" src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/354286iD521790F240EC7B7/image-size/large?v=v2&amp;px=999" alt="Atypical travel has been detected. Playbook will be used as an automatic remediation action." /><SPAN class="lia-inline-image-caption">Atypical travel has been detected. Playbook will be used as an automatic remediation action. </SPAN></SPAN><SPAN data-contrast="none">This playbook will use the Microsoft Sentinel incident as a trigger so that you can use it as an automatic action on an incident.&nbsp; </SPAN><SPAN data-contrast="none">In the playbook, the ‘Create stateful session’ action from the SAP connector (see:</SPAN><A href="https://docs.microsoft.com/en-us/connectors/sap/" target="_blank" rel="noopener noreferrer nofollow"><SPAN data-contrast="none">&nbsp;SAP - Connectors | Microsoft Docs)</SPAN></A><SPAN data-contrast="none">&nbsp;is used to make the connection with SAP.&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">When the connection has been made, extract the user entity from the Sentinel incident and use the ‘BAPI - Call method’ to block the user in SAP. </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">For more information visit</SPAN><A href="https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-using-sap-connector" target="_blank" rel="noopener noreferrer nofollow"><SPAN data-contrast="none">&nbsp;Connect to SAP systems - Azure Logic Apps | Microsoft Docs</SPAN></A><SPAN data-contrast="none">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN class="lia-inline-image-display-wrapper lia-image-align-center"><IMG title="LogicApp.png" role="button" src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/354288i3350E27F2DD1F993/image-size/large?v=v2&amp;px=999" alt="Logic app for blocking a user in SAP" /></SPAN><BR /> <UL><BR /> <LI><SPAN class="lia-inline-image-display-wrapper lia-image-align-center"><SPAN class="lia-inline-image-caption">Azure Logic App script available on </SPAN></SPAN><EM><EM><EM>GitHub page for Input BAPI code - <A title="Amit Lal's GitHub page for BAPI, RFC, IDOC code" href="https://github.com/amitlalg/SAP/blob/master/Samples%20of%20XML/BAPIs/BapiUserLock.xml" target="_blank" rel="noopener noreferrer nofollow">Link</A><BR /> </EM></EM></EM><BR /> <PRE class="language-python"><CODE>&lt;!-- Business object USER, method UNLOCK for Unlock user implemented by RFC BAPI_USER_UNLOCK --&gt;<BR /> &lt;UNLOCK xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2017/"&gt;<BR /> &lt;USERNAME&gt;SAPUSERNAME&lt;/USERNAME&gt;<BR /> &lt;/UNLOCK&gt;</CODE></PRE><BR /> <EM><EM>&nbsp;</EM></EM></LI><BR /> </UL><BR /> <SPAN data-contrast="none">When my SAP user<STRONG> "Amitlal"</STRONG> attempts to logon to the SAP S/4HANA system, I cannot access the system since my user got locked out:&nbsp; </SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H3 id="toc-hId--287084039"><SPAN data-contrast="none">&nbsp;</SPAN><STRONG> Final run&nbsp;</STRONG></H3><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/03/Azure-user-locking.jpg" height="329" width="719" /></P><BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H3 id="toc-hId--483597544">∑ Conclusion</H3><BR /> <SPAN data-contrast="none">Azure provides enterprise-grade cloud infrastructure &amp; Security for SAP workload on which customers and partners can rely. No matter what your service level objectives are, Azure empowers you to achieve your organization's reliability goals. <SPAN style="color: #0000ff">More complex use cases</SPAN> (e.g., with supplementary steps for authorization from SecOps/SOC manager via Microsoft Teams or Delete the SAP user account after a specific period, removing specific roles or blocking it!) are possible and we encourage you to <STRONG>try it out on your own!</STRONG></SPAN><BR /> <BR /> &nbsp;<BR /> <BR /> <SPAN style="color: #339966">Microsoft Sentinel and Logic Apps can be the 'Guardians of SAP Security Operations'?<BR /> Yes, one hundred percent!</SPAN><BR /> <BR /> Please share your views and comment. Thank you!<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px;text-align: center"><SPAN style="color: #0000ff"><STRONG><BR /> </STRONG></SPAN><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/03/sap-sec-integrated-meme2.jpg" /></P><BR /> <BR /> <H5 style="text-align: left" id="toc-hId--421945611"><SPAN style="color: #0000ff"><EM>Special Thanks to Naomi Christis -Microsoft Sentinel Expert <SPAN class="TextRun SCXW106174139 BCX8" data-contrast="none"><SPAN class="NormalTextRun SCXW106174139 BCX8">for co-authoring this </SPAN></SPAN></EM>article published on -<BR /> </SPAN>-<A href="https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-microsoft-sentinel-s-soar-capabilities-with-sap/ba-p/3251485" target="_blank" rel="nofollow noopener noreferrer">Microsoft Tech Community </A></H5><BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> <HR /><BR /> <BR /> <H6 style="text-align: left" id="toc-hId--1832064944"><SPAN style="color: #999999"><EM><STRONG>Disclaimer</STRONG>- The Microsoft Sentinel SAP solution is currently in <STRONG>PREVIEW</STRONG> include supplementary legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability. </EM><EM>I have blogged this article to share information that is intended as an unrestricted resource and personal insights. Errors or omissions are not intentional. Products and services cited in this article are not endorsements or favor. Opinions are my own and not the views of my employers (past, present, or future) or any organization that I may be affiliated with. Your comments to my posts are your views and I'm not responsible for anything shared by anyone in the article. SAP and hyperscalers Customers are responsible for making their own independent assessment of the information in this document. This article is for informational purposes only. The GitHub code is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,&nbsp;either express or implied. Thank you!</EM></SPAN></H6><BR /> <BR /> <HR /><BR /> <BR /> &nbsp; 2022-03-14T21:05:04+01:00 https://community.sap.com/t5/technology-blogs-by-sap/web-dynpro-start-authorization/ba-p/13538820 Web Dynpro start authorization 2022-04-26T15:40:55+02:00 Teuta https://community.sap.com/t5/user/viewprofilepage/user-id/12494 In this blog post I will describe the start authorization for Web Dynpro for ABAP applications and, most importantly, how it is controlled.<BR /> <BR /> Similar to the authorization object S_TCODE, which is being checked during the call of a transaction, during the call of Web Dynpro ABAP applications the authorization object S_START is being checked.<SPAN class="Apple-converted-space">&nbsp;</SPAN><BR /> <BR /> This start authorization check is delivered in an inactive state, which means that you need to actively change it in your system.<BR /> Note: <A href="https://launchpad.support.sap.com/#/notes/1413011" target="_blank" rel="noopener noreferrer">1413011 - New start authorization check for Web Dynpro ABAP - SAP ONE Support Launchpad</A><BR /> <BR /> <STRONG>How to activate the check?</STRONG><SPAN class="Apple-converted-space">&nbsp;</SPAN><BR /> <BR /> The start authorization check is controlled by a table entry in the table USOBAUTHINACTIVE. To check or activate the start authorization check, call transaction SM30 and enter the table name "USOBAUTHINACTIVE" in the field "Table/View".<SPAN class="Apple-converted-space">&nbsp; </SPAN>Choose “Maintain”:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/01/SM30.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">SM30</P><BR /> &nbsp;<BR /> <BR /> If in the column “Inactive” the checks are selected, then the checks are not active.<BR /> <BR /> To activate the start authorization check for Web Dynpro ABAP applications and Web Dynpro ABAP application configurations, remove the checkmark in the "Inactive" column for the application types R3TR WDYA and R3TR WDCA. Save your changes. The start authorization check is now active in all clients throughout the system.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/01/USOBAUTHINACTIVE.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Table USOBAUTHINACTIVE</P><BR /> &nbsp;<BR /> <BR /> <STRONG>What does this change mean for the current authorization concept?</STRONG><BR /> <BR /> When this authorization check is set to active, the system will check for the object S_START and give an authorization error if this object is not authorized. If there are any Web Dynpro ABAP Applications that are being used but are not present in the roles, they need to be added in the roles using the transaction PFCG. <SPAN class="Apple-converted-space">&nbsp;</SPAN><BR /> <BR /> Note: If the Web Dynpro ABAP applications are added into the menu of a role, the authorization object S_START is added to the authorizations tab.<SPAN class="Apple-converted-space">&nbsp;</SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/01/PFCG.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">PFCG</P><BR /> <STRONG>From S/4HANA 2021 on the Web Dynpro start authorization is active by default.</STRONG><BR /> <BR /> In SAP S/4HANA, on-premise edition 2021, SAP S/4HANA Foundation, on-premise edition 2021, and SAP BW/4HANA 2021 (and all future releases), this start authorization check is already activated during the installation/migration for Web Dynpro applications (object type R3TR WDYA) and Web Dynpro application configurations (object type R3TR WDCA).<SPAN class="Apple-converted-space">&nbsp;</SPAN><BR /> <BR /> Therefore, the active role concept is affected if the required start authorizations (authorization object S_START) is missing in the roles. The affected roles need to be updated. It is also possible to deactivate the checks in SU25, although this is not recommended. For more information please check the Note <A href="https://launchpad.support.sap.com/#/notes/3064888" target="_blank" rel="noopener noreferrer">3064888 - Start authorization check for Web Dynpro applications and Web Dynpro application configurations in SAP S/4HANA - SAP ONE Support Launchpad </A>.<BR /> <BR /> More information on Secure by Default can be found in this blog post: <A href="https://blogs.sap.com/2021/10/20/the-story-resumes-secure-by-default-for-sap-s-4hana-2021/" target="_blank" rel="noopener noreferrer">The story resumes – Secure By Default for SAP S/4HANA 2021 | SAP Blogs</A><BR /> <BR /> Also feel free to ask questions in the SAP Community: <A href="https://answers.sap.com/questions/ask.html?primaryTagId=462330605920974660730944876913277" target="_blank" rel="noopener noreferrer">https://answers.sap.com/questions/ask.html?primaryTagId=462330605920974660730944876913277</A><BR /> <BR /> &nbsp; 2022-04-26T15:40:55+02:00 https://community.sap.com/t5/technology-blogs-by-members/authorization-group-tool/ba-p/13525068 Authorization Group Tool 2022-05-16T21:17:13+02:00 Attila https://community.sap.com/t5/user/viewprofilepage/user-id/129182 <H2 id="toc-hId-959364412">About</H2><BR /> This tool supports exploration and management of authorization groups.<BR /> <BR /> <SPAN style="text-decoration: underline">Features</SPAN><BR /> <UL><BR /> <LI>List Authorization Groups (Quick Jump to SE54 identical feature)</LI><BR /> <LI>List Authorization Groups used in Table/View maintenance dialogs (Custom Feature)</LI><BR /> <LI>List Authorizations Profiles / PFCG Roles where a given Authorization Group is embedded (Custom Feature)</LI><BR /> <LI>Maintain Authorization Groups (Quick Jump to SE54 identical feature)</LI><BR /> <LI>Assign Authorization Group to Table/View Maintenance Dialog (Quick Jump to SE54 identical feature)</LI><BR /> </UL><BR /> <H2 id="toc-hId-762850907">The Problem</H2><BR /> <P style="text-align: left">A recurring task is to create SM30 maintenance views in onPremise SAP systems on top of customizing tables to enable configuration of processes. When You generate a maintenance dialog, You can choose an authorization group to protect recording data to the table/view through the generated maintenance dialog.</P><BR /> <BR /> <BR /> <HR /><BR /> <BR /> <IMG src="https://www.sapdev.eu/wp-content/uploads/2022/05/image.png" alt="" width="479" height="317" /><BR /> <BR /> <HR /><BR /> <BR /> <IMG src="https://www.sapdev.eu/wp-content/uploads/2022/05/image-1.png" alt="" width="385" height="245" /><BR /> <BR /> <HR /><BR /> <BR /> Sometimes that Authorization Group is not predefined in the requirement, due no appropriate one exists, or no one can provide You with an appropriate Authorization Group name, but protection of recording entries in the table is essential. You can search for existing groups or create new one, then validate it by people defining the requirement. At this point You might find Yourself in a jungle to come up with a right Authorization Group. This tool is a helper to bunch the required functions together to solve this problem quickly.<BR /> <H2 id="toc-hId-566337402">Technical Background</H2><BR /> The Authorization Group itself is a Field in the Authorization Object S_TABU_DIS. The Authority Check is done against this Group and the Activity (02-Edit/03-Display ) by the system.<BR /> <BR /> <HR /><BR /> <BR /> <IMG src="https://www.sapdev.eu/wp-content/uploads/2022/05/image-2.png" alt="" width="497" height="273" /><BR /> <BR /> <HR /><BR /> <BR /> This Object can be assigned in the Authorization Profile of the corresponding Role in transaction PFCG to provide Display or Edit capability for a user having the Role:<BR /> <BR /> <IMG src="https://www.sapdev.eu/wp-content/uploads/2022/05/image-3-1024x452.png" alt="" width="750" height="331" /><BR /> <H2 id="toc-hId-369823897">Installation</H2><BR /> Clone repository<BR /> <BR /> <A href="https://github.com/attilaberencsi/authgroups.git" target="_blank" rel="noreferrer noopener nofollow">https://github.com/attilaberencsi/authgroups.git</A><BR /> <BR /> using ABAPGit (online / offline).<BR /> <BR /> Licence: MIT<BR /> <H2 id="toc-hId-173310392">Features of the tool</H2><BR /> The following selection screen welcomes You, when You execute the report <STRONG>zsapdev_authgroup</STRONG>.<BR /> <BR /> <IMG src="https://www.sapdev.eu/wp-content/uploads/2022/05/image-4.png" alt="" width="950" height="427" /><BR /> <H3 id="toc-hId-105879606">Selection-Screen</H3><BR /> <STRONG><SPAN style="text-decoration: underline">Show Authorization Groups</SPAN></STRONG><BR /> <BR /> Shows all the Authorization groups in the system, which are client (in)dependent.<BR /> <BR /> This is a standard feature.<BR /> <BR /> <STRONG><SPAN style="text-decoration: underline">List Authorization Groups used in Table/View maintenance dialogs</SPAN></STRONG><BR /> <BR /> I developed this feature to get an insight which Authorization Groups are used in our systems in maintenance dialogs. You can restrict the search. It comes handy to search for Z* Authorization groups to see which You have, and to which tables/views are they assigned at the moment.<BR /> <BR /> <STRONG><SPAN style="text-decoration: underline">Roles with Authorization group</SPAN></STRONG><BR /> <BR /> In case You are trying to validate correctness of an existing Authorization Group, You can fetch the PFCG Roles within a given Authorization Group is used. Without defining a Group, all the PFCG roles are listed having Authorization Groups.<BR /> <BR /> <STRONG><SPAN style="text-decoration: underline">Maintain Authorization Groups</SPAN></STRONG><BR /> <BR /> When You didn’t found any appropriate Authorization Group, here You can create a new one.<BR /> <BR /> This is a standard feature.<BR /> <BR /> <STRONG><SPAN style="text-decoration: underline">Assign Group to Table / View Maintenance dialog</SPAN></STRONG><BR /> <BR /> You can change Assign Authorization Groups to tables in Mass. The next selection screen helps to list maintenance dialog objects by name or currently assigned Authorization Group.<BR /> <BR /> This is a standard feature.<BR /> <H3 id="toc-hId--90633899">Validation</H3><BR /> ATC Check: Passed<BR /> <BR /> Manual validation done on:<BR /> <TABLE style="height: 154px"><BR /> <THEAD><BR /> <TR style="height: 28px"><BR /> <TH style="width: 117.35px;height: 28px;text-align: center">Software Component</TH><BR /> <TH style="width: 52.9167px;height: 28px;text-align: center">Release</TH><BR /> <TH style="width: 175.8px;height: 28px;text-align: center">Support Package</TH><BR /> <TH style="width: 110.333px;height: 28px;text-align: center">Support Package Level</TH><BR /> <TH style="width: 137px;height: 28px;text-align: center">Description</TH><BR /> </TR><BR /> </THEAD><BR /> <TBODY><BR /> <TR style="height: 14px"><BR /> <TD style="width: 117.35px;height: 14px">S4FND</TD><BR /> <TD style="width: 52.9167px;height: 14px;text-align: center">104</TD><BR /> <TD style="width: 175.8px;height: 14px">SAPK-10402INS4FND</TD><BR /> <TD style="width: 110.333px;height: 14px;text-align: center">0002</TD><BR /> <TD style="width: 137px;height: 14px;text-align: center">Foundation</TD><BR /> </TR><BR /> <TR style="height: 28px"><BR /> <TD style="width: 117.35px;height: 28px">SAP_ABA</TD><BR /> <TD style="width: 52.9167px;height: 28px;text-align: center">75E</TD><BR /> <TD style="width: 175.8px;height: 28px">SAPK-75E02INSAPABA</TD><BR /> <TD style="width: 110.333px;height: 28px;text-align: center">0002</TD><BR /> <TD style="width: 137px;height: 28px;text-align: center">Cross-Application Component</TD><BR /> </TR><BR /> <TR style="height: 28px"><BR /> <TD style="width: 117.35px;height: 28px">SAP_BASIS</TD><BR /> <TD style="width: 52.9167px;height: 28px;text-align: center">754</TD><BR /> <TD style="width: 175.8px;height: 28px">SAPK-75402INSAPBASIS</TD><BR /> <TD style="width: 110.333px;height: 28px;text-align: center">0002</TD><BR /> <TD style="width: 137px;height: 28px;text-align: center">SAP Basis Component</TD><BR /> </TR><BR /> <TR style="height: 28px"><BR /> <TD style="width: 117.35px;height: 28px">SAP_GWFND</TD><BR /> <TD style="width: 52.9167px;height: 28px;text-align: center">754</TD><BR /> <TD style="width: 175.8px;text-align: center;height: 28px">SAPK-75402INSAPGWFND</TD><BR /> <TD style="width: 110.333px;height: 28px;text-align: center">0002</TD><BR /> <TD style="width: 137px;height: 28px;text-align: center">SAP Gateway Foundation</TD><BR /> </TR><BR /> <TR style="height: 28px"><BR /> <TD style="width: 117.35px;height: 28px">SAP_UI</TD><BR /> <TD style="width: 52.9167px;height: 28px;text-align: center">754</TD><BR /> <TD style="width: 175.8px;height: 28px">SAPK-75404INSAPUI</TD><BR /> <TD style="width: 110.333px;height: 28px;text-align: center">0004</TD><BR /> <TD style="text-align: center;width: 137px;height: 28px">User Interface Technology</TD><BR /> </TR><BR /> </TBODY><BR /> </TABLE><BR /> &nbsp;<BR /> <BR /> Good luck with Authorization Groups <span class="lia-unicode-emoji" title=":slightly_smiling_face:">🙂</span><BR /> <BR /> &nbsp; 2022-05-16T21:17:13+02:00 https://community.sap.com/t5/technology-blogs-by-members/incremento-de-seguran%C3%A7a-na-administra%C3%A7%C3%A3o-de-documentos-cont%C3%A1beis-fb02-f/ba-p/13526277 Incremento de Segurança na Administração de Documentos Contábeis - FB02 - F_BKPF_BLA 2022-06-26T08:03:05+02:00 former_member46288 https://community.sap.com/t5/user/viewprofilepage/user-id/46288 Dada a criticidade das informações que mantém, a camada de autorizações relacionada aos componentes FI/CO, estes que, transacionam informações estratégicas e sensíveis, é amplamente discutida. O estabelecimento de controles, tal qual, SOD, visa assegurar a lisura nos processos e a integridade das informações demonstradas.<BR /> <BR /> O ponto de partida para esta publicação foi a seguinte impressão:<STRONG> "A verificação de autorizações na FB02 não provém um nível de granularidade que habilite a restrição a modificações para determinados tipos de documentos."</STRONG><BR /> <H3 id="toc-hId-1088478874">Cenário.:</H3><BR /> <UL><BR /> <LI>Usuários de contabilidade <EM>são <STRONG>aptos a modificação</STRONG></EM><STRONG> de documentos </STRONG><EM><STRONG>X1 - Lançamento imobilizado</STRONG></EM>, entretanto, <STRONG>não é tolerável</STRONG> qualquer modificação para <STRONG>documenos&nbsp;Z2 – Pgto.Tributos.</STRONG></LI><BR /> </UL><BR /> <H3 id="toc-hId-891965369">Contexto.:</H3><BR /> O rigor e a integridade das informações transacionadas no sistema SAP, dentre outros aspectos, são asseguradas pelo robusto conceito de autorizações. Este que,&nbsp; abrange diversos componentes e permite a configuração de restrições complexas, sejam standard, híbridas ou totalmente personalizadas.<BR /> <BR /> Através de um trace de autorizações(<STRONG>STAUTHTRACE</STRONG>), observamos que a rotina de modificações executada na FB02 verifica alguns objetos <STRONG>F_BKPF*</STRONG>, que por sua vez compõem a classe de objetos <STRONG>FI – Contabilidade Financeira</STRONG>.<BR /> <BR /> Em uma análise superficial, observamos verificações relacionadas a: <EM>Empresa, Tipo de Conta, Área de Contabilidade de Custos</EM>, dentre outros objetos Etc.<BR /> <H3 id="toc-hId-695451864">Solução.:</H3><BR /> <EM>A solução viável para nosso cenário foi mapeada e publicada pela SAP há bastante tempo</EM>, mesmo assim, achei por bem consolidar as informações.<BR /> <UL><BR /> <LI><A href="https://launchpad.support.sap.com/#/notes/150496" target="_blank" rel="noopener noreferrer">150496 - F_BKPF_BLA: Authorization for document types</A></LI><BR /> <LI><A href="https://launchpad.support.sap.com/#/notes/198238" target="_blank" rel="noopener noreferrer">198238 - FI reporting: Authorization check for document type</A></LI><BR /> </UL><BR /> <STRONG>Através das notas supracitadas, a SAP nos expôs a possibilidade da restrição de modificações por Grupos de Autorizações</STRONG>, semelhante ao funcionamento do <EM>Grupo de Autorização Programa</EM>(P_GROUP) carregado pelo objeto S_PROGRAM e o Grupo de Autorizações de Tabela(DICBERCLS) carregado pelo objeto S_TABU_DIS.<BR /> <BR /> Os objetos de autorização citados como exemplo, têm como propósito viabilizar a composição de regras granulares, <STRONG>permitindo a distinção de regras de atividade em função do agrupamento dos objetos sujeitos às ações, Sejam eles: programas, tabelas ou em nosso caso, tipos de documentos.</STRONG><BR /> <H4 id="toc-hId-628021078">Exemplo:</H4><BR /> A role 01 – Assistente de Contabilidade deve <EM>habilitar a modificação em lançamentos tipo "A1"</EM>, bem como, <EM>assegurar que lançamentos tipo "C1" estejam restritos somente a visualização</EM>.<BR /> <H3 id="toc-hId-302424854">Ajuste.:</H3><BR /> Para tal configuração, a SAP provém o objeto <STRONG>F_BKPF_BLA</STRONG> que se comporta como <EM>opcional</EM>, tendo sua etapa de verificação relevante quando o <STRONG>Tipo do Documento</STRONG> está categorizado em um <STRONG>Grupo de Autorizações.</STRONG><BR /> <OL><BR /> <LI>Através da <STRONG>transação OBA7</STRONG> obtemos a <STRONG>visão acerca dos Tipos de Documentos</STRONG>, ao expandir a visão de um tipo específico, temos contato com suas <STRONG>propriedades</STRONG>.</LI><BR /> <LI>O campo<STRONG> “Grupo de Autorizações” </STRONG>é um CHAR que recebe 4 caracteres, “YDOC”, por exemplo<STRONG>. </STRONG><EM><STRONG>Definição SAP</STRONG>: "O Grupo de Autorizações possibilita uma proteção de autorização ampliada para determinados objetos. Os grupos de autorização podem ser definidos livremente. Os grupos de autorização surgem em objetos de autorização, geralmente em combinação com uma atividade."</EM></LI><BR /> <LI>A categorização do Tipo de Documento em um Grupo de Autorizações específico, o torna suscetível a restrições.</LI><BR /> <LI>Superada a etapa de atribuição do Tipo de Documento ao grupo, cabe uma checagem nos <STRONG>indicadores de verificação através da SU24 para o objeto F_BKPF_BLA</STRONG>.<BR /> <OL><BR /> <LI>A transação FB02 carrega devidamente o objeto F_BKPF_BLA?</LI><BR /> <LI>O objeto F_BKPF_BLA sofreu alguma manutenção que alterasse seus valores propostos?</LI><BR /> </OL><BR /> </LI><BR /> <LI>Atribuição, verificação e proposta OK? Definimos através da PFCG a configuração de acordo com a necessidade.<BR /> <OL><BR /> <LI>Recomendações:<BR /> <OL><BR /> <LI>Evitemos a inserção manual e modificação de objetos em desacordo a lista de utilizações, preservemos a relação transacional SU24 x PFCG o máximo possível.</LI><BR /> <LI>Verifiquemos a ocorrência de autorizações sobrepostas, eventualmente alguma autorização para o F_BKPF_BLA pode ter sido definida com “*”, seja na role em si, ou em outra role que esteja atribuída ao usuário. A condição pode ser verificada através da análise do buffer do usuário na transação SU56 ou exame das roles a ele atribuídas através da tabela AGR_1251.</LI><BR /> </OL><BR /> </LI><BR /> </OL><BR /> </LI><BR /> </OL><BR /> <H3 id="toc-hId-105911349">Referências.:</H3><BR /> <UL><BR /> <LI><A href="https://launchpad.support.sap.com/#/notes/150496" target="_blank" rel="noopener noreferrer">150496 - F_BKPF_BLA: Authorization for document types</A></LI><BR /> <LI><A href="https://launchpad.support.sap.com/#/notes/198238" target="_blank" rel="noopener noreferrer">198238 - FI reporting: Authorization check for document type</A></LI><BR /> <LI>Cavalleri, A.; Manara, M. Authorizations in SAP: 100 Things You Should Know About SAP Security<STRONG>, </STRONG>SAP Press.</LI><BR /> </UL><BR /> <H4 id="toc-hId-38480563">Tópicos relacionados:</H4><BR /> <UL><BR /> <LI><A href="https://blogs.sap.com/2018/03/01/sap-security-and-fi-validation-rules/" target="_blank" rel="noopener noreferrer">https://blogs.sap.com/2018/03/01/sap-security-and-fi-validation-rules/</A></LI><BR /> </UL><BR /> <H3 id="toc-hId--287115661">Resumo.:</H3><BR /> Em suma, a proposta de solução para o cenário apresentado utiliza um conceito bem difundido dentro das práticas de SAP Security, grupos. Sejam de usuários, programas, tabelas, documentos ou qualquer elemento, nos possibilitam a trazer maior granularidade para nossas restrições. Conforme dito anteriormente, outras rotinas aceitam ajustes dessa natureza, podemos superficialmente buscar por objetos relacionados através do report RSUSR040.<BR /> <BR /> Em breve detalharei outros contextos e estratégias relacionadas a autorizações SAP. Espero poder contribuir, a intenção é sempre: Aprender, compartilhar e fortalecer a comunidade. 2022-06-26T08:03:05+02:00 https://community.sap.com/t5/technology-blogs-by-sap/getting-back-to-standard-proposals-with-su24-authorisation-variants/ba-p/13543285 Getting back to Standard Proposals with SU24 Authorisation Variants 2022-08-11T12:47:23+02:00 Colleen https://community.sap.com/t5/user/viewprofilepage/user-id/199 <EM>How you can leverage new functionality to improve your security role build in SAP S/4HANA.</EM><BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Avoid CHANGED. MANUAL by Exception. MAINTAINED is OK. Strive for STANDARD.</STRONG><BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/Happy-Knowledge-Sharing-People-scaled.jpg" /></P><BR /> &nbsp;<BR /> <BR /> For as long as I’ve been building application security roles via transaction PFCG, this is the mantra I’ve followed when maintaining authorisations. Transaction PFCG (Role Maintenance) is integrated with Transaction SU24 (Authorisations Proposals). This integration automatically imports and removes proposals from the role authorisation data based on the items in the role menu.<BR /> <BR /> &nbsp;<BR /> <BR /> With the move to SAP S/4HANA and SAP Fiori, managing authorizations effectively becomes more important than ever. &nbsp;&nbsp;Authorizations directly affect the User Experience of your users. Get it wrong and you risk actively degrading UX adoption and reduce the benefits that your users and your organization can derive from these innovations.&nbsp; For example, manually adding transaction code to role will make it unavailable to users in Fiori Launchpad.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-961153853">An overview of PFCG and SU24 integration</H2><BR /> For the most part, transaction SU24 is a build accelerator and is a is considered a best practise for role build as it:<BR /> <UL><BR /> <LI><STRONG><EM>Reduces access creep</EM></STRONG>: when transactions are removed from the role menu, the associated authorisations proposals are also removed (so long as another menu item doesn’t require them). This benefit only works for standard and maintained authorisation status items.</LI><BR /> <LI><STRONG><EM>Reduces authorisations errors</EM></STRONG>: the role will automatically receive the require authorisations for each application so long as the mappings are fully maintained in transaction SU24, and the application has been added to the role menu</LI><BR /> <LI><STRONG><EM>Reduces build Effort and time</EM></STRONG>: the security administrators can leverage existing mappings as part of role build and requires less time to map the values out for each role.</LI><BR /> <LI><STRONG><EM>Simplifies and Improves Impact Analysis:</EM></STRONG> it makes is easier for role authorisations experts to easily identify why an authorisation is part of a security role. This helps with segregation of duties impact assessment, role clean-up, and regression test prioritisation.</LI><BR /> </UL><BR /> &nbsp;<BR /> <BR /> Going back to the mantra –<BR /> <BR /> <STRONG>Avoid CHANGED. MANUAL by Exception. MAINTAINED is OK. Strive for STANDARD.</STRONG><BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Why Avoid CHANGED?</STRONG><BR /> <BR /> We avoid CHANGE as it is a deliberate breaking of mappings and deviates from consistency. A CHANGED status object is treated like a MANUAL object. Transaction PFCG cannot automatically remove a CHANGED authorisation from the role when the transaction is removed as there is not relationship between the data. Therefore, CHANGED objects can increase access creep and make it difficult to properly impact assess or remove the access.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Why MANUAL by Exception? </STRONG><BR /> <BR /> We accept MANUAL by exceptions. Some authorisations are required but are not mapped to applications items that can be added to a role menu (e.g. S_RFCACL for trusted RFC). Some may be clear design decisions for supplementing an existing role to provide additional authorisation (e.g. purchasing approval codes). These exceptions are clearly documented and less likely to change.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Why strive for STANDARD? </STRONG><BR /> <BR /> We aim for STANDARD as it meant we had a 100% alignment with authorisation proposals. Assuming SU24 data is accurate, it is unlikely the security administrator team needs to maintain values in PFCG.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Why is MAINTAINED ok?</STRONG><BR /> <BR /> We accept and settle for MAINTAINED as a balance between mapping what we can in SU24 and avoiding CHANGED status.<BR /> <BR /> &nbsp;<BR /> <BR /> Wouldn’t it be great if we didn’t have to settle for maintained? Variants makes this possible.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-764640348">Common Scenario for MAINTAINED status</H2><BR /> Maintained status occurs because we only partially maintained authorisation proposal inside SU24. This is needed when a transaction code belongs to multiple roles with differently underlying authorisations values.<BR /> <BR /> &nbsp;<BR /> <BR /> For example, if we had a transaction that provided table maintenance then we would provide authorisation object S_TABU_NAM. This object contains fields Activity and Table Name. We cannot maintain the Activity proposal in SU24 if we need to grant access to users in either display or maintenance mode. However, both roles would need the same Table Name. As a result, we would partially maintain the proposal: Activity field would remain blank, and Table Name would contain the entry.<BR /> <BR /> &nbsp;<BR /> <BR /> For example, transaction OB52 provides access to posting periods. Many users may need display access and only a few need to make changes. Within transaction SU24, SAP provides the ACTVT Activity field as an empty proposal which is then maintained at role level.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-and-PFCG-S_TABU_NAM-example.png" /></P><BR /> &nbsp;<BR /> <BR /> Within transaction PFCG, we would receive a STANDARD proposal initially that is then set to MAINTAINED once we finish populating the Activity proposals (one role gets display only whilst the other role gets change and display).<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-568126843">Other Scenarios for MAINTAINED status… and where it can get messy</H2><BR /> <H3 id="toc-hId-500696057"></H3><BR /> MAINTAINED Status can also be due to:<BR /> <UL><BR /> <LI>SAP Proposal and Upgrades remain unchanged – the customer chooses to leave the default proposals as is and make all necessary refines at role level.</LI><BR /> <LI>Cockpit Style Transactions – the application has several use cases controlled through combinations of authorisations. The SU24 default proposals remain predominately empty to provide the flexibility to maintain values at role level.</LI><BR /> <LI>HR Authorisations and transaction - most HR transaction access is controlled through two (2) main objects – P_ORGIN and PLOG. The objects contain fields for activity level, infotype, and enterprise data restrictions. To avoid CHANGE and MANUAL status, these objects are added with empty proposals and all changes are managed at role level.</LI><BR /> </UL><BR /> &nbsp;<BR /> <H3 id="toc-hId-304182552">SAP Proposals and Upgrades</H3><BR /> SAP provides default proposals for SAP standard transactions. These values are shipped via transaction SU22 tables and copied across to transaction SU24 tables via transaction SU25 (for greenfield systems, Step 1 is run).<BR /> <BR /> The customer is allowed to make changes to the SAP proposals. Within transaction SU24, you can compare the values in your system against SAP proposals to check if you have deviated from the original.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-SM30-example.png" /></P><BR /> &nbsp;<BR /> <BR /> As part of upgrades, SAP ships new values (changes to existing mappings and mappings for new transactions). The customer uses transaction SU25 Steps 2a/2b to compare customer tables and SAP tables to import changes.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU25-Initial-Screen.png" /></P><BR /> &nbsp;<BR /> <BR /> However, for many customers, it becomes a challenge to decide if they should adopt SAP updates on transactions that they have already maintained. Depending on build maturity, it can be difficult to change which proposals are a better fit: SAP’s latest proposals or updates the customer made as part of build refinement.<BR /> <BR /> Some security administration teams avoid making changes to SAP standard proposals. In this situation, it leads to an increased level of CHANGED and MANUAL authorisations – what we’re trying to avoid. However, it makes upgrades a bit easier for the security team to process.<BR /> <BR /> &nbsp;<BR /> <H3 id="toc-hId-107669047">Cockpit style transactions</H3><BR /> The transaction is a single-entry point for several functional scenarios and assigned to multiple roles. In this situation, SU24 proposals have a higher incomplete rate and requires individual maintained in each role. Each role requires a different combination of fields values. This level of localisations shifts the build effort to the security administrator as part of role build.<BR /> <BR /> &nbsp;<BR /> <H3 id="toc-hId--88844458">HR Authorisations and transactions</H3><BR /> HR authorisation objects control personnel record and organisational structure for infotype access. If you attempt to use transaction SU24 proposals, in most cases you are forced to enter an empty proposal in SU24 as each role requires different values. For example, transaction code PA30 for Maintain Personnel Record requires P_ORGIN authorisations to control activity level, data access, and Infotypes. Several users may need access to the transactions but different functional access. Therefore, P_ORGIN would need to be empty in SU24 and fully maintained in PFCG. It can make it difficult in HR-centric roles to determine why the roles has field values as you cannot determine the context by the role menu items. Often, security administrators resort to manually adding objects instead of attempting SU24 maintenance.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId--414440682">A use case of needing variants in SU24</H2><BR /> Using the “cockpit style: scenario, let’s imagine you want to provide users with access to <A href="https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps('F3163')/S23OP" target="_blank" rel="nofollow noopener noreferrer">F3163</A> Manage Business Partner Master Data.&nbsp;This application allows you to access Suppler, Customer, and Employee information and is included in several business role templates. Many users will have a requirement to access the application, but they will need to be restricted to specific data.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/F3163-Fiori-Apps-Reference-Library.png" /></P><BR /> &nbsp;<BR /> <BR /> Fiori App F3163 authorisation is based on SAP Gateway Service “MD_BUSINESSPARTNER_SRV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0001”. Within SU24, default proposals are provided but they are for maintenance access with no specific limit to business part role. This means without changing the proposal within transaction SU24, all restrictions will need to be at role level. Making changes are role level will result in MAINTAINED, CHANGED, or MANUAL status. Alternately, SU24 can be updated to remove the field proposals and leave empty values to maintain entirely at role level (end up with MAINTAINED only) but that doesn’t a consider different maintenance level (e.g. deletion access may be restricted).<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-for-MD_BUSINESSPARTNER_SRV.png" /></P><BR /> &nbsp;<BR /> <BR /> Each time the application is added to a role, the administrator then must make changes. However, SU24 variants can solve this problem and allow you to continue with STANDARD proposals. Within, transaction SU24, a variant is created with the required mapping.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-for-MD_BUSINESSPARTNER_SRV-maintain.png" /></P><BR /> &nbsp;<BR /> <BR /> Transaction code PFCG now contains an Application Tab which will list the available Variants for each application maintain. This tab is populated after the role menu is refreshed and SU24 definitions have been read in. In the example below, the options are greyed out as there are no variants to choose between.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/PFCG-application-tab-no-variant.png" /></P><BR /> &nbsp;<BR /> <BR /> Once the variants have been selected, the SU24 proposals are then imported via the Authorisation Tab. Again, in this example there are not variants sot the SAP standard values will be adopted.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/PFCG-role-before-variant.png" /></P><BR /> &nbsp;<BR /> <BR /> The security role administrator will need to work through each authorisation proposal to either set the unrequired authorisations to inactive, complete field proposal, or return to transaction SU24 to make proposal changes at the master data and then return to the role to continue build. However, as this application is used by several process areas (procurement, sales, HR, etc), it is unlikely SU24 proposals will be changed as it impacts all roles. Instead, the proposals will end up in a MAINTAIN or CHANGED status to maintain the required authorisation for the role. Ultimately, you start to lose the benefits of SU24 proposals, or you must remove all proposals in SU24 and maintain everything inside of PFCG.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId--610954187">Finally what are these variants and how to use them</H2><BR /> Originally this capability was delivered under a “new” transaction code SU24N but has seen been merged back into transaction SU24. Refer to <A href="https://launchpad.support.sap.com/#/notes/2798443" target="_blank" rel="noopener noreferrer">SAP Note: 2798443 - SU24N: New dialog environment for authorization default value maintenance</A><BR /> <BR /> &nbsp;<BR /> <BR /> Transaction SU24 now allows you to create variants of the maintenance proposals. This means you can create multiple proposal versions and control which ones you adopt within the roles.<BR /> <BR /> &nbsp;<BR /> <BR /> Within SU24 transaction you can how choose to CREATE VARIANT instead of changed SAP standard proposals for an application. When creating the variant you must enter this in the customer namespace. You can implement a naming convention (such as including Fiori Application Id which can help for context later).<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-Variant-Creation-1.png" /></P><BR /> As this is&nbsp; workbench object, you will need to assign it to a transport (no screen shot shown).&nbsp;Once you have created the VARIANT you can start making changes to the proposal data without updating the standard values.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-Variant-Creation-2.png" /></P><BR /> &nbsp;<BR /> <BR /> In the case of this application and the context of managing Supplier, you can now switch off authorisation proposals that are not relevant as well as changing the existing proposals for values that are more relevant to supplier master data.<BR /> <BR /> Once you have completed the updates you then save (just like you would have when you made updates to the standard proposal)<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-Variant-Creation-3.png" /></P><BR /> &nbsp;<BR /> <BR /> Return to transaction PFCG and look and go to the Application Tab. You will now. The SU24 variants are automatically identified based on applications in the role menu.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/PFCG-application-tab-with-variant.png" /></P><BR /> &nbsp;<BR /> <BR /> As a variant now exists, you can choose which on you select for the role authorisation proposals. If there are several variants, you can choose as many as required for the role.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/SU24-application-variant-choice.png" /></P><BR /> &nbsp;<BR /> <BR /> Once you have selected the applicable variant, save the role before you maintain authorisation data again. On the authorisation tab you will need to select Expert Mode for Profile Generation &gt; Read Old/Merge with new to re-read the SU24 values and pick up the VARIANT proposals<BR /> <BR /> &nbsp;<BR /> <BR /> You will still be asked to enter the organisational values (or update them if you need to).<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/PFCG-update-org-values.png" /></P><BR /> &nbsp;<BR /> <BR /> The authorisation data will show more STANDARD (green) proposals due to the VARIANT that you maintained<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/PFCG-standard-proposal.png" /></P><BR /> &nbsp;<BR /> <BR /> When reviewing the authorisation proposal you will now see which specific variant brought them in.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/08/PFCG-authorisation-overview-source.png" /></P><BR /> &nbsp;<BR /> <BR /> As mentioned, when creating a VARIANT in SU24, the variant name is quite useful to understand the context. As shown above, the application variant name of “ZF3163_SUP_M” is a basic naming convention for the Fiori App F3163 with variant of Supplier Maintenance. These conventions can make it easier to understand the access context compared to the application Odata service name.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId--807467692">Impacts of Using Variants</H2><BR /> The primary benefit of using variants is to allow you to leverage authorisation default proposals from SU24 and minimise overall maintenance of individual permission within the role. The following are benefits I can see in using variant in SU24<BR /> <UL><BR /> <LI>Able to easily handle different access contexts for the same application.</LI><BR /> <LI>Separate development/maintenance default mappings with security roles team</LI><BR /> <LI>Reduce access creep and confusion in role build through less direct maintenance of value</LI><BR /> <LI>Obtain better access context through variant names to better understand reason authorisation proposal within a role</LI><BR /> <LI>Easily able to add a new variant to an application for another role without having to maintained the existing roles. This can occur when you add an application in design but need to change the SU24. If you update the SU24 data, then you would need to also maintained the existing role and regression test. This further add to your change request and effort. Instead, you can define a new variant just for those values.</LI><BR /> <LI>Reduce SU25 Step 2a/2b upgrade effort as you avoid maintaining SAP standard proposals. However, you will need to manually assess your variants to decide if you need to add new value proposals that were added to the SAP original</LI><BR /> <LI>Flexibility to differentiate access proposals for non-production and production access. This can allow security teams to leverage SU24 for project role build for sensitive transactions that would generally be granted in display mode only.</LI><BR /> <LI>Small win – your can double-click on the variant tab line items of transaction PFCG to navigate to the related transaction SU24 configuration to confirm you have selected the required variant.</LI><BR /> </UL><BR /> &nbsp;<BR /> <BR /> Give variants a go and share your thoughts below. I’d love to know if this is something you’d consider using as part of&nbsp; your build accelerator and approach to consistently building security roles.<BR /> <BR /> &nbsp;<BR /> <BR /> Cheers<BR /> <BR /> Colleen<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> P.S. For those of you who are new to building security roles ABAP authorisations roles via transaction PFCG, the authorisations status is summarised in the table below:<BR /> <BR /> &nbsp;<BR /> <TABLE style="width: 647px;border-style: solid;border-color: #0a0a0a"><BR /> <TBODY><BR /> <TR><BR /> <TD style="width: 97px;border-style: solid;border-color: #000000"><STRONG>Authorisation Status</STRONG></TD><BR /> <TD style="width: 533px;border-style: solid;border-color: #000000"><STRONG>Summary of build sequence that causes the Status</STRONG></TD><BR /> </TR><BR /> <TR><BR /> <TD style="width: 97px;border-style: solid;border-color: #000000">Standard</TD><BR /> <TD style="width: 533px;border-style: solid;border-color: #000000"><BR /> <OL><BR /> <LI>Authorisation proposal for the transaction is wholly maintained via transaction SU24 with proposal status set to Yes. Exception: organisational field proposals are not set via SU24</LI><BR /> <LI>Application is added to the role menu in PFCG</LI><BR /> <LI>Authorisation proposal is fully imported. At most, the security administrator maintains the organisational values</LI><BR /> <LI>The security administrator makes no further changes to the authorisation</LI><BR /> <LI>Authorisations Proposal remains in a STANDARD status</LI><BR /> </OL><BR /> </TD><BR /> </TR><BR /> <TR><BR /> <TD style="width: 97px;border-style: solid;border-color: #000000">Maintained</TD><BR /> <TD style="width: 533px;border-style: solid;border-color: #000000"><BR /> <OL><BR /> <LI>Authorisation proposal for the transaction is partially maintained via transaction SU24 with proposal status set to Yes. Partially means at least one authorisations field has been left empty and it is not an organisational field.</LI><BR /> <LI>Application is added to the role menu in PFCG</LI><BR /> <LI>Authorisation proposal is imported showing a STANDARD status with traffic light of YELLOW as the build is incomplete</LI><BR /> <LI>The Security Administrator must maintain the blank values.</LI><BR /> <LI>Once maintained, the Authorisations changes to a MAINTAINED status.</LI><BR /> </OL><BR /> </TD><BR /> </TR><BR /> <TR><BR /> <TD style="width: 97px;border-style: solid;border-color: #000000">Changed</TD><BR /> <TD style="width: 533px;border-style: solid;border-color: #000000"><BR /> <OL><BR /> <LI>Authorisation proposals is either partially or completely maintained in SU24</LI><BR /> <LI>Application is added to the role menu in PFCG</LI><BR /> <LI>Authorisation proposal is imported as a STANDARD status</LI><BR /> <LI>The Security Administrator overwrites a proposed value (e.g. ACTVT 01, 02, 03, 06 is changes to 01, 02, 03 to remove 06 delete)</LI><BR /> <LI>The original proposal is automatically copied and deactivated. It remains in a STANDARD status (this happens in later releases)</LI><BR /> <LI>The authorisation proposal status is now set to CHANGED as the proposed values no longer align to the source mappings in SU24.</LI><BR /> <LI>CHANGED values are treated like MANUAL.</LI><BR /> </OL><BR /> Usually you will receive a pop-up warning you that you overwriting proposal. Pay attention to breaking organisational value inheritance as this can cause headaches later.</TD><BR /> </TR><BR /> <TR><BR /> <TD style="width: 97px;border-style: solid;border-color: #000000">Manual</TD><BR /> <TD style="width: 533px;border-style: solid;border-color: #000000"><BR /> <OL><BR /> <LI>The security administrator manually adds the authorisation in to the role.</LI><BR /> <LI>The status is set as MANUAL</LI><BR /> <LI>There is no connection to role menu items and SU24 proposals.</LI><BR /> </OL><BR /> </TD><BR /> </TR><BR /> </TBODY><BR /> </TABLE><BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp; 2022-08-11T12:47:23+02:00 https://community.sap.com/t5/financial-management-blogs-by-members/mitigating-controls-is-this-a-cure-for-quot-all-evil-quot-in-excessive/ba-p/13551222 Mitigating controls - is this a cure for "all evil" in excessive authorizations risks in SAP? 2022-11-18T14:38:49+01:00 FilipGRC https://community.sap.com/t5/user/viewprofilepage/user-id/11783 <P style="text-align: left">The implementation of additional mitigating controls is a frequent response from the company management in order to limit the risk of excessive (redundant or unnecessary) authorizations in ERP (SAP) systems. Is it a good way to eliminate the excessive authorization risks or are we are just dealing with its side effects? Let’s debate whether it is the right and well-thought approach. What are the negative consequences of doing so, are there any? Is there one answer that is right for all organizations, situations, and markets? During the SoD (Segregation of duties) project, there are many myths about excessive user rights in SAP. The desire to dispel doubts and debunk the myths about mitigating controls and SoD challenges was the main motivation and inspiration for us to write this series of 5 articles. Today we give you heads-up it is coming.</P><BR /> We encourage you to read our series of articles and let us know about your thoughts after.<BR /> <BR /> A properly conducted project of building or rebuilding user authorizations in SAP should be based on the segregation of duties matrix in business processes designed during business workshops. It’s the matrix that is the ​key product of such project, often overlooked and forgotten during system implementation by vendor/implementation companies, who’s priorities are different and are concentrating on launching a new S\4 Hana (ERP) system. Within the last few years, GRC Advisory has carried out a number such workshops in wide range of private businesses as well as public organizations and administrative units. We had trainings in organizations of various sizes – medium companies led by small management team and large international corporations. Among many conclusions which came from these workshops and meetings, the topic of mitigating controls seems to be an interesting and a bit unfamiliar aspect. What are mitigating controls? When do they apply? In the case of many companies that we have had the opportunity to cooperate with by far, the mitigation control seems to be the most common<BR /> <BR /> The mitigating controls are very wide subject, the material has been created and divided into 5 articles:<BR /> <OL><BR /> <LI><A href="https://blogs.sap.com/wp-admin/post.php?post=1655507" target="_blank" rel="noopener noreferrer">Challenges for mitigating controls.</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/01/11/mitigating-contr…-in-sap-part-2-5/ ‎" target="_blank" rel="noopener noreferrer">When is it worth to create and when should we avoid mitigating controls?</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/05/24/mitigating-controls-is-this-a-cure-for-all-evil-in-excessive-authorization-risks-in-sap-part-3-5/" target="_blank" rel="noopener noreferrer">Control examples and repository – Review building best practice.</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/05/25/mitigating-controls-is-this-a-cure-for-all-evil-in-redundant-authorizations-in-sap-part-4-5/" target="_blank" rel="noopener noreferrer">How to implement mitigating controls in GRC systems?</A></LI><BR /> <LI>Summary and conclusions.</LI><BR /> </OL><BR /> My friend and busienss partner <SPAN class="mention-scrubbed">andrzejpartyka</SPAN> was a great influencer to this series. We invite you to read the article and learn more on the subject of mitigating controls.<BR /> <BR /> I encourage you to read it<BR /> <BR /> Filip Nowak<BR /> <BR /> GRC &amp; Security Enthusiast 2022-11-18T14:38:49+01:00 https://community.sap.com/t5/technology-blogs-by-sap/pfcg-merge-of-authorizations-another-explanation-with-screenshots/ba-p/13567331 PFCG: merge of authorizations - another explanation with screenshots 2022-12-06T15:55:20+01:00 Bernhard_SAP https://community.sap.com/t5/user/viewprofilepage/user-id/182174 The technical background and rules for the merge process of authorizations are documented in SAP note<BR /> <BR /> <A href="https://launchpad.support.sap.com/#/notes/113290" target="_blank" rel="noopener noreferrer">113290</A>&nbsp;- PFCG: Merge process for authorization data maintenance<BR /> <BR /> &nbsp;<BR /> <BR /> To illustrate the described rules, here are some simple examples, which will help to explain the behavior of PFCG in the most common cases.<EM> Image/data in this document is from SAP internal systems, sample data, or demo systems. Any resemblance to real</EM><BR /> <EM>data is purely coincidental.</EM><BR /> <BR /> First thing to know is, how the status of the authorization fields and the entire authorization itself is set:<BR /> <BR /> When an authorization initially is inserted automatically by the merge function, all fields and the authorization have the status ‘Standard’.<BR /> <OL><BR /> <LI>If the administrator enters values into an empty Standard field, the status changes to ‘<STRONG>Maintained</STRONG>’.</LI><BR /> <LI>If the administrator enters values into a Standard field, where proposed values exist, the status changes to ‘<STRONG>Changed</STRONG>’.</LI><BR /> </OL><BR /> If at least one field of an authorization has the status ‘Maintained’, the entire authorization gets the status ‘Maintained’. If at least one field of an authorization has the status ‘Changed’ the authorization gets the status ‘Changed’, no matter, if also fields with status ‘Maintained’ are contained.<BR /> <BR /> &nbsp;<BR /> <BR /> With this knowledge we can know, how this authorization has been inserted initially:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/pfcg-alter-status-140537.jpg" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px">This example contains the authorizations for a fictive transaction ZMERGE.</P><BR /> The authorization T-Y055125200 for object S_PROGRAM contains the fields P_GRUOUP and P_ACTION. Both have the status ‘Maintained’. That means, initially, when the authorization was created (Status ‘Standard’) both fields have been empty, means, the defined proposal in SU24 contained no values for those fields:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/su24-alter-status.jpg" /></P><BR /> &nbsp;<BR /> <BR /> The administrator entered the value Z* to field P_GROUP (resulting in the status ‘Maintained’ then) and BTCSUBMIT into P_ACTION (resulting in the status ‘Maintained’ then also).<BR /> <BR /> &nbsp;<BR /> <BR /> This is important to know!<BR /> <BR /> &nbsp;<BR /> <BR /> A common case is now, that the system was updated with support packages or was upgraded.<BR /> This role is contained in the result of SU25 step 2c.<BR /> Or, the administrator performs any change to the content of the role menu, resulting in a new merge of the existing authorizations.<BR /> <BR /> &nbsp;<BR /> <BR /> What happens is, that the existing authorization for S_PROGRAM gets ‘Deleted’ and replaced by a new authorization. It is not clear yet, why.<BR /> <BR /> Let’s have a look at the new situation in PFCG after the merge:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/pfcg-nach-abmischen-neu.jpg" /></P><BR /> &nbsp;<BR /> <BR /> In the right frame we can see that the old authorization with status ‘Maintained’ is deleted (mind the technical name of the authorizations to see the change. Old: T-Y055125200 vs. New: T-Y055125201).<BR /> In the main frame we can see that a new authorization with status ‘Standard’ is inserted, with the value BTCSUBMIT in the field P_ACTION.<BR /> <BR /> &nbsp;<BR /> <BR /> Why?<BR /> <BR /> One main rule described in SAP note 113290 for existing authorizations with status ‘Maintained’ is:<BR /> <BR /> The authorization remains, if the<STRONG> same fields</STRONG> of the actual SU24-proposal <STRONG>are filled</STRONG> with values as in the original authorization (= the standard authorization, which was entered during the initial merge in the past) of the existing authorization.<BR /> <BR /> This condition is not met in the above example, as the field P_ACTION contains (now) a value in the SU24 proposal.<BR /> <BR /> When the old authorization T-Y055125200 was created, both proposal fields have been empty. We know that, as the old authorization had both fields filled with values and the field status have been ‘Maintained’. &nbsp;(Remind above mentioned behavior: empty standard field, enter values-&gt;status is changed to ‘Maintained’)<BR /> <BR /> The merge creates now a new standard authorization T-Y055125201, containing the actual SU24 values, visible in the left frame of above screenshot.<BR /> <BR /> Actual SU24 values:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/su24-neu.jpg" /></P><BR /> But why is the existing authorization deleted?<BR /> <BR /> &nbsp;<BR /> <BR /> We know already that the original authorization has bee created from a proposal, where both fields of S_PROGARM contained <STRONG>no</STRONG> values (because both fields of the deleted authorization contained values and had the status ‘Maintained’).<BR /> <BR /> But the actual proposal contains a value in field P_ACTION.<BR /> <BR /> So, the merge cannot find a proposal for S_PROGRAM (with both fields empty) for the entries in the role menu. Therefore, this authorization is deleted. The merge cannot know that this old authorization belongs to the existing T-code. <STRONG>The merge checks only the actual proposals and not any history.</STRONG><BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> Comment:<BR /> This is a typical behavior after an update/upgrade, when <STRONG>authorization</STRONG> <STRONG>proposals</STRONG> are changed by SAP (SU22) and taken over into SU24 (with SU25 step 2a).<BR /> <BR /> &nbsp;<BR /> <BR /> A similar behavior can be noticed of course if both fields in the proposal would contain these values:<BR /> <BR /> P_ACTION = SUBMIT<BR /> P_GROUP = Z*<BR /> <P style="overflow: hidden;margin-bottom: 0px">Based on the initial authorization from above:</P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/pfcg-alter-status-140537-1.jpg" /></P><BR /> The result after the merge is then:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/weird-example-nach-merge.jpg" /></P><BR /> &nbsp;<BR /> <BR /> It looks weird, that the existing authorization T-Y055125200 is deleted and a new authorization<BR /> T-Y055125201 is inserted – both having the same values! But only, if we would not know the above rules and the different maintenance status of the fields.<BR /> <BR /> The new standard authorization is inserted as there exists no authorization, which’s original (with status ‘Standard’) had the same fields filled with values as the actual proposal (we know, that both fields of the original standard authorization and its proposal were empty, because both fields of the deleted authorization contained values and had the status ‘Maintained’).<BR /> <BR /> &nbsp;<BR /> <BR /> Consequently because of the same reason the old authorization is deleted, as there is no entry in the role menu, which has a proposal for S_PROGRAM with both fields empty.<BR /> <BR /> &nbsp;<BR /> <BR /> It does not matter, that the new standard authorization contains the same values, as the old, deleted authorization.<BR /> <BR /> &nbsp;<BR /> <BR /> <U>Special case: authorizations with status ‘Changed’</U><BR /> <BR /> Authorizations with status ‘Changed’ exist if values of an existing Standard authorization are added or removed by the administrator.<BR /> <BR /> &nbsp;<BR /> <BR /> Based on the last example with a proposal for both fields, P_GROUP = Z* and P_ACTION = BTCSUBMIT, the administrator has added a value SAP* to field P_GROUP. The old authorization looks then like this:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/changedbefore-merge.jpg" /></P><BR /> &nbsp;<BR /> <BR /> At the next merge of authorizations, the situation is then:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/changednach-abmischen.jpg" /></P><BR /> &nbsp;<BR /> <BR /> Explanation:<BR /> <BR /> According to SAP note 113290 authorizations with status ‘Changed’ do not participate in the merge process. But the merge of the authorization data includes the authorization default value (standard authorization) once again, from which the changed authorization was generated. So as if the changed authorization would not exist at all.<BR /> <BR /> As of the corrections of SAP note<BR /> <A href="https://launchpad.support.sap.com/#/notes/2421626" target="_blank" rel="noopener noreferrer">2421626</A> – PFCG/PFCGMASSVAL: Improved handling of authorizations with the status “Changed”<BR /> <BR /> for each authorization that switches to the maintenance status "Changed" because of a field value change, the transactions PFCG and PFCGMASSVAL automatically insert the relevant default authorization with the status "Standard inactive", unless at least one other authorization in the status "Standard" or "Maintained” exists for the same object and contains the authorization default value.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/12/changed-standardneu.jpg" /></P><BR /> &nbsp;<BR /> <BR /> If that inactive standard authorization was not deleted, the repeated adding during the merge of the standard authorization can be avoided.<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> <U>Related notes and KBAs</U>:<BR /> <BR /> KBA&nbsp;<A href="https://launchpad.support.sap.com/#/notes/2093228" target="_blank" rel="noopener noreferrer">2093228</A>&nbsp;- PFCG | display changes after merging authorizations - SAP Note 2086293 [VIDEO]<BR /> SAP Note&nbsp;<A href="https://launchpad.support.sap.com/#/notes/113290" target="_blank" rel="noopener noreferrer">113290</A>&nbsp;- PFCG: Merge process for authorization data maintenance<BR /> SAP Note&nbsp;<A href="https://launchpad.support.sap.com/#/notes/1539556" target="_blank" rel="noopener noreferrer">1539556</A>&nbsp;- FAQ | Administration of authorization default values<BR /> SAP Note <A href="https://launchpad.support.sap.com/#/notes/2421626" target="_blank" rel="noopener noreferrer">2421626</A> – PFCG/PFCGMASSVAL: Improved handling of authorizations with the status “Changed”<BR /> SAP Note <A href="https://launchpad.support.sap.com/#/notes/2632422" target="_blank" rel="noopener noreferrer">2632422</A> - Authorization objects deleted after merging authorizations<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> I hope this blog helps a bit to understand some of the 'miracles' of the merge process in PFCG.<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp; 2022-12-06T15:55:20+01:00 https://community.sap.com/t5/financial-management-blogs-by-members/sap-authorization-testing-with-reference-users/ba-p/13562072 SAP authorization testing with reference users 2023-01-05T17:02:34+01:00 MateM https://community.sap.com/t5/user/viewprofilepage/user-id/674340 <H2 id="toc-hId-962969148"><STRONG>1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Use-case</STRONG></H2><BR /> This methodology is especially useful to perform SAP role redesign (small or large scale) where you choose to implement <STRONG>new</STRONG> SAP role(s) for your <STRONG>productive</STRONG> SAP entity, to replace an existing role concept with a new improved role concept and you are looking for a high-quality authorization testing strategy that will require low involvement of business users.<BR /> <BR /> This methodology works well from basis release 7.4 onwards and is also useful if you would like to reduce wide access (like SAP_ALL) from system (or other technical) users and you choose to implement new role(s).<BR /> <BR /> This methodology is <U>not</U> useful:<BR /> <UL><BR /> <LI>if you change an existing SAP role that is already assigned to users in your productive system</LI><BR /> <LI>if you are running an SAP roll-out project (the new SAP entity is not yet in use in the productive system).</LI><BR /> </UL><BR /> <U>Prerequisites:</U><BR /> <UL><BR /> <LI>Your internal controls/ compliance team agrees to transport newly created SAP role(s) all the way to the productive system. This testing methodology is executed directly in production. At a first glance, this sounds risky, however, the risk of granting inappropriate access during the testing phase can be mitigated by various pre-checks.</LI><BR /> <LI>Critical and/or unnecessary authorizations must not be added to your newly created roles. I guess if you are looking for a methodology like this you are already aware of a bunch of those. (If you use GRC -AC then you should be able to run a risk analysis on the newly created roles already in the development system and you can make sure that you only transport risk-free roles to production)</LI><BR /> <LI>You have the STUSERTRACE (long-term trace) transaction available in your SAP system and you know how to use it. (This transaction is very well documented so you can easily get your head around it)</LI><BR /> </UL><BR /> &nbsp;<BR /> <H2 id="toc-hId-766455643"><STRONG>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Summary of the methodology</STRONG></H2><BR /> The process steps are the following:<BR /> <OL><BR /> <LI>Design/ Implementation: create the new SAP role(s) as usual and transport them all the way to the productive system</LI><BR /> <LI>Testing prep:<BR /> <OL><BR /> <LI>create reference user(s) (user type L) and assign the reference user to the “normal” SAP user ID(s)</LI><BR /> <LI>assign the new role(s) to the reference user</LI><BR /> <LI>set up a long-term trace for the “normal” user(s) (STUSERTRACE)</LI><BR /> </OL><BR /> </LI><BR /> <LI>Testing: Analyze STUSERTRACE results and apply corrections</LI><BR /> <LI>Go live (switch the roles of the reference user and the regular SAP user ID and remove the reference user)</LI><BR /> <LI>Hyper care (in case something goes wrong for any reason you can still add back the reference user and analyze the root cause without stress)</LI><BR /> <LI>Closure – remove the “old” roles and the reference users as necessary</LI><BR /> </OL><BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/01/figure1.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure - 1 (picture was made by me)</P><BR /> Using this methodology, you can achieve very good test results for potential authorization issues without the user(s) even knowing that they are testing, and because everything is happening in the productive system this is real end-to-end, in-depth testing, and it does not require extra effort from the business.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-569942138"><STRONG>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Detailed explanation</STRONG></H2><BR /> <H3 id="toc-hId-502511352"><STRONG>3.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set up reference users</STRONG></H3><BR /> Once you are done with the role implementation in your development system and transported all the newly created roles to your productive system, you will need to continue creating users with user type “L- Reference”. Depending on the scenario you might need to create one dedicated reference user for each regular user, but it is also possible to assign the same reference user to multiple regular user IDs.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/01/Figure2.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure - 2 (picture was taken by me)</P><BR /> It is not possible to log in with the reference user itself, so this does not mean that the “normal” users will have 2 user IDs. This is a technical user type that can only be assigned to the regular SAP user ID.<BR /> <BR /> Luckily this has no impact on your license cost because the reference users are normally not counted by SLAW2 but better to be double-checked just to avoid any surprises.<BR /> <BR /> &nbsp;<BR /> <H3 id="toc-hId-305997847"><STRONG>3.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Add reference users to regular SAP user IDs</STRONG></H3><BR /> &nbsp;<BR /> <BR /> You need to add the reference user to the regular user on the “Roles” tab in SU01/SU10:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/01/Figure3-1.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure - 3 (picture was taken by me)</P><BR /> There is an entry in the PRGN_CUST table (REF_USER_CHECK) that controls the system behavior when you are trying to assign a user ID here which is not “L – Reference” type.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/01/Figure4.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure - 4 (picture was taken by me)</P><BR /> In case you are using central user administration (CUA) then you will need to create the reference user(s) in all systems where the regular user is created, otherwise, the user segment of the USERCLONE idoc will fail for those systems where the regular user ID is created but the reference user not.<BR /> <BR /> If you are using an SAP system under basis release 7.50 then the maximum number of profiles that can be assigned to a user is 312. The reference user does not have an effect on this limit meaning the regular user has a threshold of 312 and the reference user also have its own threshold of the same size.<BR /> <BR /> &nbsp;<BR /> <H3 id="toc-hId-109484342"><STRONG>3.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set up long-term authorization trace (STUSERTRACE)</STRONG></H3><BR /> One of the key elements of this testing methodology if you have the STUSERTRACE transaction code in your SAP system.<BR /> <BR /> This transaction code is well documented in SAP and also there are good blog posts about it on SCN, for example, <A href="https://blogs.sap.com/2021/09/20/stusertrace-new-tracing-option-authorization-trace-for-user/" target="_blank" rel="noopener noreferrer">https://blogs.sap.com/2021/09/20/stusertrace-new-tracing-option-authorization-trace-for-user/</A><BR /> <BR /> STUSERTRACE is collecting the data into a dedicated SAP table: (SUAUTHVALTRC) which sometimes makes the analysis easier and while you are running STUSERTRACE you still can use ST01 or STAUTHTRACE as usual.<BR /> <BR /> To sum up:<BR /> <UL><BR /> <LI>you have created reference user(s) and assigned them to the regular SAP user ID</LI><BR /> <LI>you assigned the new roles to the reference users</LI><BR /> <LI>you have activated the long-term trace and set up the filter for the regular user IDs</LI><BR /> </UL><BR /> At this point, you basically started the testing. You need to start the process of analyzing the trace results. In the authorization trace, you will see whether an authorization check was successful via the reference user or via the normal user or if it was not successful at all.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/01/Figure5.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure - 5 (picture was taken by me)</P><BR /> The reason why this methodology works well is that SAP <STRONG>authorizations are checked in sequence. First, the system checks if the reference user has the right authorization if not, then the system checks if the regular SAP user has the necessary authorization</STRONG>, this is why you needed to add the new roles to the reference users and keep the old roles for the regular SAP user ID. So basically, in this way you can run a “what-if” analysis regarding what would happen if the regular user had the new roles only.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/01/Figure6.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure - 6 (picture was taken by me)</P><BR /> <BR /> <H3 id="toc-hId--87029163"><STRONG>3.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Analyze results and fix issues</STRONG></H3><BR /> This is a bit weird but in this case, the lines which could be potential issues in STUSERTRACE are the ones that are successful <EM>without</EM> additional information (please see Figure - 5), because these authorization checks were successful with the authorizations of the regular user, so that is something which is missing from your new roles. Some of these values could be missing on purpose, therefore, those will be false-positive, this is something that requires careful analysis.<BR /> <BR /> The lines which are successful with the additional information “Authorized Through Reference User” are those authorization checks which will be successful with your new roles.<BR /> <BR /> The lines where the authorization check failed (either RC = 4 or 12) are cases where the access was already missing from the regular user (therefore from your "old" role) too.<BR /> <BR /> You can run the analysis as long as you feel confident that there are no issues left. The main advantage is that the business users will not notice any difference, they are doing their day-to-day job just like before and you will get a very detailed in-depth testing result.<BR /> <BR /> Once again just to state the obvious: <STRONG>it is important that not all failed authorization checks are issues, and not all passed authorization checks are OK, so when you apply this technical methodology, you need to know what you are doing</STRONG>.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId--412625387"><STRONG>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A few drawbacks</STRONG></H2><BR /> This is a technical approach to authorization testing and even if it has some major benefits (high testing quality and low business involvement) there are also a few drawbacks:<BR /> <UL><BR /> <LI>You cannot apply this methodology for roles that are already assigned to users in your productive system and you cannot apply this methodology for entities which not yet live in your productive system.</LI><BR /> <LI>You need to transport new roles all the way to prod. In some cases, this might not be possible, however, it worth a try to convince your internal controls team <span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></LI><BR /> <LI>There are a few things that are not “added” from the reference user<BR /> This methodology is useful for testing ABAP authorizations, so any other element of your “old” role (for example role menu for Fiori or NWBC, role technical name-based workflow, or other bespoke implementations which are depending on the role technical name) might not be tested with this methodology<BR /> Also, you might not be able to test the access aspects related to user parameters and other user master data-related settings.</LI><BR /> <LI>According to the documentation, a maximum of 1000 users can be traced at the time without performance impact. This number might be too low depending on the scale of your testing.</LI><BR /> <LI>Technical issues: I did not face any technical issues however, I found some blog posts on SCN and a few SAP support notes, about the STUSERTRACE transaction and the authorization checks of the reference users. These most likely have been fixed by the later support packages, but you might check what is your SAP version/ release and you start with some investigation first.</LI><BR /> </UL><BR /> &nbsp;<BR /> <H2 id="toc-hId--609138892"><STRONG>5&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Conclusion</STRONG></H2><BR /> Even if this methodology is quite technical and requires a bit more preparation than a usual test approach, I personally found it useful and effective. After a 3 month testing, while I only used this methodology there were only a very few minor issues after go-live.<BR /> <BR /> Please ask/ answer SAP Access Control related questions here:<BR /> <A href="https://answers.sap.com/tags/01200615320800000796" target="_blank" rel="noopener noreferrer">https://answers.sap.com/tags/01200615320800000796</A><BR /> <BR /> Please follow/ comment SAP Access Control related topics here:<BR /> <A href="https://blogs.sap.com/tags/01200615320800000796/" target="_blank" rel="noopener noreferrer">https://blogs.sap.com/tags/01200615320800000796/</A><BR /> <BR /> <STRONG>Please share below in the comment section your thoughts, and ideas on this blog post.&nbsp;</STRONG> 2023-01-05T17:02:34+01:00 https://community.sap.com/t5/technology-blogs-by-members/sap-security-role-redesigning-edition-1-2/ba-p/13571503 SAP Security Role Redesigning [Edition 1/2] 2023-01-18T09:57:44+01:00 mohammad_hanfi2 https://community.sap.com/t5/user/viewprofilepage/user-id/188568 <STRONG>Edition 1- SAP Security Role Redesigning</STRONG><BR /> <BR /> <STRONG>WHAT</STRONG>&nbsp;<STRONG>IS ROLE REDESIGNING?</STRONG><BR /> <BR /> A Role redesign, also sometimes referred to as security redesign or role remediation, refers to significant changes to SAP roles that impact the authorizations of SAP users.It is basically based on the principle of separation of duties (SoD). Due to different SoD requirements between companies, the final SoD review takes place in the customer concept, based on a defined set of rules.<BR /> <BR /> <STRONG>REASON OF ROLE REDESIGNING:</STRONG><BR /> <BR /> There are various reason why organizations Decide<BR /> to commencement on a role redesigning project,<BR /> Involve:<BR /> <UL><BR /> <LI>Segregation of Duty (SoD), is the concept of<BR /> having more than one person required to<BR /> complete a task. Effective SOD in an<BR /> organization is intended to prevent fraud and<BR /> error.</LI><BR /> <LI>Changes of organizational structure,</LI><BR /> <LI>Upgrade of SAP Systems</LI><BR /> <LI>Migrations to SAP S/4HANA</LI><BR /> <LI>Over-authorized users,</LI><BR /> <LI>Legal requirements,</LI><BR /> <LI>The desire to simplify role administration</LI><BR /> </UL><BR /> <STRONG>IMPROVE SECURITY BY REDESIGNING YOUR SAP AUTHORIZATIONS</STRONG><BR /> <UL><BR /> <LI>An authorization concept is highly complex and subject to dynamic changes.</LI><BR /> <LI>We provide the single roles that cover the major functions of SAP S/4HANA and SAP ERP.</LI><BR /> <LI>We adapt the naming conventions of our template roles to individual customers.</LI><BR /> <LI>We adapt the naming conventions of our template roles to individual customer.</LI><BR /> <LI>The roles are delivered with a standardized specification of the documentation structure in the role long text.</LI><BR /> <LI>If you use our role template, you benefit from enormous time savings, which will also be reflected in your project budget</LI><BR /> <LI>At the same time, you can grant access authorizations according to the need-to-know principle, which means each user is only assigned<BR /> the authorizations they need to perform their day-to-day work.</LI><BR /> <LI>By automating your SAP role generation, you can conserve valuable internal resources while at the same time guaranteeing the security<BR /> of your data and systems.</LI><BR /> <LI>The role design is based on the principle of separation of duties (SoD).</LI><BR /> </UL><BR /> <STRONG>BENEFITS OF SAP SECURITY ROLE REDESIGNING</STRONG><BR /> <BR /> <STRONG>Reduces Fraud/Risk :</STRONG><BR /> <UL><BR /> <LI>One thing that falls upon every organization is taking care of some events that can put SAP system at risk. These events involve-</LI><BR /> <LI>Removing and adding authorizations for a short time period</LI><BR /> <LI>External IP logins and logins at irregular time/hours</LI><BR /> <LI>Inactive users or dormant user accounts</LI><BR /> <LI>Managing segregation of duty (SoD) implications</LI><BR /> </UL><BR /> <STRONG>Transparency in the design:</STRONG><BR /> <UL><BR /> <LI>SAP system optimization is another crucial task for many businesses. Reducing and optimization of authorizations is an important activity that SAP system<BR /> requires and it is successfully achieved with the right SAP security design. Implementing roles and authorizations that are free from risks and SoD<BR /> complications leads to transparency of user authorizations and makes your audit easy. In addition, a proper and well-defined change management process will<BR /> help you keep your system clean at any point in time.</LI><BR /> </UL><BR /> <STRONG>Define the right role architecture/design:</STRONG><BR /> <UL><BR /> <LI>Lay the foundation for picking up the right design. When you are about to choose the right role design, ensure that the role architecture is designed to reduce your<BR /> existing access risks (in case of a new implementation, build risk-free roles).</LI><BR /> </UL><BR /> <STRONG>The roles can be either</STRONG><BR /> <UL><BR /> <LI>Single, master, derived, and composite roles (These are the technical designs that can be further broken into job-based and task-based<BR /> roles)</LI><BR /> <LI>Job-based and task-based roles (Based on the job function, or business task)</LI><BR /> <LI>Position-based design (Roles assigned to a position in the HR system. Every user will have the required access based on his/her position)</LI><BR /> </UL><BR /> <STRONG>Monitor your system 24/7 to keep it in a healthy state:</STRONG><BR /> <UL><BR /> <LI>Now that you have understood the importance of a well-designed security strategy, you need to monitor it to ensure that the design is<BR /> within the defined boundaries and your business data is safe. SAP GRC Audit Management (AM) is one such solution that can be<BR /> designed to monitor your SAP security system.</LI><BR /> </UL><BR /> &nbsp; 2023-01-18T09:57:44+01:00 https://community.sap.com/t5/technology-blogs-by-sap/consuming-a-business-technology-platform-service-from-an-s-4-hana-system/ba-p/13557416 Consuming a Business Technology Platform service from an S/4 HANA system using SM59 destination with OAuth 2023-05-19T20:17:30+02:00 Mani_P_S https://community.sap.com/t5/user/viewprofilepage/user-id/131162 <PRE><CODE>EDIT Oct 2023 - This feature is now available from release 750 with SAP note <A href="https://me.sap.com/notes/3324172/E" target="_blank" rel="noopener noreferrer">3324172</A></CODE></PRE><BR /> <H1 id="toc-hId-833115525"><STRONG><A name="_Toc135214960" target="_blank"></A>Scenario Description</STRONG></H1><BR /> In this blog, I present an introduction to OAuth and explain how to implement and configure the consumption of an OAuth-enabled service provided by the SAP Business Technology Platform from an SAP S/4HANA system (here workflow service on cloud foundry is used as an example) using the CL_HTTP_CLIENT class and SM59 destination. The blog only focuses on the client credentials and SAML Bearer Assertion grant types.<BR /> <BR /> We create a simple runnable ABAP class consuming an SM59 destination pointing to the REST API offered by the workflow service for cloud foundry. This is used to get details of the workflow definitions in the subaccount on SAP Business Technology Platform. The SM59 destination shall be configured for using OAuth with client credentials or SAML Bearer flow, as desired.<BR /> <BR /> <STRONG>Note</STRONG>: Here, the workflow service’s REST API is used only for demonstration. In a real use case where you need to connect to the workflow service, there is a dedicated API for this. [<A href="https://help.sap.com/docs/btp/sap-business-technology-platform/proxy-api-for-workflow-capability?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">Read More…</A>]<BR /> <H1 id="toc-hId-636602020">Introduction to OAuth</H1><BR /> In the traditional client-server authentication model, the client requests an access-restricted resource (protected resource) on the server by authenticating with the server using the resource owner's credentials (basic authentication).&nbsp; To provide third-party applications with access to restricted resources, the resource owner shares its credentials with the third party.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/ClientServer.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic;font-family: 'SAPRegular', 'Helvetica Neue', Arial, sans-serif">Third-party application access in client-server model</P><BR /> This creates several problems and limitations such as:<BR /> <UL><BR /> <LI>Third-party applications may store the resource owner's credentials for future use, potentially as clear text or with poor encryption.</LI><BR /> <LI>Servers are required to support password authentication, despite the security weaknesses inherent in passwords.</LI><BR /> <LI>Third-party applications gain overly broad access to the resource owner's protected resources, leaving resource owners without any ability to restrict duration or access to a limited subset of resources</LI><BR /> <LI>Resource owners cannot revoke access to an individual third party without revoking access to all third parties, and must do so by changing the password</LI><BR /> <LI>Compromise of any third-party application results in compromise of the end-user's password and all the data protected by that password</LI><BR /> </UL><BR /> OAuth addresses these issues by introducing an authorization layer and separating the role of the client from that of the resource owner. In OAuth, the client requests access to resources controlled by the resource owner and hosted by the resource server. The client is issued a different set of credentials than those of the resource owner.<BR /> <BR /> Instead of using the resource owner's credentials to access protected resources, the client obtains an access token -- a string denoting a specific scope, lifetime, and other access attributes.&nbsp; Access tokens are issued to third-party clients by an authorization server with the approval of the resource owner.&nbsp; The client uses the access token to access the protected resources hosted by the resource server. [Source: <A href="https://www.rfc-editor.org/rfc/rfc6749#page-4" target="_blank" rel="nofollow noopener noreferrer">https://www.rfc-editor.org/rfc/rfc6749#page-4</A>]<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/OAuth.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic;font-family: 'SAPRegular', 'Helvetica Neue', Arial, sans-serif">Third-party application access with OAuth</P><BR /> <BR /> <H1 id="toc-hId-440088515"><A name="_Toc135214961" target="_blank"></A>OAuth Client Credentials v/s SAML Bearer Assertion</H1><BR /> In this blog, I cover the client credentials and SAML Bearer assertion grant types. It is therefore important to know when to use each of these.<BR /> <BR /> The Client Credentials grant type is used by clients to obtain an access token outside of the context of a user. [<A href="https://oauth.net/2/grant-types/client-credentials/" target="_blank" rel="nofollow noopener noreferrer">Read more…</A>]. This works with the client ID and client secret.<BR /> <BR /> The OAuth SAML bearer assertion grant on the other hand can be used to propagate the principal (the logged on user) from S/4HANA to the Business Technology Platform. [<A href="https://datatracker.ietf.org/doc/html/rfc7522" target="_blank" rel="nofollow noopener noreferrer">Read more…</A>]<BR /> <H1 id="toc-hId-243575010"><A name="_Toc135214962" target="_blank"></A>How to use OAuth to connect from SAP S/4 HANA to an SAP Business Technology Platform service</H1><BR /> The following image shows the activities performed by different personas<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/ActivitiesPerformed1.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic;font-family: 'SAPRegular', 'Helvetica Neue', Arial, sans-serif">Activities performed by different personas</P><BR /> The steps broadly involve the following:<BR /> <UL><BR /> <LI>Create OAuth 2.0 client profile in SE80</LI><BR /> <LI>Establish Trust between the S/4HANA system and the subaccount on SAP Business Technology Platform</LI><BR /> <LI>Create OAuth configuration with the appropriate type (SAML Bearer/Client Credentials/…) using the profile created above</LI><BR /> <LI>Create destination to connect to the BTP service in SM59</LI><BR /> <LI>Consume the destination in code</LI><BR /> </UL><BR /> The subsequent sections of this blog detail the steps listed above.<BR /> <H1 id="toc-hId-47061505"><A name="_Toc135214963" target="_blank"></A>1. Gather the necessary information needed for configuration</H1><BR /> <H2 id="toc-hId--20369281"><A name="_Toc135214964" target="_blank"></A>1.1. As security administrator of the subaccount on SAP Business Technology Platform</H2><BR /> Download&nbsp;SAML&nbsp;metadata from&nbsp;the subaccount on SAP Business Technology Platform, where the service instance to be consumed (workflow in our example) is created.<BR /> <UL><BR /> <LI>As security administrator of the subaccount where the service resides, go to the “Trust Configuration” section in the menu and use the “Download SAML Metadata” button<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/downloadSAMLMetadata.png" /></LI><BR /> <LI>Open the SAML metadata file and note the following details. These details would be used in future steps<BR /> <UL><BR /> <LI>EntityID - This is the entity ID of the SAML service provider and will be used as&nbsp;<STRONG>SAML</STRONG><STRONG>&nbsp;Audience</STRONG> for our OAuth SAML Bearer assertion configuration later<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/entityID.png" /></LI><BR /> <LI>Location of the SAML binding URI (which contains /oauth/token) - This would be our <STRONG>token service URL</STRONG> in the configuration<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/locationOfSAMLURI-1.png" /></LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <H2 id="toc-hId--216882786"><A name="_Toc135214965" target="_blank"></A>1.2. As space developer of the subaccount on SAP Business Technology Platform</H2><BR /> Go to the Business Technology Platform service instance (workflow service in this example) and read the service key details. If a service key does not exist, you could create one as per the <A href="https://help.sap.com/docs/btp/sap-business-technology-platform/creating-service-keys" target="_blank" rel="noopener noreferrer">documentation</A>. Following information is required from the service key:<BR /> <H3 id="toc-hId--284313572"><A name="_Toc135214966" target="_blank"></A>1.2.1. Client ID, Client Secret and URL</H3><BR /> <UL><BR /> <LI>The Client ID and Client Secret would be used against the corresponding fields in the configuration.</LI><BR /> <LI>The authorization endpoint in the configuration would be the URL from the service key followed by "/oauth/authorize" without spaces.<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/clientidsecret.png" /></LI><BR /> </UL><BR /> <H3 id="toc-hId--480827077"><A name="_Toc135214967" target="_blank"></A>1.2.2. Endpoints - WORKFLOW REST URL</H3><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/workflowresturl.png" /></P><BR /> The host for our SM59 destination used to connect to the workflow service shall be this URL without the https://<BR /> <BR /> The part of this URL after “.com” shall form the <STRONG>path prefix</STRONG> of our SM59 destination for a basic connection to the workflow service. To make this more meaningful, we will enhance this path prefix with the specific REST endpoint for the workflow definitions.<BR /> <H2 id="toc-hId--806423301"><A name="_Toc135214968" target="_blank"></A>1.3. Using web browser to access the API Business Hub</H2><BR /> To identify the specific path to the workflow-definitions endpoint, go to the API Business Hub (api.sap.com)<BR /> <UL><BR /> <LI>Search for the “Workflow service for cloud foundry”</LI><BR /> <LI>Navigate to the <A href="https://api.sap.com/api/SAP_CP_Workflow_CF/resource/Workflow_Definitions" target="_blank" rel="noopener noreferrer">API Reference section</A> and pick a suitable <STRONG>path prefix</STRONG> (example: workflow-definitions)</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/05/apihub-2.png" /></P><BR /> The summary of required details and where to find them is presented by the following image<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/summaryofdetails.png" /></P><BR /> <BR /> <H1 id="toc-hId--362279442">2. Establish trust between the S/4HANA System and the Business Technology Platform</H1><BR /> <H2 id="toc-hId--852195954">2.1. As administrator of the S/4HANA system</H2><BR /> <STRONG>Note</STRONG>: This step can be skipped if client credentials grant type is used. See section OAuth configuration with client credentials.<BR /> <BR /> For the S/4HANA system to issue a SAML assertion and for the Business Technology Platform to validate this, we need to establish trust. To achieve this -<BR /> <UL><BR /> <LI>Login to&nbsp;the SAP S/4HANA&nbsp; system and start the oa2c_config transaction</LI><BR /> <LI>Enable SAML 2.0 by clicking the “<STRONG>SAML 2.0 Enabled</STRONG>” button</LI><BR /> <LI>Download SAML 2.0 metadata using the “<STRONG style="font-size: 1rem">Download SAML 2.0 Metadata</STRONG><SPAN style="font-size: 1rem">” button</SPAN></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/05/samlmetadatas4h.png" /></P><BR /> <STRONG>Note</STRONG>: If the download button is not visible, apply SAP Note <A href="https://launchpad.support.sap.com/#/notes/3229914" target="_blank" rel="noopener noreferrer">3229914</A>.<BR /> <H2 id="toc-hId--1048709459">2.2. As security administrator of the subaccount on SAP Business Technology Platform</H2><BR /> Note: This step can be skipped if client credentials grant type is used. See section OAuth configuration with client credentials.<BR /> <BR /> To set the ABAP system as the SAML Assertion issuer for getting the credentials (Email) whenever a token is requested<EM>, </EM>upload the&nbsp;SAML&nbsp;2.0 Metadata downloaded in step 3, to&nbsp;the subaccount on SAP Business Technology Platform.<BR /> <UL><BR /> <LI>As security administrator, go to the trust configuration section of the subaccount which contains the service instance you wish to use (in our example, workflow)</LI><BR /> <LI>Click the “New Trust Configuration” button</LI><BR /> <LI>Upload the SAML 2.0 metadata downloaded from the OA2C_CONFIG transaction.</LI><BR /> </UL><BR /> After the upload, a new&nbsp;identity provider (IDP)&nbsp;would be listed with the name specified in the form<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/newidp.png" /></P><BR /> Note: We do not need this identity provider (IDP) for user logon. Therefore, make sure to disable the “Available for user logon” checkbox.<BR /> <H2 id="toc-hId--1245222964">2.3. Add SSL/TLS digital signature certificate to the certificate list of the SSL Client Anonymous PSE (Personal Security Environment)</H2><BR /> To establish a trusted relationship using the OAuth 2.0 client with SAP Business Technology Platform, you must use an SSL/TLS communication channel between your service provider (SAP BTP) and the SAP S/4HANA System. For this purpose, the service provider (SAP BTP) and the SAP S/4HANA System must trust each other. This is achieved by placing the SSL/TLS digital signature certificate of the service provider (SAP BTP) in the certificate list of the SSL Client Anonymous PSE (Personal Security Environment) of the SAP S/4HANA system.<BR /> <H3 id="toc-hId--1735139476">2.3.1. Using web browser in the SAP Business Technology Platform,</H3><BR /> <UL><BR /> <LI>To achieve this, open the subaccount and from the address bar of the browser, click the lock icon<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/lockicon.png" /></LI><BR /> <LI>Go to “Connection is secure”-&gt;” Certificate is valid”</LI><BR /> <LI>Go to the details tab and export the certificate for the root CA of the certificate hierarchy<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/certificateexport.png" /></LI><BR /> </UL><BR /> <H3 id="toc-hId--1931652981">2.3.2. As administrator in the S/4HANA system</H3><BR /> <UL><BR /> <LI>In the S/4HANA system, go to transaction STRUST and open the edit mode</LI><BR /> <LI>Under the SSL Client (Anonymous), double click the subject. Scroll down to the certificate section and click the import certificate button<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/strustanonym.png" /></LI><BR /> <LI>Import the certificate exported above and save</LI><BR /> </UL><BR /> <H1 id="toc-hId--1541360472">3.&nbsp;Configure connection to the BTP service via OAuth</H1><BR /> To make sure that users access only the resources that are exposed to them, you can restrict access through scopes in an OAuth client profile. An OAuth 2.0 scope represents a list of resources that can be accessed by remote applications.<BR /> <H2 id="toc-hId--2031276984">3.1. As developer on the S/4HANA system</H2><BR /> <UL><BR /> <LI>In the SAP S/4HANA system, use transaction SE80.</LI><BR /> <LI>Under your development package, create an OAUTH 2.0 Client Profile. This is used to define the scopes. For simplicity, I do not specify any scopes in our example</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/05/samlprofile.png" /></P><BR /> <STRONG>Note</STRONG>: Specifying the wildcard * under scopes is NOT the same as not specifying any scopes. Specifying such a wildcard could cause errors.<BR /> <H2 id="toc-hId-2067176807">3.2. As Administrator on the S/4HANA system</H2><BR /> <UL><BR /> <LI>Next, we need a client for our communication. The communication between OAuth 2.0 client and server is secured by an HTTPS connection. The end users can then use services and resources offered by the service provider<BR /> <UL><BR /> <LI>Use T-code OA2C_CONFIG to create an OAUTH 2.0&nbsp;client.</LI><BR /> <LI>When requested for OAUTH profile name, use the profile name created SE80. Use Client ID copied from the information gathering stage.<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/SAMLClient.png" /></LI><BR /> </UL><BR /> </LI><BR /> <LI>We now can choose the OAuth method we wish to use. In the current blog, we restrict the explanation to only the Client Credentials and SAML Bearer Assertion approaches.</LI><BR /> </UL><BR /> <H3 id="toc-hId-1577260295">3.2.1. OAuth Configuration with Client Credentials</H3><BR /> Provide the following details based on the results of the information gathering section<BR /> <UL><BR /> <LI>Client Secret</LI><BR /> <LI>Authorization Endpoint</LI><BR /> <LI>Token Endpoint</LI><BR /> <LI>Remaining Details:<BR /> <UL><BR /> <LI>Client Authentication: Form Fields</LI><BR /> <LI>Resource Access Authentication: Header Field</LI><BR /> <LI>Selected Grant Type: Client Credentials</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <H3 id="toc-hId-1548930481">3.2.2. OAuth Configuration with SAML Bearer Assertion</H3><BR /> Provide the following details based on the results of the information gathering section<BR /> <UL><BR /> <LI>Client secret</LI><BR /> <LI>Authorization Endpoint</LI><BR /> <LI>Token Endpoint</LI><BR /> <LI>SAML&nbsp;2.0 audience</LI><BR /> <LI>SAML&nbsp;2.0 recipient: &lt;Auto populated using Token endpoint&gt;</LI><BR /> <LI>Remaining Details:<BR /> <UL><BR /> <LI>Client Authentication: Form Fields/Basic</LI><BR /> <LI>Resource Access Authentication: Header Field</LI><BR /> <LI>Selected Grant Type: Current User Related</LI><BR /> <LI>Grant Type (Current User Related): SAML 2.0 Bearer Assertion</LI><BR /> <LI>User Email for SAML 2.0 Name ID: 000</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/05/samlbearerconfig.png" /></P><BR /> <BR /> <UL><BR /> <LI>Once configuration is done and saved, a test could be done using T-Code OA2C_GRANT. Select the profile and click on the button “Request OAUTH 2.0 Token”. If everything is configured correctly, the “Access Status” column will be green and “Receive Date”, “Receive Time” would be filled<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/oa2cgrant1.png" /><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/oa2cgrant2.png" /><BR /> <STRONG>Note</STRONG>: The OA2C_GRANT transaction, shown under administrator activities on SAP S/4HANA can only be used to request access tokens for user-related grant types, i.e. SAML Bearer Assertion grant type (see section OAuth configuration with SAML Bearer Assertion) and Authorization Code grant type (not covered in this blog). The OA2C_GRANT app cannot be used to request an access token for OAuth configurations where the Client Credentials grant type is selected</LI><BR /> <LI>Since we are propagating the email ID for single sign-on, users in&nbsp;the S/4HANA system&nbsp;should have email id maintained. Use transaction SU01 to verify this<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/su01.png" /></LI><BR /> </UL><BR /> <H2 id="toc-hId-1645819983">3.3. As Security Administrator on the Business Technology Platform</H2><BR /> Assign Roles/Role Collections to&nbsp;S/4HANA&nbsp;On Premise specific users (by using the new&nbsp;IDP&nbsp;we set up).<BR /> This step is only needed if you chose the OAuth SAML Bearer Assertion in the previous step<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/workflowroles.png" /></P><BR /> <BR /> <H2 id="toc-hId-1449306478">3.4. As Administrator in the S/4HANA system, create SM59 destination with OAuth settings</H2><BR /> <UL><BR /> <LI>On the S/4HANA System, go to transaction SM59 and create a destination of type G (HTTP connections to external server). We use Type G since we wish to connect to BTP which is external.</LI><BR /> <LI>Under the technical settings tab, provide the following details:<BR /> <UL><BR /> <LI>Host: api.workflow-sap.cfapps.sap.hana.ondemand.com (Obtained in the information gathering section)</LI><BR /> <LI>Path Prefix: /workflow-service/rest/v1/workflow-definitions (Here, and /v1/workflow-definitions is the additional path we use to get the workflow-definitions)</LI><BR /> <LI>Port: 443 (Default HTTPS port)</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/05/technicalSettings.png" /></P><BR /> <BR /> <UL><BR /> <LI>Under the Logon and Security tab,<BR /> <UL><BR /> <LI>Use the OAuth Settings button to link the OAuth configuration we did earlier with the SM59 destination</LI><BR /> <LI>Click the button and provide the OAuth profile name and OAuth configuration names as defined in corresponding steps</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/05/logonsecurity.png" /></P><BR /> <BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>Scroll down to the security options and under “Status of Secure Protocol”, ensure the following:<BR /> <UL><BR /> <LI>SSL: Active</LI><BR /> <LI>SSL Certificate: ANONYM SSL Client (Anonymous)</LI><BR /> </UL><BR /> </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/05/SSLAnonym.png" /></P><BR /> <BR /> <UL><BR /> <LI>Perform a connection test to ensure everything is set up correctly. If all configuration is correct, you should get a status code 200<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/SM59Test.png" /></LI><BR /> </UL><BR /> <H1 id="toc-hId-1546195980">4. Use the destination in ABAP Code</H1><BR /> The SM59 destination, now linked to the OAuth configuration can be used in ABAP code as demonstrated in the following runnable class (created as developer in the S/4HANA system)<BR /> <PRE class="language-abap"><CODE>class ZCL_OAUTH_BTP_WF definition<BR /> <BR /> public<BR /> <BR /> final<BR /> <BR /> create public .<BR /> <BR /> public section.<BR /> <BR /> INTERFACES IF_OO_ADT_CLASSRUN.<BR /> <BR /> protected section.<BR /> <BR /> private section.<BR /> <BR /> ENDCLASS.<BR /> <BR /> CLASS ZCL_OAUTH_BTP_WF IMPLEMENTATION.<BR /> <BR /> METHOD IF_OO_ADT_CLASSRUN~MAIN.<BR /> <BR /> TRY.<BR /> <BR /> * Create HTTP client using the SM59 Destination with log-on configured using OAuth<BR /> <BR /> CALL METHOD cl_http_client=&gt;create_by_destination<BR /> <BR /> EXPORTING<BR /> <BR /> destination = 'S4H_2021_BTP_WF' "Name of SM59 Destination<BR /> <BR /> IMPORTING<BR /> <BR /> client = DATA(http_client).<BR /> <BR /> IF sy-subrc &lt;&gt; 0.<BR /> <BR /> out-&gt;write( 'Could not create http client' ).<BR /> <BR /> ENDIF.<BR /> <BR /> * In productive code, handle potentially raised exceptions better. Not handled here for brevity<BR /> <BR /> http_client-&gt;send( ).<BR /> <BR /> http_client-&gt;receive( ).<BR /> <BR /> http_client-&gt;response-&gt;get_status( IMPORTING<BR /> <BR /> code = DATA(status_code)<BR /> <BR /> reason = DATA(http_status_description) ).<BR /> <BR /> out-&gt;write( 'HTTP Status: ' &amp;&amp; status_code ).<BR /> <BR /> * Read the parsed character data from the HTTP response<BR /> <BR /> DATA(workflow_definition_data) = http_client-&gt;response-&gt;get_cdata( ).<BR /> <BR /> out-&gt;write( workflow_definition_data ).<BR /> <BR /> * Generic exception handling done for brevity<BR /> <BR /> IF http_client-&gt;oauth_last_err_txt IS NOT INITIAL.<BR /> <BR /> out-&gt;write( http_client-&gt;oauth_last_err_txt ).<BR /> <BR /> ENDIF.<BR /> <BR /> CATCH cx_root INTO DATA(exception).<BR /> <BR /> out-&gt;write( exception-&gt;get_longtext( ) ).<BR /> <BR /> ENDTRY.<BR /> <BR /> ENDMETHOD.<BR /> <BR /> ENDCLASS.</CODE></PRE><BR /> Executing this class, provides the details of workflow definitions in the subaccount<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/output.png" /></P><BR /> For some troubleshooting guidance in case of issues and to share your experiences with issues you may face, please refer the following blog:&nbsp;<A href="https://blogs.sap.com/2023/05/19/troubleshooting-errors-when-connecting-to-a-service-on-sap-business-technology-platform-through-oauth/" target="_blank" rel="noopener noreferrer">Troubleshooting errors when connecting to a service on SAP Business Technology Platform through OAuth</A><BR /> <BR /> What is your experience with OAuth in SAP software? Looking forward to discussions in the comments section! 2023-05-19T20:17:30+02:00 https://community.sap.com/t5/technology-blogs-by-sap/troubleshooting-errors-when-connecting-to-a-service-on-sap-business/ba-p/13557536 Troubleshooting errors when connecting to a service on SAP Business Technology Platform through OAuth 2023-05-19T20:28:08+02:00 Mani_P_S https://community.sap.com/t5/user/viewprofilepage/user-id/131162 Motivation:<BR /> <BR /> In my earlier blog, <A href="https://blogs.sap.com/2023/05/19/consuming-a-business-technology-platform-service-from-an-s-4-hana-system-using-sm59-destination-with-oauth/" target="_blank" rel="noopener noreferrer">Consuming a Business Technology Platform service from an S/4 HANA system using SM59 destination with OAuth</A>, I covered what it takes to connect to an SAP BTP service from S/4HANA on-premise using OAuth. Here, we look at some errors one may come across and how to troubleshoot them. This is by no means an exhaustive list and I encourage you to share the errors/issues you face in the comments section so over a period, this grows into a document that can help a lot of people<BR /> <BR /> Useful troubleshooting technique:<BR /> <BR /> Run the report OA2C_GENERIC_ACCESS with SE38. This is a report that can be used to test the OAuth 2.0 client configuration/access tokens request (for all grant types). The report shows the complete raw error response which might be helpful for troubleshooting.<BR /> Example:<BR /> Error when trust configuration is missing/wrong on the Business Technology Platform:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/error1-1.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px">Error when “<EM>&lt;URL&gt;</EM>/oauth/token” is configured as token endpoint in OA2C_CONFIG instead of “<EM>&lt;URL&gt;</EM>/oauth/token/alias/<EM>mytenant</EM>” (from the downloaded SAML Metadata):<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/05/Error2.png" /></P><BR /> Some other errors/issues along with solutions:<BR /> <OL><BR /> <LI>Download SAML Metadata button not visible in t-code OA2C_CONFIG<BR /> Solution: Apply SAP Note <A style="font-size: 1rem" href="https://launchpad.support.sap.com/#/notes/3229914" target="_blank" rel="noopener noreferrer">3229914</A><SPAN style="font-size: 1rem">.</SPAN></LI><BR /> </OL><BR /> <OL start="2"><BR /> <LI>OA2C_GRANT does not return OAuth 2.0 token<BR /> Solution: In OA2C_CONFIG, for the created configuration, verify if the following are correctly mapped:<BR /> <UL><BR /> <LI>Client ID/ Client Secret are as defined in the service key of the BTP service being connected to (workflow service in this example)</LI><BR /> <LI>The SAML 2.0 Audience is the "Entity ID" from the SAML Metadata of the sub-account which we are connecting to. The SAML metadata can be downloaded under "Trust Configuration" section of the sub-account</LI><BR /> <LI>The Token End Point is the Location ID from the SAML metadata of the sub-account which contains "/oauth/token". Ensure the Location ID is copied along with alias</LI><BR /> </UL><BR /> </LI><BR /> </OL><BR /> <OL start="3"><BR /> <LI>Error: "Create Failed" when doing a connection test in SM59<BR /> Solution: Check the token service URL in OA2C_CONFIG. Check if "https://" is repeated. Note: This is automatically added and while copy-pasting the URL, this needs to be done without https://</LI><BR /> </OL><BR /> <OL start="4"><BR /> <LI>Error: "Connection to &lt;URL&gt; broken" when doing a connection test in SM59<BR /> Solution: Under the Logon and Security Tab of the SM59 destination, under status of secure protocol, make sure SSL is active and the right SSL certificate is chosen (where the certificate from BTP was imported)</LI><BR /> </OL><BR /> Additional material for troubleshooting at the level of the XSUAA service on the Business Technology Platform:<BR /> <UL><BR /> <LI>Status Code 401:&nbsp;<A href="https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290:52819" target="_blank" rel="noopener noreferrer">https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290:52819</A></LI><BR /> <LI>SAML Issues:&nbsp;<A href="https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290" target="_blank" rel="noopener noreferrer">https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290</A><BR /> <UL><BR /> <LI>E.g.&nbsp;<A href="https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290:48369" target="_blank" rel="noopener noreferrer">https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290:48369</A>&nbsp;or&nbsp;<A href="https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290:48362" target="_blank" rel="noopener noreferrer">https://ga.support.sap.com/dtp/viewer/index.html#/tree/2212/actions/28290:48362</A></LI><BR /> </UL><BR /> </LI><BR /> <LI>Trust Establishment in general (both SAML and OIDC):&nbsp;<A href="https://help.sap.com/docs/btp/sap-business-technology-platform/establish-trust-and-federation-between-uaa-and-identity-authentication" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/btp/sap-business-technology-platform/establish-trust-and-federation-between-uaa-and-identity-authentication</A></LI><BR /> <LI>Attribute Mapping (SAML):&nbsp;<A href="https://help.sap.com/docs/btp/sap-business-technology-platform/federation-attribute-settings-of-any-identity-provider" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/btp/sap-business-technology-platform/federation-attribute-settings-of-any-identity-provider</A></LI><BR /> </UL><BR /> Looking forward to hearing your experiences with this setup, the issues/struggles you had or on the other hand, the great experience you had!<BR /> <BR /> &nbsp; 2023-05-19T20:28:08+02:00 https://community.sap.com/t5/technology-blogs-by-members/should-we-use-sap-standard-roles-or-not/ba-p/13564853 Should we use SAP Standard Roles or not. 2023-07-25T22:13:28+02:00 nishusingh123 https://community.sap.com/t5/user/viewprofilepage/user-id/691811 <DIV><BR /> <DIV><BR /> <DIV><BR /> <DIV><BR /> <BR /> As SAP security practitioners, we frequently encounter a critical decision-making process concerning the effective management of user access. Today, we will explore a pivotal subject that often sparks debates within the SAP community: <STRONG>The utilization of SAP Standard Roles</STRONG>.<BR /> <BR /> SAP Standard Roles are predefined roles provided by SAP for each of its applications or modules, identifiable by their nomenclature starting with "SAP*."<BR /> <BR /> <EM><STRONG>SAP's Recommendation:</STRONG></EM><BR /> <BR /> SAP advises against direct usage of standard roles and instead recommends utilizing them as a reference for creating customized roles within the client namespace. It is not mandatory for the client namespace to be designated as Z* or Y*, as long as the roles created do not commence with SAP* and are tailored to suit the specific requirements of the client.<BR /> <BR /> In fact, any attempt to create a role starting with SAP will result in an error message stating: "Role SAPXXX... is not in the customer namespace."<BR /> <BR /> <STRONG>Rationale for Avoidance:</STRONG><BR /> <BR /> <EM>The suggestion to avoid employing SAP standard roles is based on several reasons:</EM><BR /> <OL><BR /> <LI><STRONG>Security Risks</STRONG>: SAP standard roles are generic and grant extensive authorizations, potentially exposing sensitive data and functionalities unnecessarily.</LI><BR /> <LI><STRONG>Compliance Concerns</STRONG>: Standard roles may not align with industry-specific compliance requirements, leading to potential audit failures and legal consequences.</LI><BR /> <LI><STRONG>Limited Flexibility</STRONG>: Standard roles may not cater to an organization's unique business processes and security needs, hindering the ability to customize authorizations effectively.</LI><BR /> <LI><STRONG>Complex Role Management</STRONG>: As the organization expands, managing and updating standard roles can become cumbersome, whereas custom roles can be more efficiently maintained.</LI><BR /> <LI><STRONG>Reduced Efficiency</STRONG>: SAP standard roles often provide more access privileges than required, compromising user efficiency and increasing the risk of misuse.</LI><BR /> <LI><STRONG>Conflict Resolution</STRONG>: Addressing segregation of duties (SoD) conflicts or user access issues with standard roles can be challenging due to their generalized nature.</LI><BR /> <LI><STRONG>Impact of SAP Updates</STRONG>: SAP system upgrades may modify standard roles, potentially disrupting user access and necessitating additional configuration efforts.</LI><BR /> </OL><BR /> <STRONG>Recommended Approach</STRONG>:<BR /> <BR /> To overcome these challenges, it is advisable to implement custom roles based on the principle of least privilege. Custom roles offer more precise control over user access, aligning authorizations with specific job duties and ensuring compliance with industry regulations.<BR /> <BR /> &nbsp;<BR /> <BR /> </DIV><BR /> Engaging in a Professional Discourse - Welcome Your Valuable Contributions! <span class="lia-unicode-emoji" title=":briefcase:">💼</span><BR /> <BR /> I cordially extend an invitation to SAP enthusiasts, security experts, and professionals to participate in a constructive conversation. Together, let us exchange insightful thoughts, valuable experiences, and industry best practices pertaining to SAP access management. We encourage you to share success stories, encountered challenges, and innovative solutions in the comments section below. Your contributions will undoubtedly enrich the discussion and foster a collaborative learning environment.<BR /> <BR /> </DIV><BR /> </DIV><BR /> </DIV><BR /> <DIV><BR /> <DIV><BR /> <DIV><BR /> <DIV></DIV><BR /> </DIV><BR /> </DIV><BR /> </DIV> 2023-07-25T22:13:28+02:00 https://community.sap.com/t5/technology-blogs-by-sap/bw-4hana-security-sap-bw-4hana-migration-remote-conversion/ba-p/13575339 BW/4HANA Security: SAP BW/4HANA Migration (Remote Conversion) 2023-08-06T05:44:48+02:00 Krishan https://community.sap.com/t5/user/viewprofilepage/user-id/14777 <H1 id="toc-hId-834902089"><STRONG>Introduction</STRONG></H1><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.<BR /> <H2 id="toc-hId-767471303"><STRONG>Business Scenario:</STRONG></H2><BR /> 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.<BR /> <H2 id="toc-hId-570957798"><STRONG>Step1: Transport SU25 changes</STRONG></H2><BR /> <UL><BR /> <LI>Create a transport request in BW system for customer tables.</LI><BR /> <LI>Transport the customer tables from BW to BW/4HANA system.</LI><BR /> </UL><BR /> <H2 id="toc-hId-374444293"><STRONG>Step2: SAP BW Users.</STRONG></H2><BR /> <UL><BR /> <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><BR /> <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><BR /> </UL><BR /> <H2 id="toc-hId-177930788"><STRONG>Step3: Transport BW Analysis Authorizations</STRONG></H2><BR /> <UL><BR /> <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><BR /> <LI>Transport the scoped analysis authorizations from BW to BW/4HANA system.</LI><BR /> </UL><BR /> <H2 id="toc-hId--18582717"><STRONG>Step4: Transport BW roles</STRONG></H2><BR /> <UL><BR /> <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><BR /> <LI>Transport the scoped roles from BW to BW/4HANA system.</LI><BR /> </UL><BR /> <H2 id="toc-hId--215096222"><STRONG>Step5: Run SU25 Steps</STRONG></H2><BR /> <UL><BR /> <LI>Execute SU25 steps i.e. Step 2A, 2B, 2D and 2C</LI><BR /> <LI>Extract the list of impacted roles, discuss with the business and remediate the roles.</LI><BR /> </UL><BR /> <H2 id="toc-hId--411609727"><STRONG>Step6: Execute Transfer of Authorizations into BW/4HANA</STRONG></H2><BR /> <UL><BR /> <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><BR /> <LI>Program “RS_B4HTAU_CREATE_RUN” gives you the list of impacted authorizations for the corresponding object types.</LI><BR /> <LI>Run Program “RS_B4HTAU_CREATE_RUN” into BW/4HANA system.</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/08/1-13.png" height="443" width="814" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic;font-family: SAPRegular, 'Helvetica Neue', Arial, sans-serif;overflow: hidden;margin-bottom: 0px">Fig.1.1</P><BR /> <BR /> <UL><BR /> <LI>Create Rule ID to perform Transfer of Authorizations</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/08/2-11.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.2</P><BR /> <BR /> <UL><BR /> <LI>Add the required BW/scoped roles which needs to be analyzed.</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/08/3-10.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.3</P><BR /> <BR /> <UL><BR /> <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><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/08/5-5.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.4</P><BR /> <BR /> <UL><BR /> <LI>Selected BW/scoped roles with corresponding new BW/4HANA roles (with suffix) gets available in the Transfer of Authorizations tool.</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/08/6-5.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.5</P><BR /> <BR /> <UL><BR /> <LI>Click on Initial Run and Delta Run to perform the analysis on the selected BW roles.</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/08/7-2.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.6</P><BR /> 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.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/7-3.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.7</P><BR /> <STRONG>ADJUST: </STRONG>Check if there is any change in the values of authorization object and adapt it accordingly.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/8-4.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.8</P><BR /> <STRONG>REPLACE: </STRONG>Change the Authorization Objects and adapt it's values accordingly.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/9-2.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.9</P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/10-2.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.10</P><BR /> <STRONG>OBSOLETE: </STRONG>Authorization object is not supported or obsolete, should be removed/deactivated from the role.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/11-3.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.11</P><BR /> <BR /> <UL><BR /> <LI>Click on the Generate button to create and generate the new BW/4HANA role with defined suffix.</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/08/12-1.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Fig.1.12</P><BR /> Role gets created &amp; generated into BW/4HANA system with automatically adjustments of All Action Types.<BR /> <BR /> <STRONG>Note:</STRONG><BR /> <OL><BR /> <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><BR /> <LI>SAP BW/4HANA has some Fiori Apps which can be enabled and mapped into the roles based on the business requirement.</LI><BR /> </OL><BR /> <H4 id="toc-hId--349957794"><STRONG>List of Important Notes:</STRONG></H4><BR /> <UL><BR /> <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><BR /> <LI><A href="https://me.sap.com/notes/2468657" target="_blank" rel="noopener noreferrer">2468657 - BW4SL &amp; BWbridgeSL - Standard Authorizations</A></LI><BR /> <LI><A href="https://me.sap.com/notes/2930058" target="_blank" rel="noopener noreferrer">2930058 - FAQ - SAP BW/4 Conversions</A></LI><BR /> </UL><BR /> <H4 id="toc-hId--546471299"><STRONG>List of Important Links:</STRONG></H4><BR /> <UL><BR /> <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><BR /> </UL><BR /> &nbsp;<BR /> <BR /> <STRONG>Feedbacks, questions and comments are most welcome!!</STRONG><BR /> <BR /> <EM>Please follow my profile for future posts on SAP Security and GRC. Also, follow myself via&nbsp;</EM><STRONG><A href="https://www.linkedin.com/in/krishan-kumar-6bb474119/" target="_blank" rel="noopener nofollow noreferrer"><EM>LinkedIn</EM></A></STRONG><BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG><EM>Happy Learnings!</EM></STRONG><BR /> <BR /> Krishan . 2023-08-06T05:44:48+02:00 https://community.sap.com/t5/technology-blogs-by-members/filter-table-maintenance-view-rows-based-on-user-authorizations/ba-p/13573814 Filter table maintenance view rows based on user authorizations 2023-09-01T17:02:26+02:00 Buddhinath https://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 &gt; Authorization &gt; 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 &gt; IMG &gt; SAP NetWeaver &gt; Application Server &gt; System Administration &gt; Users and Authorization &gt; Line-oriented Authorization &gt; 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 = &lt;sales org&gt;<BR /> ORG_FIELD2 = &lt;order type&gt;<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:00 https://community.sap.com/t5/technology-blogs-by-members/custom-tcode-management/ba-p/13580494 Custom Tcode Management 2023-09-22T00:31:35+02:00 shivakumarbalaiah_balaiah https://community.sap.com/t5/user/viewprofilepage/user-id/879151 As 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:&nbsp;</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.&nbsp; 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 &amp; 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 /> &nbsp;<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:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/relation-between-sap-s-4hana-system-upgrade-migration-conversion-and-sap/ba-p/13579632 Relation between SAP S/4HANA System Upgrade | Migration | Conversion and SAP Security Upgrade 2023-12-20T00:13:38+01:00 karthikj2 https://community.sap.com/t5/user/viewprofilepage/user-id/148163 In 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 /> &nbsp;<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 &amp; above versions (Reference SAP Note: 3338941)<BR /> <BR /> &nbsp;<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 &amp; 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 &amp; 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:00 https://community.sap.com/t5/financial-management-blogs-by-members/sap-user-access-reviews-best-practices/ba-p/13575463 SAP User Access Reviews: Best practices 2024-01-13T11:28:39+01:00 GRCwithRaghu https://community.sap.com/t5/user/viewprofilepage/user-id/600573 Let’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 /> &nbsp;<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:00 https://community.sap.com/t5/technology-blogs-by-members/basis-monitoring-amp-tcodes-with-key-notes/ba-p/13591678 Basis Monitoring & Tcodes with Key notes 2024-02-05T14:25:53.980000+01:00 Williams43 https://community.sap.com/t5/user/viewprofilepage/user-id/779356 <P>Hi All,&nbsp;</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>&nbsp;</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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp; #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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;</P> 2024-02-05T14:25:53.980000+01:00 https://community.sap.com/t5/technology-blogs-by-members/user-types-in-sap-abap-stack-systems/ba-p/13622465 User types in SAP ABAP Stack Systems 2024-02-28T14:30:09.735000+01:00 gsaiprasad1 https://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&nbsp;</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&amp;px=999" role="button" title="ravishankarp_0-1709124721205.png" alt="ravishankarp_0-1709124721205.png" /></span></P><P>&nbsp;<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>&nbsp;<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>&nbsp; : 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>&nbsp;: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>&nbsp;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&amp;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&nbsp; 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>&nbsp;</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&amp;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>&nbsp;</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>&nbsp;</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>&nbsp;<BR /><BR /></P> 2024-02-28T14:30:09.735000+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-s-4hana-extracting-user-email-addresses-from-standard-tables/ba-p/13697756 SAP S/4HANA - Extracting User Email Addresses from Standard Tables 2024-05-10T15:09:30.362000+02:00 karthikj2 https://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> -&gt; Enter Table Name : <STRONG>USR21</STRONG> -&gt; Execute</P><P>Provide the list of User ID(s) through Multiple Selection for <STRONG>BNAME </STRONG>-&gt; 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&amp;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&amp;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> -&gt; Enter Table Name: <STRONG>ADR6</STRONG> -&gt; Execute</P><P>Provide the list of Personnel Number(s) through Multiple Selection for <STRONG>PERSNUMBER </STRONG>-&gt; 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&amp;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&amp;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>&nbsp;</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&amp;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 :&nbsp;<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:00