https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-BTP-Security-blog-posts.xml SAP Community - SAP BTP Security 2024-05-09T20:00:25.476366+00:00 python-feedgen SAP BTP Security blog posts in SAP Community https://community.sap.com/t5/technology-blogs-by-members/integrate-app-into-work-zone-from-a-different-subaccount/ba-p/13584425 Integrate app into Work Zone from a different subaccount 2024-01-29T10:26:44.538000+01:00 JulianKuipers https://community.sap.com/t5/user/viewprofilepage/user-id/16502 <P>I'm Julian Kuipers, a Full Stack SAP Developer in The Netherlands, currently working with a company called INNOV8iON. We focus on creating new and better ways to use SAP.</P><H2 id="toc-hId-964879464">Introduction</H2><P>Not long ago, I was given a task that looked easy at first but turned out to be quite a puzzle. My job was to integrate a custom Fiori application, which has its own standalone approuter, into SAP Build Work Zone, standard edition. The tricky part was that the Fiori app and the SAP Build Work Zone were in different subaccounts, which made things more complicated.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JulianKuipers_0-1706515611523.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/54473iD6889CC3BDC751BC/image-size/medium?v=v2&amp;px=400" role="button" title="JulianKuipers_0-1706515611523.png" alt="JulianKuipers_0-1706515611523.png" /></span></P><P>To figure out how to do this, I first looked at the official SAP instructions, which you can find here: <A href="https://help.sap.com/docs/build-work-zone-standard-edition/sap-build-work-zone-standard-edition/manual-integration-of-apps?locale=en-US" target="_blank" rel="noopener noreferrer">SAP Help Portal.</A> These instructions are pretty good, but I found they didn't cover everything I needed to know.</P><P>So, I came up with my own plan to make it work:</P><UL><LI>Turn on something called allowListService in the Fiori app: This is like saying, "It's okay for this app to be used in the SAP Build Work Zone."</LI><LI>Use whitelistService in the standalone approuter: This makes sure the router activates the whitelist-service.</LI><LI>Add specific user-provided variables to the app: This will add Work Zone as trusted URI to embed this app as an iFrame.</LI><LI>Make a trusted connection in the subaccount for the app: This is like making sure the app has a secure line to talk on.</LI></UL><P>I also learned a couple of important tips along the way:</P><UL><LI>SAP says it's best if the app and the Work Zone use the same custom domain. This makes a lot of the setup simpler because you don't have to do extra steps to make them work together.</LI><LI>The way I made it possible for users to log in isn't the fanciest solution, but it works well if you're only using one IDP (Identity Provider).</LI><LI>This project really made me think and helped me learn a lot about how SAP works and how to make different parts of it work together. I wanted to share what I learned so others who might be trying to do the same thing can find it a bit easier.</LI></UL><H2 id="toc-hId-768365959">Solution</H2><P>Following the steps outlined in the SAP Documentation, along with the additional instructions I’ll provide, will ensure a smooth integration process for your custom Fiori application into SAP Build Work Zone. Let's break down these steps for clarity and implementation ease:</P><H3 id="toc-hId-700935173">1. Activate the allowListService in the Custom Fiori App</H3><P>To activate the allowlist service in your application, you'll need to insert a specific script before the sap-ui-bootstrap code in your HTML file. This script configures the allowlist service, enabling the application to determine if it's allowed to run within a given frame. Here's the code snippet you should place:</P><P>&nbsp;</P><pre class="lia-code-sample language-markup"><code>&lt;script&gt; window["sap-ui-config"] = { allowlistService: '/allowlist/service', frameOptions: 'trusted', frameOptionsConfig: { callback: function (bSuccess) { if (bSuccess) { console.log("App is allowed to run!"); } else { console.error("App is not allowed to run!"); } } } }; &lt;/script&gt;</code></pre><P>&nbsp;</P><P style=" text-align: center; "><EM>index.html</EM></P><P>This snippet ensures your application checks if it's permitted to run, based on the allowlist service configuration. For further details, visit the <A href="https://sapui5.hana.ondemand.com/sdk/#/topic/62d9c4d8f5ad49aa914624af9551beb7" target="_blank" rel="noopener nofollow noreferrer">SAPUI5 SDK Documentation</A>.</P><H3 id="toc-hId-504421668">2. Activate the whitelistService in the Standalone Approuter</H3><P>In your standalone approuter configuration, add the following segment to activate the whitelistService, pointing to the allowlist service endpoint:</P><P>&nbsp;</P><pre class="lia-code-sample language-yaml"><code>"whitelistService": { "endpoint": "/allowlist/service" }</code></pre><P>&nbsp;</P><P style=" text-align: center; "><EM>xs-app.json</EM></P><P>This configuration enables your approuter to utilize the whitelist service, ensuring it recognizes and permits communications from your Fiori application. For comprehensive instructions, refer to the <A href="https://help.sap.com/docs/SAP_HANA_PLATFORM/4505d0bdaf4948449b7f7379d24d0f0d/5f77e58ec01b46f6b64ee1e2afe3ead7.html#whitelistservice" target="_blank" rel="noopener noreferrer">SAP Documentation</A>.</P><H3 id="toc-hId-307908163">3. Add User-Provided Variables to the Application</H3><P>To allow the SAP Work Zone to embed your application in an iFrame securely, you must specify certain variables and HTTP headers. This involves declaring a whitelist of origins that are permitted to frame your content without risking click-jacking attacks. Here's how you configure it:</P><P>&nbsp;</P><pre class="lia-code-sample language-yaml"><code>properties: CJ_PROTECT_WHITELIST: '[{"host":"&lt;WORKZONE_RUNTIME_HOST&gt;"}]' httpHeaders: '[{"Content-Security-Policy":"frame-ancestors &lt;WORKZONE_RUNTIME_HOST&gt;"}]'</code></pre><P>&nbsp;</P><P style=" text-align: center; "><EM>mta.yaml</EM></P><P>This configuration ensures that your application can only be framed by the SAP Work Zone, enhancing security and compliance with SAP's guidelines. More details on these settings can be found in the <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-developer-guide-for-cloud-foundry-multitarget-applications-sap-web-ide-full-stack/application-router-environment-variables#loio0aac697f0cf7444193ed5eb0fc6e5bd0__section_nrz_hgn_mv" target="_blank" rel="noopener noreferrer">SAP Developer Guide</A>.</P><H3 id="toc-hId-111394658">4. Adding Work Zone Host as a Trusted Domain</H3><P>The last piece of our integration puzzle is to ensure that the Work Zone runtime host is recognized as a trusted domain by the XSUAA service of the Fiori app. This step is vital for embedding the app securely within the SAP Build Work Zone environment, ensuring that authorization and authentication flows are handled correctly without compromising security.</P><P>To accomplish this, you'll need to follow the guidelines outlined by SAP for configuring trusted domains specifically for the SAP Authorization and Trust Management service. The detailed steps for this configuration can be found in the SAP documentation: <A href="https://help.sap.com/docs/btp/sap-business-technology-platform/configure-trusted-domains-for-sap-authorization-and-trust-management-service" target="_blank" rel="noopener noreferrer">Configure Trusted Domains for SAP Authorization and Trust Management Service</A>. This resource provides a comprehensive guide on how to add your Work Zone host as a trusted domain, ensuring that your custom Fiori app can be securely embedded and accessed within the SAP Build Work Zone.</P><P>Implementing these steps will facilitate the integration of your custom Fiori application with SAP Build Work Zone, ensuring both functionality and security are maintained.</P><H2 id="toc-hId--214201566">Conclusion</H2><P>As I've journeyed through the process of integrating a custom Fiori application into SAP Build Work Zone, it's clear that while the steps are straightforward once understood, there's a particular aspect of this integration that merits a closer look—the propagation of user login information, especially in contexts where multiple Identity Providers (IDPs) are involved.</P><P>This workaround is okay for now if you're just dealing with one IDP. It's not the slickest solution, but it does the job. However, if you're trying to make things work with several IDPs, that's where it gets trickier. If you're stuck in this spot, I found a blog that might just be your lifesaver. It's all about figuring out SAP Cloud Identity Services and making them work with SAP Build Work Zone when you've got multiple IDPs. Check it out right here: <A href="https://blogs.sap.com/2023/08/02/de-mystifying-sap-cloud-identity-services-integration-with-sap-build-work-zone/" target="_blank" rel="noopener noreferrer">De-mystifying SAP Cloud Identity Services Integration</A>.</P><P>Now for some good news—SAP's got our backs and is working on making this whole process a lot easier. They've hinted at some new improvements that are on the way, which you can sneak a peek at in their roadmap right <A href="https://roadmaps.sap.com/board?PRODUCT=73554900100800003081&amp;range=CURRENT-LAST#;INNO=3F83C264AF571EDE85B57541EEC34FB4" target="_blank" rel="noopener noreferrer">here</A>. I'm all in for seeing how they're going to make our lives simpler in the near future.</P><P>So, as we wrap this up, I just want to say it's been quite the ride figuring out all these SAP integration quirks. The thought of SAP making things smoother down the road is something I'm really looking forward to. In the meantime, we've got our workarounds and the helpful tips we've shared along the way.</P><P>Thanks for sticking with me through this journey. Here's to making things work and looking forward to easier days ahead!</P><P>Kind regards,</P><P>Julian Kuipers</P> 2024-01-29T10:26:44.538000+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/pfcgmassval-detailed-features-best-practices-best-use-cases/ba-p/13584799 PFCGMASSVAL – Detailed Features | Best Practices | Best Use Cases 2024-01-29T11:50:36.103000+01:00 karthikj2 https://community.sap.com/t5/user/viewprofilepage/user-id/148163 <P><FONT size="5"><STRONG>What is PFCGMASSVAL?</STRONG></FONT></P><P>SAP S/4HANA offers a significant transaction code - <STRONG>PFCGMASSVAL</STRONG> that allows consultant to perform mass maintenance on authorization data of roles. It is essentially a tool for making bulk changes to user permissions across multiple roles, saving great deal of time and effort compared to modifying them individually.</P><P><STRONG>Important Note :</STRONG></P><UL class="lia-list-style-type-square"><LI>It works exactly on 1 to Many propagation on role(s)</LI><LI><STRONG>ONE</STRONG> Authorization Object | Organizational Level update for <STRONG>N</STRONG> number of roles</LI><LI>Multiple Fields of an Authorization Object can be updated at one execution</LI><LI>Not possible to Add | Delete Transaction Code from Role Menu</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_0-1706525865078.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/54761i640C3C266CB4B281/image-size/large?v=v2&amp;px=999" role="button" title="karthikj2_0-1706525865078.png" alt="karthikj2_0-1706525865078.png" /></span></P><P><FONT size="5"><STRONG>Change Functionality of PFCGMASSVAL</STRONG></FONT></P><P>For each type of field change you define whether you want to Add | Delete | Replace values. The following generally applies: As many changes as possible are made. This means: If you are adding a value and the required authorization is missing, or the value is already contained in the authorization, this value is removed from processing.</P><UL class="lia-list-style-type-square"><LI><STRONG>Add :</STRONG> Choose "Values" to enter the values that you want to add</LI></UL><UL class="lia-list-style-type-square"><LI><STRONG>Delete :</STRONG> Choose "Values" to enter the values that you want to delete</LI></UL><UL class="lia-list-style-type-square"><LI><STRONG>Replace All :</STRONG> All existing values of the organizational level or authorization are deleted. Choose "Values" to enter the values that you want to add</LI></UL><UL class="lia-list-style-type-square"><LI><STRONG>Replace :</STRONG> Choose "To Replace" to enter the values that you want to replace. Choose "Values" to enter the values that you want to add instead. This action only takes place if all values to be replaced of all fields exist. You cannot make partial replacements</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_1-1706518924540.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/54598i7D9ABAEBD52444ED/image-size/large?v=v2&amp;px=999" role="button" title="karthikj2_1-1706518924540.png" alt="karthikj2_1-1706518924540.png" /></span></P><P><STRONG>Roles with Authorization Data :</STRONG></P><P>This multi select options allows you to filter roles based on different selection criteria so that you can curate and refine specific set of roles for authorization maintenance.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_2-1706518924543.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/54596i9286A2D920652B74/image-size/large?v=v2&amp;px=999" role="button" title="karthikj2_2-1706518924543.png" alt="karthikj2_2-1706518924543.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_3-1706518924549.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/54601iFA078BC2037DDE60/image-size/large?v=v2&amp;px=999" role="button" title="karthikj2_3-1706518924549.png" alt="karthikj2_3-1706518924549.png" /></span></P><P><FONT size="5"><STRONG>Key Features of PFCGMASSVAL</STRONG></FONT></P><P>PFCGMASSVAL transaction code offers a range of features, including the ability to :</P><P><STRONG>Change Organizational Level value :</STRONG></P><P>You change the values of organizational levels of the selected roles across all objects (global maintenance). This action does not affect authorizations whose organizational levels have already been maintained individually.</P><P><STRONG>Change Field Values of an Authorization Object :</STRONG></P><P>When you select an authorization object, all its authorization fields are displayed. Maintain the values for those fields that you want to change. If any of these fields is an organizational level, a warning icon is displayed.</P><P>This tells you that the value changes you make to this field only apply to individual authorizations and result in the maintenance status "Changed". The values from the global maintenance (see above) no longer apply for these authorizations.</P><P><STRONG>Change Field Values of an Authorization Object (Cross-Object) :</STRONG></P><P>With this type of field change you change the field values of authorizations for a specific authorization field, but for all authorization object that contain this field. Enter the name of the authorization field and maintain the values that you want to change. Entering the authorization object is optional; an input help is available for you to select the fields of the object.</P><P>If you are in the "Activity" <STRONG>(ACTVT)</STRONG> field and have specified an object, you are shown which activities are allowed for this object and can make your selection. Again, if a field is an organizational level, a warning icon is displayed. The same applies as in the previous section.</P><P><STRONG>Add a Manual Authorization to an Object :</STRONG></P><P>This function supplements the selected roles with a manual authorization for exactly one authorization object. Values can be entered for the fields of the authorization to be added, but they can also be left open. When maintaining organizational level fields, note the statements made for the previous two options.</P><P>The manual authorization is added to roles even if they already contain authorizations with the required field value combination. To avoid adding superfluous authorizations, use the processing mode <STRONG>"Execution with Previous Simulation"</STRONG> (Check out first picture).</P><P>This produces a results list containing the authorization to be added and also all existing authorizations for the same object, so that you can exclude any roles that do not need the new authorization before further processing.</P><P><STRONG>Delete Manual Authorizations for an Object :</STRONG></P><P>You use this function to delete manual authorizations for exactly one authorization object in the selected roles. The function only deletes those authorizations that contain all values of all fields that are maintained on the selection screen. If you do not maintain any values, all manual authorizations of this object are deleted.</P><P><STRONG>Add F4 as Default Value without changing to status “Changed” :</STRONG></P><P>The authorization default values of many applications values now have the additional value F4 in different authorization fields. This makes it possible to distinguish between displaying objects and listing them in input helps. You can use this function to Add <STRONG>F4</STRONG> to authorizations of single roles whose menus contain the relevant applications. Since the maintenance status of the enhanced authorizations is retained, the new value can be used very quickly without any individual editing of roles.&nbsp;</P><P><STRONG>Old Authorization Status : </STRONG></P><P>The change can be restricted to authorizations with the status "Standard", "Maintained", "Changed", or "Manual".</P><P><STRONG>No Switch to Status "Changed" : </STRONG></P><P>If this option is active, any changes that would result in the authorization status changing from "Standard" to "Changed" or from "Maintained" to "Changed" are <STRONG>discarded or ignored</STRONG>.</P><P>Note the following: Maintaining organizational levels individually also results in a status change from "Standard" to "Changed".</P><P><STRONG>Supplement Long Text :</STRONG></P><P>By choosing 'Text', you can save a description that is appended to the long text for all changed roles. However, the long text of a role can only be maintained if you are logged on in its original language.</P><P>Therefore, if you use this option, authorizations are only changed if the logon language matches the original language of the role. You can either “Type-in” or upload a “TXT” format file to load the text.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="karthikj2_4-1706518924555.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/54600i3D6F65333B93F816/image-size/large?v=v2&amp;px=999" role="button" title="karthikj2_4-1706518924555.png" alt="karthikj2_4-1706518924555.png" /></span></P><P><FONT size="5"><STRONG>Best Practices for Using PFCGMASSVAL</STRONG></FONT></P><P>It is recommended to :</P><UL class="lia-list-style-type-square"><LI>Always use a <STRONG>Selection</STRONG> for roles to avoid affecting all roles</LI><LI>Run the <STRONG>Simulation</STRONG> first before making any changes. This mode simulates the changes you want to make and displays them in a results list</LI><LI>Use the selection options carefully to avoid changing authorization status <STRONG>‘Standard’</STRONG> and <STRONG>‘Maintained’</STRONG> into ‘Changed’</LI><LI><STRONG>Generate the Profile</STRONG> for impacted roles to have updated profile and authorizations</LI><LI>After changing authorization data of root roles, adjust derived roles using PFCG for every root role using the menu path <STRONG>Authorizations -&gt; Adjust Derived Roles</STRONG></LI><LI>Activate the checkbox <STRONG>“Exclude Derived Roles”</STRONG> to avoid touching derived roles by mistake</LI></UL><P><FONT size="5"><STRONG>&nbsp;</STRONG><STRONG>Best Use Cases for Using PFCGMASSVAL</STRONG></FONT></P><P>Presenting few use cases where PFCGMASSVAL can be of higly beneficial</P><UL class="lia-list-style-type-square"><LI><STRONG>Mass update of Display authorization to Multiple Parent Roles</STRONG></LI></UL><P style=" padding-left : 30px; ">Example: Change Field Values of Authorizations for a Field (Cross-Object) used to <STRONG>Add</STRONG> Activity - <STRONG>ACTVT</STRONG> field of multiple authorization objects with values: “03 | F4”</P><UL class="lia-list-style-type-square"><LI><STRONG>Converting maintenance role to Display only role</STRONG></LI></UL><P style=" padding-left : 30px; ">Example: Change Field Values of Authorizations for a Field (Cross-Object) used to <STRONG>Replace All</STRONG> Activity - <STRONG>ACTVT</STRONG> field of multiple authorization objects with values: “03 | F4 | 33 | A6”</P><UL class="lia-list-style-type-square"><LI><STRONG>Mass update of an Authorization Object Field Values to Multiple Parent Roles</STRONG></LI></UL><P style=" padding-left : 30px; ">Example: Change Field Values of an Authorization Object used to change Document Status - <STRONG>STATUS</STRONG> and Document Type - <STRONG>DOKAR</STRONG> for Authorization Object: <STRONG>C_DRAD_OBJ</STRONG></P><P>Similar case can be used to update Authorization Field of an Authorization Object to multiple roles</P><P><FONT size="5"><STRONG>Conclusion</STRONG></FONT></P><P>PFCGMASSVAL transaction code is a powerful tool in SAP S/4HANA that allows for efficient and effective management of authorization data. By understanding its features and following best practices, a Security Consultant can achieve mass operations simplified at a streamlined process through SAP Standard program without involving additional scripts. Unleash the power of SAP.</P> 2024-01-29T11:50:36.103000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-security-configuration-recommendations/ba-p/13589086 SAP Security Configuration Recommendations 2024-02-02T08:21:41.559000+01:00 WihemArsac https://community.sap.com/t5/user/viewprofilepage/user-id/1384231 <P>The list of Security Recommendations for major SAP cloud products is published on the&nbsp; <A href="https://www.sap.com/documents/2022/12/7616adbb-547e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer">SAP Trust Center</A>, as shown in Figure 1.</P><P style=" text-align: center; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WihemArsac_0-1706698144567.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/57284iD20DAEC5CC47F746/image-size/large?v=v2&amp;px=999" role="button" title="WihemArsac_0-1706698144567.png" alt="WihemArsac_0-1706698144567.png" /></span></P><P style=" text-align: center; ">Figure 1: Security Recommendations published on SAP Trust Center</P><P>Customers have been asking for a unified view of the security configuration of their deployed cloud solutions. This central visualization should report on the configuration status of SAP services and compare it against recommended settings.<BR />To achieve this goal, we initially had to provide a check list with human readable security recommendations documents.<BR />Together with SAP BTP and SAP Customer Success (owners of the&nbsp;<A href="https://me.sap.com/notes/0002253549" target="_blank" rel="noopener noreferrer">SAP Security Baseline standards&nbsp;</A><A href="#_ftn1" target="_blank" rel="noopener nofollow noreferrer"><SPAN>[1]</SPAN></A>, mostly covering on premise), we drafted the main structure of the security recommendations. Let us highlight the main differences between the security recommendations and the security guides:</P><UL><LI>A security guide is a holistic document, describing all the relevant security parameters as well as their possible values in detail (for example: defining supported encryption settings or enabling or not multifactor authentication);</LI><LI>Whereas a security recommendation document provides recommendations of specific values for a security setting and restrictions about their usage to enable customers to securely operate production systems. A security recommendation document extracts a list of parameters that customers can influence (namely user-configurable security settings) and it describes, for each setting, the recommended secure values.</LI></UL><P>Finally, we introduced the requirement for a standardized security recommendation documentation in our software development lifecycle, targeting major SAP cloud products.</P><P><A href="#_ftnref1" target="_blank" rel="noopener nofollow noreferrer"><SPAN>[1]</SPAN></A> Access to SAP customers only</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-02-02T08:21:41.559000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-security-configuration-dashboard-using-sap-analytics-cloud-template/ba-p/13588591 SAP Security Configuration Dashboard using SAP Analytics Cloud (Template) 2024-02-02T08:22:13.348000+01:00 WihemArsac https://community.sap.com/t5/user/viewprofilepage/user-id/1384231 <H2 id="toc-hId-964999802">Overview</H2><P>SAP provides an SAP Analytics Cloud Story for a template of a <A href="https://github.com/SAP-samples/analytics-cloud-datasphere-community-content/tree/main/Business_Samples/SAC_Security_Configuration" target="_self" rel="nofollow noopener noreferrer">Security Configuration Dashboard</A> delivered as Community Content. Customers can either use it directly or as a starting point to develop their own more extensive dashboard. The template consumes security configuration data from the SAP Cloud ALM API. Details on the SAP Cloud ALM API can be found in this <A href="https://community.sap.com/t5/technology-blogs-by-sap/security-configuration-apis-for-major-cloud-products/ba-p/13590466" target="_self"><FONT color="#000000">blogpost</FONT></A>.<BR />While SAP Cloud ALM provides basic search and display functionality for the collected data, a security configuration dashboard template based on SAP Analytics Cloud might be useful to complement this visualization.<BR />A documentation including a description on the connection to SAP Cloud ALM system and the consumption of the API to retrieve the data is part of the <A href="https://github.com/SAP-samples/analytics-cloud-datasphere-community-content/blob/main/Business_Samples/SAC_Security_Configuration/README.md" target="_self" rel="nofollow noopener noreferrer">delivered content</A>.</P><P>&nbsp;</P><H2 id="toc-hId-768486297">Visualization Examples</H2><P>The story is prepopulated with sample data to provide an overview of the security dashboard capabilities to customers.<BR />Thus, a compliance officer or a cloud security administrator, responsible for the operation and the security &amp; compliance can use SAP Analytics Cloud dashboard template as a single source of truth for gathering information to get analytical insights into the security status of their SAP Cloud Solutions and to identify a risk score.<BR />As displayed in the example in Figure 1, one can see that 5 cloud systems are connected against their dashboard and overall, 30 security controls are in place. For these security controls, 16 items are reported to the dashboard as non-compliant. Out of these 53% of non-compliant items, one can notice 40% of critical items, 37% with a high criticality and 23% with medium items to solve. Worth noticing as well that over the last 24 hours no new items have been received; a security compliance officer might be interested in what happened on the last day, when the last input came in.<BR /><BR /></P><P style=" text-align: center; "><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="WihemArsac_0-1706690540856.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/56923iA67F0209757B5F34/image-size/large?v=v2&amp;px=999" role="button" title="WihemArsac_0-1706690540856.png" alt="WihemArsac_0-1706690540856.png" /></span>Figure 1: Compliance View Example 1<BR /><BR /></P><P>The visualization example in Figure 2 shows the different compliance status by different aggregation attributes. Overall, it displays the compliance status per categories like the risk level, or the cloud application that are affected and the components, the topics and the items spread over the SAP secure operations map. The SAP Analytics Cloud dashboard template offers the possibility to click on any item and to drill-down to the related categories. For instance, one can spot the most critical non-compliant items and check which cloud application is the most affected. Another view can provide more details on the component, for instance Destination Service, which contains the most critical non-compliant items to fix. The view on the topic provides additional input, showing for instance, that the token lifecycle is impacted. Finally, the view of the compliance per SAP´s secure operations map reflects which area, in this case, Authentication &amp; Sign-On, is concerned.<BR />More visualization screens are also available, so as to facilitate the analysis of the security status of SAP Cloud Solutions.</P><P style=" text-align: center; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WihemArsac_1-1706690635419.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/56924i2A01932C13EFD4F9/image-size/large?v=v2&amp;px=999" role="button" title="WihemArsac_1-1706690635419.png" alt="WihemArsac_1-1706690635419.png" /></span>Figure 2: Compliance View Example 2</P><P>&nbsp;</P> 2024-02-02T08:22:13.348000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/security-configuration-apis-for-major-cloud-products/ba-p/13590466 Security Configuration APIs for major Cloud Products 2024-02-02T08:22:36.575000+01:00 MichaelVogel https://community.sap.com/t5/user/viewprofilepage/user-id/626331 <P data-unlink="true">According to the cloud shared responsibility model, customers shall be aware of security-related settings they are responsible for.&nbsp;To enable e.g., a compliance expert or a cloud security administrator to monitor the adherence of the security-related settings to the expected values,&nbsp;key services and applications are required to send this data to SAP Cloud ALM. Here, an external API is provided to enable a central consumption of the aggregated data. For this, <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-alm-next-generation-data-collection-infrastructure/ba-p/13557627" target="_blank">Cloud ALM Next Generation – Data Collection Infrastructure (NG-DCI)</A> is leveraged. It provides a standardized way to collect data using <A href="https://opentelemetry.io/docs/" target="_blank" rel="noopener nofollow noreferrer">OpenTelemetry</A>. Performance Monitoring, Integration Monitoring and Exception monitoring from Managed-Cloud services are some examples of the various use cases of OpenTelemetry within SAP Cloud ALM.<BR />As shown in Figure 1, services and applications push their security configuration data to a <EM>Central Data Receiver </EM>(Data Collection Runtime). SAP Cloud ALM collects the data using its <EM>Central Data Receiver </EM>and persists it in a <EM>Configuration &amp; Change Database </EM>(aka <EM>CCDB) </EM>in the SAP Cloud ALM tenant of the customer. From there, it can be visualized through a list view in SAP Cloud ALM <EM>UI</EM>.<BR />Configuration data can also be consumed externally via the <EM>API Framework </EM>of SAP Cloud ALM (cf. Figure 1). The API framework supports delivery of aggregated data for analytics, metrics for alerting and a log format for raw data (i.e., customer settings on the service side).</P><DIV class="">&nbsp;</DIV><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="michael_vogel2_1-1706776162944.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/58018i47CEB8D210355236/image-size/large?v=v2&amp;px=999" role="button" title="michael_vogel2_1-1706776162944.png" alt="michael_vogel2_1-1706776162944.png" /></span></P><P style=" text-align: center; ">Figure 1: High-level architecture.</P><P>Services and applications send their prevalidated customer managed security configuration settings to SAP Cloud ALM. There, it is routed to the customer’s SAP Cloud ALM tenant and persisted in its Configuration and Change Database (CCDB). By default, services and applications will not send the security configuration data before a customer has turned this feature on in their SAP Cloud ALM tenant. Once it is turned on, data is synchronized daily.</P><P>The SAP Cloud ALM Analytics API can be used to retrieve this data for external consumption. <A href="https://community.sap.com/t5/technology-blogs-by-sap/access-sap-cloud-alm-analytics-from-sap-analytics-cloud/ba-p/13509980" target="_blank">This blog post</A> gives an example how to connect to and call the API. More information can be found on the <A href="https://help.sap.com/docs/cloud-alm/apis/analytics-api" target="_blank" rel="noopener noreferrer">official help pages</A> and the <A href="https://api.sap.com/api/CALM_ANALYTICS/overview" target="_blank" rel="noopener noreferrer">API hub</A>.<BR />A security configuration dashboard template based on SAP Analytics Cloud is available to complement the visualization, as described in this <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-security-configuration-dashboard-using-sap-analytics-cloud-template/ba-p/13588591" target="_blank">blog post</A>.</P><P><A href="https://support.sap.com/en/alm/sap-cloud-alm/operations/expert-portal/configuration-security-analysis/csa-content.html" target="_blank" rel="noopener noreferrer">First BTP services</A> successfully implemented this integration with SAP Cloud ALM and are now publicly available. Further BTP services as well as other SAP cloud solutions are planned to provide their data in the future. You can check the progress on the <A href="https://help.sap.com/whats-new/0cb91c1ef73b400f881823f8d5fd2dea?Capability=Configuration%20%26%20Security%20Analysis%3BConfiguration%20and%20Security%20Analysis&amp;locale=en-US" target="_blank" rel="noopener noreferrer">SAP Cloud ALM release note page</A>.</P> 2024-02-02T08:22:36.575000+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/join-the-innovation-journey-with-sap-enterprise-threat-detection-cloud/ba-p/13592486 Join the Innovation Journey with SAP Enterprise Threat Detection, cloud edition 2024-02-04T19:00:00.037000+01:00 Lingscheid https://community.sap.com/t5/user/viewprofilepage/user-id/38175 <P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="I522482_0-1706876930170.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/59265iA4A88683D5F2FC21/image-size/large?v=v2&amp;px=999" role="button" title="I522482_0-1706876930170.png" alt="I522482_0-1706876930170.png" /></span></P><P style=" text-align: center; ">Picture 1</P><P>&nbsp;</P><P>Embark on a Journey of Growth and Innovation and secure customers Businesses Now and Tomorrow with SAP Enterprise Threat Detection, cloud edition.</P><P>At a time when threats are constantly evolving, SAP Enterprise Threat Detection, cloud edition is a robust solution. We are pleased to announce our expansion journey and officially invite like-minded partners. Be part of our journey of progressive growth and innovation and take advantage of this exciting opportunity. Let's secure the digital landscape together and foster an environment that is not only secure but also conducive to innovation.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="287567_GettyImages-1194852020_medium_jpg.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/59183i1439DC43B6C4E514/image-size/large?v=v2&amp;px=999" role="button" title="287567_GettyImages-1194852020_medium_jpg.jpg" alt="287567_GettyImages-1194852020_medium_jpg.jpg" /></span></P><P>&nbsp;</P><P> </P><P style=" text-align: center; ">Picture 2</P><H2 id="toc-hId-965743590">&nbsp;</H2><H2 id="toc-hId-769230085">Current State of application security &amp; corporate compliance</H2><P>The need for robust cybersecurity measures has been amplified by our increasingly digital economy. Statistics reveal that 81% of data breaches result from lost, stolen, or weak passwords, of which three-quarters are instigated by outsiders. Alarmingly, a quarter of these breaches are carried out from within the organizations showing that cybersecurity threats do not solely exist externally but also pose a significant internal risk that demands attention.</P><H2 id="toc-hId-572716580">&nbsp;</H2><H2 id="toc-hId-376203075">Increasing Importance of Cybersecurity</H2><P>Organizations now readily recognize the relevancy of their cybersecurity posture, with 64% rating it as either important or very important. These businesses understand the integral link between a robust cybersecurity framework and reduced risk of data breaches for all involved - employees, customers, and partners. As many as 65% of the organizations acknowledge this correlation in our intensively digitized business world, where data security is of paramount significance.</P><H2 id="toc-hId-179689570">&nbsp;</H2><H2 id="toc-hId--16823935">The Talent Gap</H2><P>However, a considerable challenge remains - the acute scarcity of security talent in the industry. A staggering 87% of organizations are struggling with a shortage of cybersecurity specialists. As a result, the number of global cybersecurity job vacancies has drastically increased by an impressive 350%, from 1 million in 2013 to an anticipated 3.5 million in 2021. With the increasing proliferation, sophistication, and scale of cybercrimes, this glaring lack of qualified talent creates a significant hurdle for businesses globally.</P><H2 id="toc-hId--213337440">&nbsp;</H2><H2 id="toc-hId--409850945">Cost of Cybercrime</H2><P>From a broader perspective, the extraction of an alarming $6 trillion annually from the global economy due to cybercrime reinforces the severity and urgency of reinforcing cybersecurity measures. It is worrying to find that only a mere 38% of organizations can proactively spot risks before they develop into serious threats.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Picture1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/59161i4BB9B02FB95DDDF3/image-size/large?v=v2&amp;px=999" role="button" title="Picture1.png" alt="Picture1.png" /></span></P><P>&nbsp;</P><P style=" text-align: center; "> Picture 3</P><H2 id="toc-hId--606364450">&nbsp;</H2><H2 id="toc-hId--802877955">Cybersecurity as a Business Risk</H2><P>Cybersecurity, once considered a specialized branch and an IT domain challenge, has escalated to command serious attention at executive levels within organizations. Recent data show that a substantial 88% of board members view cybersecurity as a critical business risk, marking a significant shift from 2016 figures - when only 58% shared the same view. This shift signifies a growing seriousness about cyber threats and their potential to impact businesses at large.</P><H2 id="toc-hId--652137103">&nbsp;</H2><H2 id="toc-hId--848650608">Security and Compliance</H2><P>Importantly, it must be noted that organizations cannot be compliant without establishing thorough security measures. Compliance to industry standards and regulatory requirements, while providing a guide, cannot alone ensure security. It is insufficient to just adhere to compliance checklists. The rising surge in cybersecurity threats calls for more elaborate and dynamic security protocols, which go well beyond basic compliance frameworks.</P><H2 id="toc-hId--1045164113">&nbsp;</H2><H2 id="toc-hId--1241677618">The Impact of Security Inadequacies</H2><P>Failures in the security domain can render organizations susceptible to cyber-attacks, breaches, and violations, inevitably affecting compliance outcomes. These cyber risks disrupt business processes, putting at risk confidential and sensitive information and thus impacting overall compliance with industry standards. Hence, it is fundamental for an organization to incorporate security measures not merely for compliance, but to safeguard vital assets, secure data, uphold reputation and provide assurance to stakeholders.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="I522482_0-1706870023644.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/59172i95C816A7B4B1902D/image-size/large?v=v2&amp;px=999" role="button" title="I522482_0-1706870023644.png" alt="I522482_0-1706870023644.png" /></span></P><P>&nbsp;</P><P style=" text-align: center; ">Picture 4</P><H2 id="toc-hId--1438191123">&nbsp;</H2><H2 id="toc-hId--1634704628">Embedding Security into Organizational Fabric</H2><P>Therefore, if compliance is the goal, weaving security into the very fabric of an organization is essential. This necessitates transforming approaches to view cybersecurity as an inherent part of the business strategy, thus amplifying overall compliance and resilience to cybersecurity threats.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="I522482_0-1706869392485.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/59163i0B38AE7785F7F2C9/image-size/large?v=v2&amp;px=999" role="button" title="I522482_0-1706869392485.png" alt="I522482_0-1706869392485.png" /></span></P><P>&nbsp;</P><P style=" text-align: center; ">Picture 5</P><P> </P><H2 id="toc-hId--1831218133">Benefits of leveraging SAP Enterprise Threat Detection</H2><P>SAP Enterprise Threat Detection (ETD), cloud edition, is a cutting-edge SAP Business Technology Platform Software-as-a-Service (SaaS) solution. Moreover, it incorporates managed services from SAP or one of our specialized partners, dedicated to identifying, analyzing, and reporting malicious activities in your SAP applications before they can inflict serious damage.</P><P>Along with presenting a detailed audit trail of all activity and detecting anomalies, ETD provides best practice advice for monitoring SAP applications. It also aids companies in complying with onerous regulatory requirements such as those outlined in the EU's NIS2 directive, the RCE, KRITIS, General Data Protection Regulation (GDPR), as well as various local security laws.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Picture3.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/59165iA5C93228E53DC468/image-size/large?v=v2&amp;px=999" role="button" title="Picture3.png" alt="Picture3.png" /></span></P><P>&nbsp;</P><P style=" text-align: center; ">Picture 6</P><H2 id="toc-hId--2027731638">&nbsp;</H2><H2 id="toc-hId-2070722153">The Power of Partnership</H2><P>As we, at SAP, expand our product and service horizons, we're inviting partners to join us on our journey of growth and innovation. We fervently believe that by synergizing our individual proficiencies and skills, we can significantly advance the way we serve our clients and deliver unparalleled value, not just to our direct customers, but to partners' customers as well.</P><P>By partnering with SAP, you as partner receive multi-fold strategic benefits. To start with, you can take advantage of our advanced cybersecurity solution which will instantly enable you to augment your service propositions and boost client confidence. <SPAN>With this service, your customers will benefit profoundly as it offers more than just data protection. It equips them with strengthened security measures, significantly reducing their threat to potential breaches. Plus, it delivers an invaluable sense of tranquility, knowing that their data is safeguarded. This secure atmosphere fosters trust and confidence, allowing your customers to focus on growing their businesses, rather than worrying about data security. Moreover, it elevates their experience with your partnership, reinforcing your reputation as a reliable, secure provider.</SPAN></P><P>On top of this, leveraging SAP's extensive global network, you can amplify your reach in the market, acquire access to untapped industry sectors and widen your customer base. The sheer magnitude of our network ensures that associating with us instantly lends an additional layer of trust and reassurance to your customers, thereby bolstering their already existing confidence in your services.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="I522482_0-1706869883422.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/59169iB485FFAC0CBF0532/image-size/large?v=v2&amp;px=999" role="button" title="I522482_0-1706869883422.png" alt="I522482_0-1706869883422.png" /></span></P><P>&nbsp;</P><P style=" text-align: center; ">Picture 7</P><H2 id="toc-hId-1874208648">&nbsp;</H2><H2 id="toc-hId-1845878834">Exploring New Opportunities</H2><P>But that's not all! Your engagement with SAP Enterprise Threat Detection, cloud edition equips you with the resources to create unique security services and solution offerings tailor-made to address your customers requirements and objectives. This could take the form of customized managed security services, expert compliance and security consulting, or portfolio optimization. It opens up the gateway to innovative security opportunities, empowering you to stay abreast of competition and offer forward-looking, cutting-edge solutions to your customers.</P><P>&nbsp;</P><H2 id="toc-hId-1649365329">Getting in Touch &amp; Moving Forward</H2><P>To explore potential collaboration, receive more information, or simply discuss synergies, feel free to reach out to <A href="mailto:tobias.keller@sap.com" target="_self" rel="nofollow noopener noreferrer">Tobias Keller</A> or <A href="mailto:%20a.lingscheid@sap.com&nbsp;" target="_self" rel="nofollow noopener noreferrer">Arndt Lingscheid</A>.</P><P>Our doors (and inboxes) are always open to engaging discussions on combating cybersecurity threats together.</P><P>Explore our <A href="https://partneredge-prod-author.wcms-prod.c.eu-de-2.cloud.sap/content/partnerexp/en/products/etd/about.html" target="_self" rel="nofollow noopener noreferrer">SAP Enterprise&nbsp;Threat Detection Partner Portal</A>&nbsp; to delve deeper into our product and partnership framework.</P><P>We, at SAP, wholeheartedly invite all entities who are serious in their quest to enhance their cybersecurity strategies. Together, we can augment our defenses against the incessant tide of cyber threats and build a safer, resilient digital economy. Let's rise to the challenge, together.</P><P><A href="https://pages.community.sap.com/topics/enterprise-threat-detection" target="_blank" rel="noopener noreferrer">SAP Enterprise Threat Detection | SAP Community</A></P> 2024-02-04T19:00:00.037000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/how-sap-data-custodian-addresses-data-privacy-of-sap-signavio-process/ba-p/13604314 How SAP Data Custodian Addresses Data Privacy of SAP Signavio Process Insights 2024-02-14T00:23:31.407000+01:00 rohit_dwivedi https://community.sap.com/t5/user/viewprofilepage/user-id/337467 <P>In today's digital age, data collection, storage, and utilization have become essential for business operations and personal interactions. However, the growing importance of data-driven processes and respective analyses has raised significant concerns about data privacy, security, and the need to comply with federal regulatory requirements.&nbsp;</P><P><STRONG>Data Privacy for Guarding Digital Sanctity</STRONG></P><P>Data privacy is a basic principle that governs the collection and use of personal information. With the increasing number of online platforms and interconnected devices, there is a higher risk of unauthorized access to sensitive data. People are becoming more aware of their rights to control the information they share online, and they expect organizations to handle their data responsibly.</P><P><STRONG>Federal Data and Regulatory Landscape</STRONG></P><P>Federal regulatory requirements are important for managing data in the SAP Ecosystem. Regulatory bodies like the General Data Protection Regulation (GDPR) in Europe and the Health Insurance Portability and Accountability Act (HIPAA) in the United States have strict rules for data privacy and security practices. These regulations aim to ensure that organizations collect, process, and store data in a way that respects individuals' rights and prevents misuse.</P><P><STRONG>Safeguarding New Cloud Innovations of SAP </STRONG></P><P>In today's fast-paced business world, it's crucial to stay ahead of the competition. That's why SAP has invested in innovative solutions and technologies to enhance efficiency and improve the customer experience. Among these innovations are SAP Signavio Process Insights, SAP Generative AI, SAP Datasphere, and SAP Build. These technologies are designed to overcome the challenges of rapid transformations and improve the quality of services. They will transform the way businesses operate, make decisions, and optimize processes. However, it's important to note that data privacy is critical, and it's essential to establish trusted communication between SAP Cloud Solutions and S/4HANA systems.</P><P><STRONG>Infusing Privacy with SAP Data Custodian Features </STRONG></P><P>The following are the key features of SAP Data Custodian.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/64879i0C9C7F703BEAD74E/image-size/large?v=v2&amp;px=999" role="button" title="Picture1.png" alt="Picture1.png" /></span></P><P>Here is an example of how the <STRONG>Transparency and Control</STRONG> features of SAP Data Custodian can be integrated with the SAP Signavio Process Insights solution:</P><P><STRONG>Contextual Application Control for SAP Signavio Process Insights </STRONG></P><P><STRONG>&nbsp;</STRONG><STRONG>Scenario Description:</STRONG> A customer using SAP ECC or SAP S/4HANA stores federal data and has recently decided to use SAP Signavio Process Insights to analyze and improve their business processes. However, some of the data to be analyzed contains sensitive information and as such, should be excluded from the data collection. For instance, a particular sales organization shows exposure to such sensitive data as shown in the SAP Signavio Process Insights screen below. SAP Signavio Process Insights solution offers role-based access controls however, some of the data privacy aspects are still needed.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/64880iF9B23F1CA89DD282/image-size/large?v=v2&amp;px=999" role="button" title="Picture2.png" alt="Picture2.png" /></span></P><P><STRONG>SAP Data Custodian Solution Offering: </STRONG></P><P>SAP Signavio Process Insights periodically processes extracted data from SAP ERP systems and provides insights and recommendations on business processes. The ST-PI plugin is used to extract application data from SAP ECC or SAP S/4HANA and those data will be imported into SAP Signavio Process Insights for business process analysis. SAP Data Custodian can be used to control sensitive data at the point of extraction. This means the data excluded via SAP Data Custodian will not leave your ERP system. The integration code for the Data Custodian S/4HANA Add-on is embedded natively into ST-PI, eliminating the need for any additional integration steps.</P><P><STRONG>Prerequisites </STRONG></P><UL><LI>SAP Data Custodian, add-on for SAP S/4HANA SP15 is installed and configured.</LI><LI>SAP Data Custodian tenant is configured including control policies.</LI><LI>ST-PI SP25 installed in SAP ECC or SAP S/4HANA</LI><LI>SAP Signavio Process Insights source system prerequisites for SAP ECC or SAP S/4HANA are met.&nbsp;</LI></UL><P><STRONG>High-Level Steps: </STRONG></P><OL><LI>S/HANA: Configure Org-Level Data for Filtering in SAP Data Custodian Application Controls (IMG via transaction /n/sdcac/img)<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture3.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/64881i9691A1A65C45B337/image-size/large?v=v2&amp;px=999" role="button" title="Picture3.png" alt="Picture3.png" /></span></LI><LI>SAP Data Custodian Tenant: Create an SAP Data Custodian policy to remove sensitive data from S/4HANA Extractions (via Unions Management in SAP Data Custodian Tenant). After synchronization, the resource facts configured in the SAP S/4HANA system are available in your SAP Data Custodian tenant. These resource facts can be configured in SAP Data Custodian policies to remove sensitive data from SAP ERP extractions.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture4.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/64882i833DB1600239EA34/image-size/large?v=v2&amp;px=999" role="button" title="Picture4.png" alt="Picture4.png" /></span></LI><LI>S/4HANA: Setup Data Transfer to SAP Signavio Process Insights<STRONG> (</STRONG>via transaction /n/sdf/pins_setup)&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture5.png" style="width: 857px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/64883iE4D18EA63C675E97/image-size/large?v=v2&amp;px=999" role="button" title="Picture5.png" alt="Picture5.png" /></span></LI><LI>SAP Signavio Process Insights tenant: SAP Signavio Process Insights Filtered Sales Organization which was restricted in Data Custodian Policy<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture6.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/64884i1FD734904D36C9EF/image-size/large?v=v2&amp;px=999" role="button" title="Picture6.png" alt="Picture6.png" /></span></LI><LI>Data Custodian generated alert for the filtered Sales organization<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture7.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/64885i3CEF937A6EB3E4AB/image-size/large?v=v2&amp;px=999" role="button" title="Picture7.png" alt="Picture7.png" /></span><P><STRONG>Benefits of the SAP Data Custodian Integration with SAP Signavio Process Insights: </STRONG></P><UL><LI>Address Global Data Privacy Regulations&nbsp;</LI><LI>Natively built into SAP Data Custodian Transparency and Control Add-on &nbsp;</LI><LI>No ABAP Customizations required</LI><LI>Policy-based configuration setup and no special development needed</LI><LI>Establishing a Privacy Foundation for achieving Data Privacy and Control with features such as Anonymization, Data Blocking, Data Masking, and Pseudonymization &nbsp;</LI></UL></LI></OL><P><STRONG>Key SAP Contacts: </STRONG></P><P><STRONG>SAP Data Custodian Product Management:</STRONG> Priyank Patel, Peter Whibley</P><P><STRONG>SAP Signavio Product Management:</STRONG> Dirk Jendroska, Sandra Meier, Till Trautewig</P><P><STRONG>SAP MaxAttention CoE:</STRONG> <A href="https://community.sap.com/t5/user/viewprofilepage/user-id/95252" target="_blank">Kiran Kola</A>, <A href="https://community.sap.com/t5/user/viewprofilepage/user-id/337467" target="_blank">Rohit Dwivedi</A></P> 2024-02-14T00:23:31.407000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/getting-started-with-sap-btp-solution-diagram/ba-p/13616548 Getting started with SAP BTP Solution Diagram 2024-02-23T07:41:25.143000+01:00 BitanC https://community.sap.com/t5/user/viewprofilepage/user-id/153091 <P>SAP BTP Solution Diagram is finally released to harmonize the domain specific architectural diagrams on SAP Business Technology Platform. Though it wouldn't be a detailed blog, I'll list down some important points and references on it.&nbsp;</P><P><STRONG>So, what' new &amp; different :&nbsp;</STRONG></P><UL><LI>&nbsp; &nbsp; &nbsp; &nbsp; Diagram Harmonization on all the BTP offerings.</LI><LI>&nbsp; &nbsp; &nbsp; &nbsp; Can serve architectural diagram creation on different use cases. Has three layered levels : L0, L1 &amp; L2 to cater different expectations of recipients.</LI><LI>&nbsp; &nbsp; &nbsp; &nbsp; Reusable diagram structures</LI><LI>&nbsp; &nbsp; &nbsp; &nbsp; Can be used with raw.io or Microsoft PowerPoint.</LI></UL><P><STRONG>Guideline to use :</STRONG>&nbsp;<A href="https://d.dam.sap.com/a/UbBJrVh/SAP-BTP-solution-diagram-design-guideline-v1-public.pdf?rc=10" target="_blank" rel="noopener noreferrer">https://d.dam.sap.com/a/UbBJrVh/SAP-BTP-solution-diagram-design-guideline-v1-public.pdf?rc=10</A></P><P><STRONG>How to use :</STRONG> SAP BTP Solution Diagrams can be used in two different ways as follows:</P><UL><LI>draw.io - The recommended option. It is an online diagram software for making flowcharts, process diagrams, org charts, UML, ER and network diagrams. it can be installed from&nbsp;<A href="https://github.com/jgraph/drawio-desktop/releases" target="_blank" rel="noopener nofollow noreferrer">Releases · jgraph/drawio-desktop (github.com)</A>&nbsp;&amp; upon installing, SAP BTP Solution Diagram libraries need to be imported from&nbsp;<A href="https://github.com/SAP/btp-solution-diagrams.git" target="_blank" rel="noopener nofollow noreferrer">https://github.com/SAP/btp-solution-diagrams.git</A>&nbsp;.</LI><LI>Microsoft PowerPoint - Microsoft PowerPoint can also be used with some limitations. The custom shapes and guidelines are present in this template&nbsp;<A href="https://d.dam.sap.com/a/e7KMGSu?rc=10" target="_blank" rel="noopener noreferrer">https://d.dam.sap.com/a/e7KMGSu?rc=10</A></LI></UL><P>&nbsp;<STRONG>The entire project guidelines are present here :</STRONG>&nbsp;<A href="https://sap.github.io/btp-solution-diagrams/" target="_blank" rel="noopener nofollow noreferrer">BTP Solution Diagrams | BTP Solution Diagrams (sap.github.io)</A></P><P>What else? Happy exploring just like I'm doing right now&nbsp;<span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="blog.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/69647i8A4ED0F7DE062588/image-size/large?v=v2&amp;px=999" role="button" title="blog.png" alt="blog.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-02-23T07:41:25.143000+01:00 https://community.sap.com/t5/technology-blogs-by-members/sap-gui-mfa-with-sap-secure-login-service-and-microsoft-entra-id/ba-p/13605383 SAP GUI MFA with SAP Secure Login Service and Microsoft Entra ID 2024-02-26T17:05:25.982000+01:00 MartinRaepple https://community.sap.com/t5/user/viewprofilepage/user-id/171519 <P>This blog post guides you through the setup of an end-to-end scenario for implementing <A href="https://learn.microsoft.com/en-us/entra/identity/authentication/concept-mfa-howitworks" target="_blank" rel="noopener nofollow noreferrer">multi-factor authentication</A> (MFA) for SAP GUI with Microsoft Entra ID (formerly known as Microsoft Azure Active Directory, AAD). The integration with Microsoft Entra ID is accomplished by <A href="https://help.sap.com/docs/identity-authentication" target="_blank" rel="noopener noreferrer">SAP Cloud Identity Service</A>&nbsp;and the <A href="https://help.sap.com/docs/SAP%20SECURE%20LOGIN%20SERVICE/c35917ca71e941c5a97a11d2c55dcacd/28d654c4459d4693bbf34e5103867f97.html?locale=en-US" target="_blank" rel="noopener noreferrer">SAP Secure Login Service for SAP GUI</A>. Kudos to&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/181868">@Christian_Cohrs</a>&nbsp;for supporting the setup of the test environment and <SPAN>thoroughly&nbsp;</SPAN>reviewing this blog post.</P><P>Tune in to the <A href="https://www.saponazurepodcast.de/episode183/" target="_blank" rel="noopener nofollow noreferrer">SAP on Azure video podcast episode 183</A>&nbsp;to see Christian&nbsp;and me explaining the concepts and to see a <A href="https://youtu.be/RHuEUUmLPtM?t=230&amp;si=9xeUuDC0VM1VMihv" target="_blank" rel="noopener nofollow noreferrer">live demo</A> of the scenario.</P><P><div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FRHuEUUmLPtM%3Fstart%3D230%26feature%3Doembed%26start%3D230&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DRHuEUUmLPtM&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FRHuEUUmLPtM%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="200" height="112" scrolling="no" title="#183 - The one with SAP GUI MFA mit Entra ID (Martin Raepple &amp; Christan Cohrs) | SAP on Azure Video" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P><H1 id="toc-hId-857066742">Scenario walk-through</H1><P>Figure 1 (source draw.io file attached to this blog post) illustrates the setup for the scenario and the end-to-end communication flow for the MFA-secured and SSO (Single-Sign-On)-enabled login process:<EM><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Figure 1 SAP GUI MFA scenario" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70767iE6B25FC49D9D1280/image-size/large?v=v2&amp;px=999" role="button" title="scenarios-SAP GUI MFA with Secure Login Service.drawio.png" alt="Figure 1 SAP GUI MFA scenario" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure 1 SAP GUI MFA scenario</span></span></EM></P><OL><LI>The test user in this scenario, Jack Davis, logs on to his workstation with his Active Directory (AD) domain account. Upon successful login, AD issues a Kerberos ticket. Jack then launches SAP GUI and SAP Secure Login Client (SLC).</LI><LI>In SLC, Jack starts the authentication process with the SAP Secure Login Service for SAP GUI (SLS)&nbsp;via the SLS Profile.</LI><LI>The authentication request from SLC is delegated by SLS to the <A href="https://help.sap.com/docs/identity-authentication" target="_blank" rel="noopener noreferrer">S<SPAN class="">AP Cloud Identity Services - Identity Authentication</SPAN></A> (IAS) tenant that is configured as a trusted identity provider in the SAP Business Technology Platform (BTP) subaccount of the SLS subscription. &nbsp;&nbsp;</LI><LI>The IAS tenant delegates the authentication request from SLS as an <A href="https://help.sap.com/docs/identity-authentication/identity-authentication/corp-idp-configure-trust-with-saml-2-0-corporate-identity-provider" target="_blank" rel="noopener noreferrer">identity provider (IdP) proxy for the SAML (Security Assertion Markup Language) 2.0 protocol</A> to Jack’s corporate Cloud IdP, the Entra ID tenant. This requires setting up a mutual trust relationship between the IAS and Entra ID tenants by exchanging each other’s <A href="http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf" target="_blank" rel="noopener nofollow noreferrer">SAML 2.0 metadata</A><SPAN>,</SPAN> which includes public cryptographic information in the format of X.509 certificates to verify the authenticity and integrity of the SAML messages sent in this step. In the Entra ID tenant, an Enterprise Application registration represents the IAS tenant with its SAML 2.0 metadata, and the corresponding <A href="https://help.sap.com/docs/identity-authentication/identity-authentication/corporate-identity-providers?q=Corporate%20Identity%20Provider&amp;locale=en-US" target="_blank" rel="noopener noreferrer">Corporate Identity Provider</A> in IAS gets created by importing the Entra ID tenant’s metadata.</LI><LI>The SAML request sent by IAS to Entra ID requires Jack to authenticate with his credentials. To offer a <A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso" target="_blank" rel="noopener nofollow noreferrer">seamless single-sign-on</A> (SSO) experience, Jack’s user account in Active Directory is <A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-password-hash-synchronization" target="_blank" rel="noopener nofollow noreferrer">securely synchronized</A> with the Entra ID tenant by the Microsoft Entra Provisioning &nbsp;Agent running on the domain controller. With the seamless SSO feature enabled, Jack can sign-in to his Entra ID tenant from a domain-joined device connected to the corporate network without typing in his username and password. Instead, Entra ID verifies the Kerberos ticket issued to Jack on his domain-joined workstation to sign him in silently.</LI><LI>An <A href="https://learn.microsoft.com/en-us/entra/identity/conditional-access/" target="_blank" rel="noopener nofollow noreferrer">Entra Conditional Access</A> (ECA) <A href="https://learn.microsoft.com/en-us/entra/identity/conditional-access/concept-conditional-access-policies" target="_blank" rel="noopener nofollow noreferrer">policy</A> enforces the second authentication factor. The policy is applied to the Enterprise Application registration for IAS in the Entra ID tenant and kicks-in for every new login request received for the app after first-factor authentication is completed. ECA continues the login process by asking Jack to enter a secure, time-based one-time passcode (TOTP).</LI><LI>To enter the code, Jack must install an authenticator app that supports TOTP verification, such as the <A href="https://www.microsoft.com/security/mobile-authenticator-app" target="_blank" rel="noopener nofollow noreferrer">Microsoft Authenticator app</A>, on a device he owns. For the initial setup of Jack's account in Entra ID for MFA, Jack scans a QR code generated by Entra ID with the authenticator app. On subsequent sign-ins, the authenticator app generates a new TOTP every 30 seconds that Jack can type in to complete the MFA process.</LI><LI>Entra ID returns a SAML response to the (SAML) request from IAS in step 4. Likewise, IAS generates a SAML response to the SAML request from SLS in step 3, which finally results in a short-lived X.509 client certificate for Jack generated by SLS in response to step 2. The client certificate has the <A href="https://learn.microsoft.com/en-us/windows/win32/adschema/a-cn" target="_blank" rel="noopener nofollow noreferrer">Common Name (CN)</A> set to Jack’s <A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/plan-connect-userprincipalname#what-is-userprincipalname" target="_blank" rel="noopener nofollow noreferrer">user principal name</A> (UPN) in Entra ID (e.g. <A href="mailto:jdavis@bestruncorp.onmicrosoft.com" target="_blank" rel="noopener nofollow noreferrer">jdavis@bestruncorp.onmicrosoft.com</A>). It is signed by the SAP Cloud Root Certificate Authority (CA), and has a <A href="https://help.sap.com/docs/SAP%20SECURE%20LOGIN%20SERVICE/c35917ca71e941c5a97a11d2c55dcacd/9a817c1538494b7faffb45e2d0893dc9.html?locale=en-US" target="_blank" rel="noopener noreferrer">default lifetime</A> of 12 hours. SLC provides the X.509 certificate for SSO and <A href="https://help.sap.com/doc/saphelp_nw70/7.0.31/en-us/e6/56f466e99a11d1a5b00000e835363f/frameset.htm" target="_blank" rel="noopener noreferrer">Secure Network Communications (SNC)</A> between SAP GUI and the SAP Application Server (AS) ABAP. For SSO to work, the administrator of the SAP system must maintain the mapping from Jack’s user account in SAP to&nbsp;Jack’s CN (UPN). Furthermore, the backend must have a trust relationship established to the issuer of the client certificate, the SAP Cloud Root CA.</LI></OL><H1 id="toc-hId-660553237">Prerequisites</H1><P>The setup instructions in this tutorial assume that you've met all of the following prerequisites:</P><UL><LI>Administrative access to an <A href="https://www.microsoft.com/en-us/security/business/microsoft-entra-pricing" target="_blank" rel="noopener nofollow noreferrer">Entra ID P1 or P2 tenant</A> to enable hybrid identity management with provisioning of the users from the on-premise Active Directory&nbsp; to the Microsoft Entra ID tenant, and multi-factor-authentication using Entra Conditional Access (CA). This requires <EM>Conditional Access Administrator</EM>, <EM>Security Administrator</EM>, or <EM>Global Administrator</EM> privileges. If you need to, you can request a free <A href="https://developer.microsoft.com/en-us/microsoft-365/dev-program" target="_blank" rel="noopener nofollow noreferrer">Microsoft 365 Developer license</A><SPAN>,</SPAN> which includes a P2 tenant for development and testing purposes. The domain name of the tenant used in this tutorial is&nbsp;<EM>bestruncorp.onmicrosoft.com,&nbsp;</EM>but you can also choose any other name. Please follow <A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/tutorial-single-forest" target="_blank" rel="noopener nofollow noreferrer">this tutorial</A> to install the <A href="https://community.sap.com/learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-provisioning-agent" target="_blank" rel="noopener nofollow noreferrer">Entra provisioning agent</A> in your lab environment and configure <A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync" target="_blank" rel="noopener nofollow noreferrer">Entra Connect Cloud Sync</A> for your domain and tenant.</LI><LI>Administrative access to an IAS&nbsp;tenant.</LI><LI>Administrative access to an SAP BTP subaccount that has trust established to the IAS tenant (see <A href="https://help.sap.com/docs/SAP%20SECURE%20LOGIN%20SERVICE/c35917ca71e941c5a97a11d2c55dcacd/bd38e9deab2743aa8a3fb8aaa5b12210.html?locale=en-US" target="_blank" rel="noopener noreferrer">instructions</A>).</LI><LI>A valid <A href="https://discovery-center.cloud.sap/serviceCatalog/sap-secure-login-service?service_plan=default&amp;region=all&amp;commercialModel=subscription&amp;tab=service_plan" target="_blank" rel="noopener nofollow noreferrer">license for the SAP Secure Login Service for SAP GUI</A> service to be visible as an entitlement in your BTP subaccount. You should have already created an instance of the service in your subaccount following <A href="https://help.sap.com/docs/SAP%20SECURE%20LOGIN%20SERVICE/c35917ca71e941c5a97a11d2c55dcacd/20df3e39991848baa52c82464b78c375.html?locale=en-US" target="_blank" rel="noopener noreferrer">these instructions</A>.</LI><LI>Administrative access to an Active Directory (AD) domain controller (DC) and a domain-joined workstation for simulating the corporate network. You can create the required systems in your lab environment as Hyper-V VMs and configure them according to the table below:</LI></UL><TABLE><TBODY><TR><TD width="178px"><P><STRONG>System</STRONG></P></TD><TD width="378px"><P><STRONG>Configuration</STRONG></P></TD></TR><TR><TD width="178px"><P>Domain Controller</P></TD><TD width="378px"><UL><LI>Windows Server 2019 or later</LI><LI>Active Directory Domain Services (AD DS role). Installing the AD DS role and promoting a Windows Server to a domain controller is documented <A href="https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/deploy/install-a-new-windows-server-2012-active-directory-forest--level-200-#ad-ds-role-installation" target="_blank" rel="noopener nofollow noreferrer">here</A><SPAN>. The domain name used in this tutorial is corp.bestrun.com (NetBIOS: CORP), but you can also choose any other name.</SPAN></LI><LI><A href="https://microsofteur-my.sharepoint.com/personal/maraeppl_microsoft_com/Documents/Dokumente/Publications/SAP%20Blogs/SAP%20GUI%20MFA%20with%20Entra%20ID/learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-provisioning-agent" target="_blank" rel="noopener nofollow noreferrer">Microsoft Entra provisioning agent</A><SPAN> (for installation see </SPAN><A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/tutorial-single-forest" target="_blank" rel="noopener nofollow noreferrer">this tutorial</A><SPAN> or </SPAN><A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-install" target="_blank" rel="noopener nofollow noreferrer">these instructions</A><SPAN>)</SPAN></LI></UL></TD></TR><TR><TD width="178px"><P>Workstation</P></TD><TD width="378px"><UL><LI>Windows 10 Pro or later, domain-joined</LI><LI>SAP GUI 7.70 or later</LI><LI>SAP Secure Login Client 3.0 SP02 Patch Level (PL) 16 or later</LI></UL></TD></TR></TBODY></TABLE><UL><LI>A non-administrator account used for testing the scenario in your local domain that is synchronized with the Entra ID tenant</LI><LI>Administrative access to an SAP Application Server ABAP for testing the SNC SSO with SAP GUI and the SLS-issued client certificate. One of the easiest ways to setup a development and test system is to run the <A href="https://hub.docker.com/r/sapse/abap-platform-trial" target="_blank" rel="noopener nofollow noreferrer">ABAP Platform Trial on Docker</A>. Setup of the SNC configuration will be covered in the following tutorial steps.</LI></UL><H1 id="toc-hId-464039732">Download the SAP Cloud Root CA certificate</H1><P>The <A href="https://en.wikipedia.org/wiki/Chain_of_trust" target="_blank" rel="noopener nofollow noreferrer">chain of trust</A> or certification path for the short-lived client (user) certificates issued by SLS has its trust anchor in the SAP Cloud Root CA and two <A href="https://en.wikipedia.org/wiki/Intermediate_certificate_authority" target="_blank" rel="noopener nofollow noreferrer">intermediate CAs</A> (<EM>SAP PKI Certificate Service Client CA</EM> and <EM>SAP BTP Client CA</EM>) as shown in the following picture:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708700854903.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70024i73FEDD674770BF6B/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708700854903.png" alt="MartinRaepple_0-1708700854903.png" /></span></P><P><EM>Figure 2: SLS client certificate chain of trust</EM></P><P>To successfully verify the SLS-issued certificates for SSO, the SAP Cloud Root CA certificate must be downloaded and distributed to all domain-joined workstations and the SAP system.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>1.1</P></TD><TD width="282"><P>Login to your domain controller as the domain administrator.</P><P>&nbsp;</P><P>Open a web browser and go to <A href="https://www.pki.co.sap.com" target="_blank" rel="noopener noreferrer">https://www.pki.co.sap.com</A> to download the <STRONG>SAP Cloud Root CA</STRONG> certificate (or click <A href="https://aia.pki.co.sap.com/aia/SAP%20Cloud%20Root%20CA.crt" target="_blank" rel="noopener noreferrer">this link</A>).</P><P>&nbsp;</P><P>Store the file on shared folder that is accessible from the domain-joined workstation.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708700854912.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70025i3541DDED61E8B542/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708700854912.png" alt="MartinRaepple_1-1708700854912.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId-267526227">Configure SNC in the SAP AS ABAP</H1><P>You will setup SNC for X.509-based SSO in the SAP AS ABAP using transaction SNCWIZARD. Make sure that your lab environment’s ABAP application server (such as the Docker-based <A href="https://hub.docker.com/r/sapse/abap-platform-trial" target="_blank" rel="noopener nofollow noreferrer">ABAP Platform Trial</A> in my setup) uses the <A href="https://help.sap.com/docs/SAP_SINGLE_SIGN-ON/df185fd53bb645b1bd99284ee4e4a750/f0549a4d52124a38a575295b15923f91.html?locale=en-US" target="_blank" rel="noopener noreferrer">SAP Cryptographic Library (CommonCryptoLib)</A> as the default cryptographic library for SNC.</P><TABLE><TBODY><TR><TD width="48px" height="50px"><P><STRONG>Step</STRONG></P></TD><TD width="282px" height="50px"><P><STRONG>Description</STRONG></P></TD><TD width="274px" height="50px"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48px" height="179px"><P>2.1</P></TD><TD width="282px" height="179px"><P>Login with your test user to the workstation and start SAP GUI.</P><P>Login to the SAP AS ABAP with your admin user (e.g. DEVELOPER for the ABAP Platform Trial system).</P></TD><TD width="274px" height="179px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708898891648.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70679iA2623DF7D28835AC/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708898891648.png" alt="MartinRaepple_0-1708898891648.png" /></span></TD></TR><TR><TD width="48px" height="262px"><P>2.2</P></TD><TD width="282px" height="262px"><P>Start transaction <STRONG>SNCWIZARD</STRONG>.</P><P>If you see the error message<BR /><EM>"DEFAULT profile in the DB and in the file system are different"</EM><BR />then run transaction&nbsp;<STRONG>RZ10&nbsp;</STRONG>first, and select&nbsp;<STRONG>Utilities → Import Profiles → Of active servers</STRONG>, and return to the SNCWIZARD.</P></TD><TD width="274px" height="262px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708898891657.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70681iB4085D3D68DA802C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708898891657.png" alt="MartinRaepple_1-1708898891657.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48px" height="169px"><P>2.3</P></TD><TD width="282px" height="169px"><P>On the&nbsp;<STRONG>Start</STRONG>&nbsp;page of the <STRONG>SAP Single Sign-On Wizard</STRONG>, click&nbsp;<STRONG>Continue</STRONG>.</P></TD><TD width="274px" height="169px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_2-1708898891669.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70680i5B19D4434175F39F/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_2-1708898891669.png" alt="MartinRaepple_2-1708898891669.png" /></span></TD></TR><TR><TD width="48px" height="173px"><P>2.4</P></TD><TD width="282px" height="173px"><P>Accept the default values for profile parameters and click&nbsp;<STRONG>Continue</STRONG>.</P></TD><TD width="274px" height="173px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_3-1708898891678.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70682iA57690D8BE34D087/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_3-1708898891678.png" alt="MartinRaepple_3-1708898891678.png" /></span></TD></TR><TR><TD width="48px" height="168px"><P>2.5</P></TD><TD width="282px" height="168px"><P>Click <STRONG>Close</STRONG>.</P></TD><TD width="274px" height="168px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_4-1708898891685.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70684i60DA1A9E5BF419BD/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_4-1708898891685.png" alt="MartinRaepple_4-1708898891685.png" /></span></TD></TR><TR><TD width="48px" height="134px"><P>2.6</P></TD><TD width="282px" height="134px"><P><STRONG>Log off</STRONG> from the SAP system.</P></TD><TD width="274px" height="134px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_5-1708898891686.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70683i3AE1B420FAF3E4A9/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_5-1708898891686.jpeg" alt="MartinRaepple_5-1708898891686.jpeg" /></span></TD></TR><TR><TD width="48px" height="576px"><P>2.7</P></TD><TD width="282px" height="576px"><P>You must restart the application server. If you run the server in Docker, go to your running container instance in Docker Desktop, select the <STRONG>Exec</STRONG> tab, and enter the command</P><P><STRONG>su &lt;SID&gt;adm</STRONG></P><P>As SAP system user &lt;SID&gt;adm, use the commands<BR /><STRONG>sapcontrol -nr &lt;instance_number&gt; -function Stop</STRONG><BR />and<BR /><STRONG>sapcontrol -nr &lt;instance_number&gt; -function Start</STRONG><BR />to restart the server.</P><P>Replace &lt;SID&gt; with your system ID (e.g. “A4H”), and &lt;instance_number&gt; with the number of your application service instance (e.g. "00").</P></TD><TD width="274px" height="576px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_6-1708898891694.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70685iA34D8B56ECBE9884/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_6-1708898891694.png" alt="MartinRaepple_6-1708898891694.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48px" height="204px"><P>2.8</P></TD><TD width="282px" height="204px"><P>Login with your admin user and start the SNC Wizard again with transaction code SNCWIZARD.</P><P>Click <STRONG>Continue</STRONG>.</P></TD><TD width="274px" height="204px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_7-1708898891704.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70686i28F921820B3B8CC5/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_7-1708898891704.png" alt="MartinRaepple_7-1708898891704.png" /></span></TD></TR><TR><TD width="48px" height="229px"><P>2.9</P></TD><TD width="282px" height="229px"><P>Since we don’t want to configure SNC for Kerberos, click <STRONG>Skip </STRONG>on the Kerberos Credentials page.</P></TD><TD width="274px" height="229px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_8-1708898891712.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70687i5BEF932C87C0734A/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_8-1708898891712.png" alt="MartinRaepple_8-1708898891712.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48px" height="150px"><P>2.10</P></TD><TD width="282px" height="150px"><P>On the <STRONG>X.509 Credentials</STRONG> page, <STRONG>copy</STRONG> the Distinguished Name (DN) of the system’s SNC private key from the <STRONG>Subject</STRONG> field into the clipboard.</P></TD><TD width="274px" height="150px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_9-1708898891719.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70688i01CB70DCAD167833/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_9-1708898891719.png" alt="MartinRaepple_9-1708898891719.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48px" height="235px"><P>2.11</P></TD><TD width="282px" height="235px"><P>Click <STRONG>Continue</STRONG>. This will start the Trust Manager with transaction STRUST.</P></TD><TD width="274px" height="235px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_10-1708898891728.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70689iE190E92972132384/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_10-1708898891728.png" alt="MartinRaepple_10-1708898891728.png" /></span></TD></TR><TR><TD width="48px" height="199px"><P>2.12</P></TD><TD width="282px" height="199px"><P>Double-click on the <STRONG>SNC SAPCryptolib </STRONG>entry in the PSE list.</P><P>Click the <STRONG>Display/Change</STRONG> button or <STRONG>Ctrl+F1</STRONG> to enter edit mode.</P></TD><TD width="274px" height="199px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_11-1708898891736.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70690iDD5A269F8D5DFBF2/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_11-1708898891736.png" alt="MartinRaepple_11-1708898891736.png" /></span></TD></TR><TR><TD width="48px" height="346px"><P>2.13</P></TD><TD width="282px" height="346px"><P>Click <STRONG>Import certificate</STRONG>.</P></TD><TD width="274px" height="346px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_12-1708898891757.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70693i0E98FB24B181D11C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_12-1708898891757.png" alt="MartinRaepple_12-1708898891757.png" /></span></TD></TR><TR><TD width="48px" height="309px"><P>2.14</P></TD><TD width="282px" height="309px"><P>Stay on the <STRONG>File</STRONG> tab and select the file path &nbsp;for the downloaded SAP Cloud Root CA certificate.</P><P>Click <STRONG>OK</STRONG>.</P></TD><TD width="274px" height="309px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_13-1708898891762.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70691i000D3874D4BDDC7D/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_13-1708898891762.png" alt="MartinRaepple_13-1708898891762.png" /></span></TD></TR><TR><TD width="48px" height="205px"><P>2.15</P></TD><TD width="282px" height="205px"><P>Click <STRONG>Add to Certificate List</STRONG>.</P><P>Click <STRONG>Save</STRONG> (or press Ctrl+S).</P></TD><TD width="274px" height="205px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_14-1708898891773.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70692i5625378A02153D05/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_14-1708898891773.png" alt="MartinRaepple_14-1708898891773.png" /></span></TD></TR><TR><TD width="48px" height="209px"><P>2.16</P></TD><TD width="282px" height="209px"><P>Click the <STRONG>Display/Change</STRONG> button or press <STRONG>Ctrl+F1</STRONG> to switch to display mode.</P></TD><TD width="274px" height="209px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_15-1708898891780.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70694iC2808239515F9311/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_15-1708898891780.png" alt="MartinRaepple_15-1708898891780.png" /></span></TD></TR><TR><TD width="48px" height="138px"><P>2.17</P></TD><TD width="282px" height="138px"><P>Click <STRONG>Exit</STRONG>.</P></TD><TD width="274px" height="138px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_16-1708898891785.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70695i2D28908D5F4F705D/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_16-1708898891785.png" alt="MartinRaepple_16-1708898891785.png" /></span></TD></TR><TR><TD width="48px" height="261px"><P>2.18</P></TD><TD width="282px" height="261px"><P>Click <STRONG>Complete</STRONG>.</P></TD><TD width="274px" height="261px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_17-1708898891795.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70696iC9C8B3A274572C4B/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_17-1708898891795.png" alt="MartinRaepple_17-1708898891795.png" /></span></TD></TR></TBODY></TABLE><H1 id="toc-hId-71012722">Configure SNC in SAP GUI</H1><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>3.1</P></TD><TD width="282"><P>Right-click in SAP GUI on the system connection for your SAP system and select <STRONG>Properties...</STRONG> from the context menu.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708899261718.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70708i405C1F8699A70A66/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708899261718.png" alt="MartinRaepple_0-1708899261718.png" /></span></TD></TR><TR><TD width="48"><P>3.2</P></TD><TD width="282"><P>Switch to the <STRONG>Network</STRONG> tab.</P><P>Activate the checkbox <STRONG>Activate Secure Network Communication</STRONG>.</P><P>In the <STRONG>SNC Name</STRONG> field, paste the SAP system's SNC private key DN copied in step 2.10. and add the prefix "p:" (e.g. "p:CN=A4H, OU=IINITIAL, OU=SAP Web AS, O=SAP Trust Community, C=DE").</P><P>Click <STRONG>Finish</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708899261720.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70709i44B23C565B3911A2/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708899261720.png" alt="MartinRaepple_1-1708899261720.png" /></span></TD></TR></TBODY></TABLE><H1 id="toc-hId--125500783">Distribute the SAP Cloud Root CA Certificate</H1><P>To ensure that the client workstation can verify SLS and ultimately its trust anchor, the SAP Cloud Root CA, as a trusted issuer for the short-lived client certificates, the SAP Cloud Root CA certificate must be imported into the workstation’s local certificate store. In an Active Directory domain, Group Policies provide a centralized management, configuration and software distribution tool to the domain-joined devices. You will use the Default Domain Policy to distribute the SAP Cloud Root CA certificate to the workstation.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>4.1</P></TD><TD width="282"><P>Login to the Domain Controller and open the <STRONG>Control Panel</STRONG> from the Start menu.</P><P>Start the <STRONG>Group Policy Management</STRONG> editor from <STRONG>System and Security &gt;</STRONG><STRONG>&nbsp;Administrative Tools</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708899342849.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70710iFCA40ECEE41B27A5/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708899342849.png" alt="MartinRaepple_0-1708899342849.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.2</P></TD><TD width="282"><P>Select your domain name and right-click on <STRONG>Group Policy Objects &gt;</STRONG><STRONG>&nbsp;Default Domain Policy</STRONG>.</P><P>Click <STRONG>Edit...</STRONG> from the context menu.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708899342862.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70711iDCDE770EA3B47694/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708899342862.png" alt="MartinRaepple_1-1708899342862.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.3</P></TD><TD width="282"><P>Go to <STRONG>Computer Configuration &gt;</STRONG><STRONG>&nbsp;Policies &gt;</STRONG><STRONG>&nbsp;Windows Settings &gt;</STRONG><STRONG>&nbsp;Security Settings &gt;</STRONG><STRONG>&nbsp;Public Key Policies</STRONG>.</P><P><STRONG>Right-click</STRONG> on <STRONG>Trusted Root Certification Authorities </STRONG>and select <STRONG>Import…</STRONG> from the context menu.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_2-1708899342880.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70712i4E7C8D0A8750892C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_2-1708899342880.png" alt="MartinRaepple_2-1708899342880.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.4</P></TD><TD width="282"><P>The Certificate Import Wizard starts.</P><P>Click <STRONG>Next</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_3-1708899342888.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70713iE4B69BE7F4099E41/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_3-1708899342888.png" alt="MartinRaepple_3-1708899342888.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.5</P></TD><TD width="282"><P>Click <STRONG>Browse…</STRONG> and open the SAP Cloud Root CA certificate file downloaded in step 1.1.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_4-1708899342892.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70715i988E79D68557454D/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_4-1708899342892.png" alt="MartinRaepple_4-1708899342892.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.6</P></TD><TD width="282"><P>Click <STRONG>Next</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_5-1708899342897.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70714iCEA49FF733D96C4D/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_5-1708899342897.png" alt="MartinRaepple_5-1708899342897.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.7</P></TD><TD width="282"><P>Select the <STRONG>Trusted Root Certification Authorities</STRONG> to store the certificate.</P><P>Click <STRONG>Next</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_6-1708899342901.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70716iE0C3013F94FBC0DD/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_6-1708899342901.png" alt="MartinRaepple_6-1708899342901.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.8</P></TD><TD width="282"><P>Click <STRONG>Finish</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_7-1708899342905.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70717i042162462E704DCC/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_7-1708899342905.png" alt="MartinRaepple_7-1708899342905.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>4.9</P></TD><TD width="282"><P>Login to the client workstation and open a command line window.</P><P>Group Policy is automatically refreshed when the domain-joined workstation restarts, or when a user logs on to the computer. In addition, Group Policy is periodically refreshed every 90 minutes with a randomized offset of up to 30 minutes.</P><P>You can also run a Group Policy update to install the SAP Cloud Root CA certificate in the workstation’s local certificate store with the command</P><P><STRONG>gpupdate.exe /force</STRONG></P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_8-1708899342907.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70718iEFA3611DE53F16E3/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_8-1708899342907.png" alt="MartinRaepple_8-1708899342907.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--322014288">Configure the Secure Login Client</H1><P>Download the client authentication policies of the Secure Login Service (SLS) to the Secure Login Client (SLC) in a profile group.</P><TABLE><TBODY><TR><TD width="48px" height="50px"><P><STRONG>Step</STRONG></P></TD><TD width="282px" height="50px"><P><STRONG>Description</STRONG></P></TD><TD width="274px" height="50px"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD><P>5.1</P></TD><TD><P>Login to your BTP global account with <A href="https://account.hana.ondemand.com/" target="_self" rel="nofollow noopener noreferrer">SAP BTP Cockpit</A>.&nbsp;<SPAN>Then select the subaccount in which your SLS instance is subscribed to.</SPAN></P><P><SPAN>Select the SLS subscription from the list in I<STRONG>nstances and Subscriptions</STRONG> and copy the instance URL to the clipboard.&nbsp;</SPAN></P></TD><TD><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708930939580.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70922iB69E97B5DD4391D4/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708930939580.png" alt="MartinRaepple_0-1708930939580.png" /></span></TD></TR><TR><TD width="48px" height="172px"><P>5.2</P></TD><TD width="282px" height="172px"><P>Open the SLC on the workstation.</P><P>Select <STRONG>File -&gt;</STRONG><STRONG>&nbsp;Options…</STRONG> from the menu.</P></TD><TD width="274px" height="172px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708899460383.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70719i5EF1A809B8AA86FE/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708899460383.png" alt="MartinRaepple_0-1708899460383.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48px" height="413px"><P>5.3</P></TD><TD width="282px" height="413px"><P>Switch to the <STRONG>Policy Groups tab</STRONG>.</P><P>In the <STRONG>Host</STRONG> field paste the URL of your SLS service instance you've copied in step 5.1.</P><P>Click <STRONG>Refresh</STRONG>, then <STRONG>Apply</STRONG>.</P><P>&nbsp;</P></TD><TD width="274px" height="413px"><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708899460396.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70720i8714290A548ADD85/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708899460396.png" alt="MartinRaepple_1-1708899460396.png" /></span></P></TD></TR><TR><TD width="48px" height="233px"><P>5.3</P></TD><TD width="282px" height="233px"><P>The new <STRONG>SLS profile</STRONG> is added which can be used later to obtain the X.509 client certificate from SLS.</P></TD><TD width="274px" height="233px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_2-1708899460458.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70721i3FEE581C3137C5E1/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_2-1708899460458.png" alt="MartinRaepple_2-1708899460458.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--518527793">Register IAS tenant in Entra ID</H1><P>The IAS tenant must be registered in Entra ID to establish the trust relationship, which enables IAS to act as a SAML proxy in the scenario.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>6.1</P></TD><TD width="282"><P>Login to the Entra admin center at <A href="https://entra.microsoft.com/" target="_blank" rel="noopener nofollow noreferrer">https://entra.microsoft.com/</A></P><P>Select <STRONG>Identity </STRONG><STRONG>à Applications </STRONG><STRONG>à Enterprise applications</STRONG> from the left-side menu.</P><P>Click <STRONG>New application</STRONG>.</P><P>&nbsp;</P><P>&nbsp;</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708899690391.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70722i7417479EEF24CD80/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708899690391.png" alt="MartinRaepple_0-1708899690391.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.2</P></TD><TD width="282"><P>Enter “SAP Cloud Identity” in the search bar.</P><P>Click on the tile with the title <STRONG>SAP Cloud Identity Services</STRONG> from the search results.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708899690414.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70724i235CBA3AC6296CBE/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708899690414.png" alt="MartinRaepple_1-1708899690414.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.3</P></TD><TD width="282"><P>Enter a name (e.g. “SLSIASTenant”).</P><P>Click <STRONG>Create</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_2-1708899690428.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70723iDD7B1A41D0BD3215/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_2-1708899690428.png" alt="MartinRaepple_2-1708899690428.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.4</P></TD><TD width="282"><P>Upon successful registration of the Enterprise application, click the <STRONG>Set up &nbsp;Single Sign-On</STRONG> tile.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_3-1708899690433.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70725i4E5B67B29BC5D52B/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_3-1708899690433.png" alt="MartinRaepple_3-1708899690433.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.5</P></TD><TD width="282"><P>Click the <STRONG>SAML</STRONG> tile.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_4-1708899690441.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70726iB79F2877B679EA38/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_4-1708899690441.png" alt="MartinRaepple_4-1708899690441.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.6</P></TD><TD width="282"><P>Open the SAML 2.0 metadata URL of your IAS tenant in a new Web Browser tab.</P><P>The URL has the following pattern:</P><PRE>https://&lt;IAS FQDN&gt;/saml2/metadata</PRE><P>e.g.</P><PRE> <A href="https://myias.accounts.ondemand.com/saml2/metadata" target="_blank" rel="noopener nofollow noreferrer">https://myias.accounts.ondemand.com/saml2/metadata</A></PRE><P><STRONG>Save</STRONG> the XML file.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_5-1708899690459.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70727i56737ED13691459C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_5-1708899690459.png" alt="MartinRaepple_5-1708899690459.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.7</P></TD><TD width="282"><P>Go back to the Entra admin center.</P><P>Click <STRONG>Upload metadata file</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_6-1708899690468.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70728i52BF4EAB4E573577/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_6-1708899690468.png" alt="MartinRaepple_6-1708899690468.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.8</P></TD><TD width="282"><P>Select the downloaded <EM>metadata.xml</EM>.</P><P>Click <STRONG>Add</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_7-1708899690477.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70730iB2FB680C2A1E2D31/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_7-1708899690477.png" alt="MartinRaepple_7-1708899690477.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.9</P></TD><TD width="282"><P>The SAML 2.0 configuration for the new enterprise application for the IAS tenant has been automatically populated with the content from the metadata file.</P><P>Click <STRONG>Save</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_8-1708899690488.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70729iDD4F0FA7E49FF015/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_8-1708899690488.png" alt="MartinRaepple_8-1708899690488.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>6.10</P></TD><TD width="282"><P>Copy the <STRONG>App Federation Metadata Url</STRONG> to the clipboard for the next step.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_9-1708899690498.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70731i75041BFCCF9E1E4B/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_9-1708899690498.png" alt="MartinRaepple_9-1708899690498.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--715041298">Configure Corporate Identity Provider in IAS tenant</H1><P>The following step adds the Entra ID tenant as a corporate identity provider to the IAS tenant.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>7.1</P></TD><TD width="282"><P>Login to the Administration Console of your IAS tenant.</P><P>Select <STRONG>Identity Providers </STRONG><STRONG>à Corporate Identity Providers</STRONG> from the menu.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_10-1708899759115.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70732i786FF08AEC48895C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_10-1708899759115.png" alt="MartinRaepple_10-1708899759115.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>7.2</P></TD><TD width="282"><P>Click <STRONG>Create</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_11-1708899759131.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70734iA95CB36F25901EEB/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_11-1708899759131.png" alt="MartinRaepple_11-1708899759131.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>7.3</P></TD><TD width="282"><P>Enter a <STRONG>Display Name</STRONG>, e.g. Entra ID Tenant.</P><P>Select <STRONG>Microsoft ADFS / Azure AD (SAML 2.0)</STRONG> as the <STRONG>Identity Provider Type</STRONG>.</P><P>Click <STRONG>Create</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_12-1708899759143.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70733i879099F318DDEA95/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_12-1708899759143.png" alt="MartinRaepple_12-1708899759143.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>7.4</P></TD><TD width="282"><P>On the <STRONG>Trust</STRONG> tab of the new corporate identity provider, select <STRONG>SAML 2.0 Configuration</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_13-1708899759148.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70735i93801FE792B4E3C1/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_13-1708899759148.png" alt="MartinRaepple_13-1708899759148.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>7.5</P></TD><TD width="282"><P>Paste the URL copied to the clipboard in step 6.10 into the <STRONG>Metadata URL</STRONG> field and click <STRONG>Load</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_14-1708899759155.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70736i9AEFFF8ECDB50E11/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_14-1708899759155.png" alt="MartinRaepple_14-1708899759155.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>7.6</P></TD><TD width="282"><P>The SAML 2.0 configuration of the corporate identity provider has been automatically populated with the content from the metadata URL of the Entra ID tenant.</P><P>Click <STRONG>Save</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_15-1708899759163.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70737i19A14708F5FAF424/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_15-1708899759163.png" alt="MartinRaepple_15-1708899759163.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--911554803">Test SLC login with Entra ID without MFA</H1><P>Let’s do a first test of the scenario to verify that the IAS tenant correctly delegates authentication of the user to Entra ID as the corporate IdP and seamlessly single signs-on the user. Enforcing a second factor with Entra CA will be configured in the next step.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>8.1</P></TD><TD width="282"><P>In SLC, right-click on the new SLS profile and select <STRONG>Log In…</STRONG> from the context menu.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_16-1708899799572.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70738i7E7050592DDED9B1/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_16-1708899799572.png" alt="MartinRaepple_16-1708899799572.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>8.2</P></TD><TD width="282"><P>With <A href="https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-sso" target="_blank" rel="noopener nofollow noreferrer">seamless sign-on enabled</A> in Entra Connect Cloud Sync, the currently logged in user on the domain-joined workstation gets single signed-on to the Entra ID tenant.</P><P>If you closely watch the communication flow in the embedded browser window you can see that the authentication request is delegated from IAS to Entra ID and the final response comes from IAS. &nbsp;</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_17-1708899799573.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70739i2DFD85F00E12F0E9/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_17-1708899799573.png" alt="MartinRaepple_17-1708899799573.png" /></span><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_18-1708899799576.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70740i7145F8A70245E69E/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_18-1708899799576.png" alt="MartinRaepple_18-1708899799576.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>8.3</P></TD><TD width="282"><P>The use should be successfully logged in with the new profile.</P><P>Right-click and choose <STRONG>Copy SNC name to clipboard</STRONG>. This value will be used in the next step to configure the required user mapping in AS ABAP.</P><P>Then choose <STRONG>Log Out</STRONG> from the context menu.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_19-1708899799588.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70741iD60E09D6F35524A8/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_19-1708899799588.png" alt="MartinRaepple_19-1708899799588.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--338328225">Configure user mapping in the SAP AS ABAP</H1><P>With the SNC name copied from the short-lived certificate generated by SLS we can now go ahead and map it to the corresponding user account in AS ABAP.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>9.1</P></TD><TD width="282"><P>Since there is no user mapping yet you have to login to the SAP system without SSO.</P><P>Right-click on the connection entry in SAP GUI and select <STRONG>SNC Logon Without Single Sign-On</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708900082284.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70742i723229BA648224D7/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708900082284.png" alt="MartinRaepple_0-1708900082284.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>9.2</P></TD><TD width="282"><P>Logon with your admin user name and password.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708900082293.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70744i3C0118BCD4A8E21C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708900082293.png" alt="MartinRaepple_1-1708900082293.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>9.3</P></TD><TD width="282"><P>Start <STRONG>User Maintenance</STRONG> with transaction code SU01.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_2-1708900082302.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70743iD6C7EE774FE2AF10/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_2-1708900082302.png" alt="MartinRaepple_2-1708900082302.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>9.4</P></TD><TD width="282"><P>Select a user account (e.g. DEVELOPER in the ABAP Platform Trial system) and click <STRONG>Change (Shift+F6)</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_3-1708900082307.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70745i16506629763826E3/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_3-1708900082307.png" alt="MartinRaepple_3-1708900082307.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>9.5</P></TD><TD width="282"><P>Switch to the <STRONG>SNC</STRONG> tab.</P><P>Click <STRONG>Change SNC Name</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_4-1708900082315.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70747i8B956C1662F790F0/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_4-1708900082315.png" alt="MartinRaepple_4-1708900082315.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>9.6</P></TD><TD width="282"><P>Paste the value from the clipboard in the text field.</P><P>Click <STRONG>OK</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_5-1708900082323.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70746iB65100F1387733C7/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_5-1708900082323.png" alt="MartinRaepple_5-1708900082323.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>9.7</P></TD><TD width="282"><P>Click <STRONG>Save</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_6-1708900082334.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70748i060B3F8FF492235C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_6-1708900082334.png" alt="MartinRaepple_6-1708900082334.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>9.8</P></TD><TD width="282"><P><STRONG>Log Off</STRONG> from the system</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_7-1708900082344.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70749iA80EAC160C9C5F2A/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_7-1708900082344.png" alt="MartinRaepple_7-1708900082344.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--534841730">Setup the Entra CA policy for MFA</H1><P>Entra Conditional Access (CA) enforces the multi-factor authentication in the scenario. This requires the assignment of your test user to a CA policy that also defines the cloud app(s) that trigger the policy. The cloud app in this scenario is the IAS tenant which has been registered in the Entra ID tenant in the previous steps. Finally, you configure the actions whenever the IAS tenant sends a login request for the specified user (or group of users) which require additional processing, such as prompting for multifactor authentication.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>10.1</P></TD><TD width="282"><P>Go back to the Entra admin center at <A href="https://entra.microsoft.com/" target="_blank" rel="noopener nofollow noreferrer">https://entra.microsoft.com/</A></P><P>Select <STRONG>Protection </STRONG><STRONG>à Conditional Access</STRONG> from the left-side menu.</P><P>Click <STRONG>New policy</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_8-1708900194552.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70752i1C1A3B909107D30F/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_8-1708900194552.png" alt="MartinRaepple_8-1708900194552.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.2</P></TD><TD width="282"><P>Enter a <STRONG>Name</STRONG> for the new CA policy, e.g. “SAPGUIMFA”.</P><P>Click the link in the section <STRONG>Users</STRONG> under <STRONG>Assignments</STRONG> to select the test user.</P><P>Choose <STRONG>Select users and groups</STRONG> and activate the <STRONG>Users and groups</STRONG> checkbox.</P><P>Select a test user for the scenario from your Entra ID tenant.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_9-1708900194563.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70751i1AFE1C152B22B9BA/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_9-1708900194563.png" alt="MartinRaepple_9-1708900194563.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.3</P></TD><TD width="282"><P>Click on the link in the <STRONG>Target resources</STRONG> section.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_10-1708900194574.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70753i05E8C9894D8AF1A7/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_10-1708900194574.png" alt="MartinRaepple_10-1708900194574.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.4</P></TD><TD width="282"><P>Select <STRONG>Cloud apps</STRONG> from the drop-down list and choose <STRONG>Select apps</STRONG> from the options.</P><P>Click <STRONG>None</STRONG> to select an app from your Tenant.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_11-1708900194587.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70754i47D361B705D7781E/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_11-1708900194587.png" alt="MartinRaepple_11-1708900194587.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.5</P></TD><TD width="282"><P>Search for the name of the IAS enterprise application you registered in step 6.3, e.g. “<EM>SLSIASTenant</EM>”.</P><P>Select it by activating the checkbox in search results.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_12-1708900194592.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70755iEB27A9F88B08907F/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_12-1708900194592.png" alt="MartinRaepple_12-1708900194592.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.6</P></TD><TD width="282"><P>Click the link in the <STRONG>Grant</STRONG> section of the new policy.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_13-1708900194604.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70756i655BF65777B0D180/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_13-1708900194604.png" alt="MartinRaepple_13-1708900194604.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.7</P></TD><TD width="282"><P>Choose <STRONG>Grant access</STRONG> from the options.</P><P>Activate the checkbox to <STRONG>Require multifactor authentication</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_14-1708900194608.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70757i6F7C1A9D82103F2A/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_14-1708900194608.png" alt="MartinRaepple_14-1708900194608.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.8</P></TD><TD width="282"><P>Click <STRONG>Select</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_15-1708900194610.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70758iD7DF1E88BFC3177E/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_15-1708900194610.png" alt="MartinRaepple_15-1708900194610.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>10.9</P></TD><TD width="282"><P>Choose <STRONG>On</STRONG> from the <STRONG>Enable policy options</STRONG>.</P><P>Click <STRONG>Create</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_16-1708900194615.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70759i31C9D6DC567C93EE/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_16-1708900194615.png" alt="MartinRaepple_16-1708900194615.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--731355235">Test the scenario with MFA</H1><P>Before you start testing the scenario with MFA enforced for the test user by Entra CA, verify that your Entra ID MFA registration policy includes your test user to enforce MFA.</P><TABLE><TBODY><TR><TD width="48"><P><STRONG>Step</STRONG></P></TD><TD width="282"><P><STRONG>Description</STRONG></P></TD><TD width="274"><P><STRONG>Screenshot</STRONG></P></TD></TR><TR><TD width="48"><P>11.1</P></TD><TD width="282"><P>In the Entra admin center, go to <STRONG>Protection </STRONG><STRONG>à Identity Protection</STRONG>.</P><P>Select <STRONG>Multifactor Authentication Registration Policy</STRONG> from the menu.</P><P>Check that the policy includes your test user and the status is <STRONG>Enabled</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_0-1708900396082.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70760iAA32E23944EDC764/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_0-1708900396082.png" alt="MartinRaepple_0-1708900396082.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>11.2</P></TD><TD width="282"><P>Open SLC and select the SLS profile.</P><P>Right-click and select <STRONG>Log in</STRONG>.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_1-1708900396093.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70761i4BEFAC02DB8C475B/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_1-1708900396093.png" alt="MartinRaepple_1-1708900396093.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>11.3</P></TD><TD width="282"><P>If the test user hasn’t signed-in with MFA yet, Entra ID will prompt the user to start the setup process. This includes downloading the Authenticator App and setting it up</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_2-1708900396112.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70762i5212379F357F0EFA/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_2-1708900396112.png" alt="MartinRaepple_2-1708900396112.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>11.4</P></TD><TD width="282"><P>If the test user has already setup a device for MFA, Entra ID will display a number in the browser to enter in the Authenticator App.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_3-1708900396125.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70763i2194A0F126E0C42C/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_3-1708900396125.png" alt="MartinRaepple_3-1708900396125.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>11.5</P></TD><TD width="282"><P>The user enters the number in the Authenticator App to sign in.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_4-1708900396138.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70764iABC4AB4C9D1CC5F0/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_4-1708900396138.png" alt="MartinRaepple_4-1708900396138.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>11.6</P></TD><TD width="282"><P>Upon successful validation of the second factor, SLC received a new short-lived X.509 certificate for the user.</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_5-1708900396153.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70765i861E85D3FBAFD2F9/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_5-1708900396153.png" alt="MartinRaepple_5-1708900396153.png" /></span><P>&nbsp;</P></TD></TR><TR><TD width="48"><P>11.7</P></TD><TD width="282"><P>Login to the SAP system uses the X.509 client certificate with SNC to single sign-on the user. The SAP system can map the user to a known account based on the SNC mapping (see status bar). &nbsp;&nbsp;</P></TD><TD width="274"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MartinRaepple_6-1708900396200.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/70766iBD19EDBA149196E2/image-size/medium?v=v2&amp;px=400" role="button" title="MartinRaepple_6-1708900396200.png" alt="MartinRaepple_6-1708900396200.png" /></span><P>&nbsp;</P></TD></TR></TBODY></TABLE><H1 id="toc-hId--927868740">Conclusion</H1><P>Congratulations! You've successfully completed the tutorial. With this integration scenario, an IT security administrator can now consistently enforce MFA across all types of SAP clients from Entra ID and Conditional Access as the central control plane.</P> 2024-02-26T17:05:25.982000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/supporting-crypto-agility-with-the-btp-trust-store/ba-p/13621962 Supporting crypto agility with the BTP Trust Store 2024-02-28T11:47:47.072000+01:00 Christian_Cohrs https://community.sap.com/t5/user/viewprofilepage/user-id/181868 <P>You have all heard that change is the new normal. This is true in many ways, including for IT security. Whether it is the cryptographic algorithm, the key length, or an individual key, we must always <STRONG>be ready to change to something “better”, namely more secure</STRONG>. This might not even be due to an attack, but rather be part of continuous efforts to stay ahead of all potential threats.</P><P>When it comes to protocols like Transport Layer Security (TLS), the level of security also depends on the root certificates that are the anchor of trust for the TLS-protected communication. In the past, the validity of root certificates could be decades, so a change would be a once in a lifetime thing. Today however, even though the root certificates are not really short-lived, they will still have to be replaced now and then.</P><P><STRONG>Changing the trust anchor of communication in a large landscape requires some preparation, to ensure that everybody can communicate securely and without disruption</STRONG>. If you miss to update the trust configuration across all involved parties, then the change of a root certificate may cause an outage for all scenarios that rely on the trust.</P><P>When SAP changes the root certificates that are the trust anchors of BTP, we ensure that all scenarios inside the platform are ready, and the communication is not affected. However, you may also have clients or 3rd party applications that integrate with BTP. For these, the trust is not managed by SAP and so you need to take matters into your own hands.</P><P><STRONG>With the new BTP Trust Store, we want to help you avoid outages by providing information about changes in the trust anchors of SAP BTP early</STRONG>. This gives you the time to roll out new root certificates before they become mandatory.</P><P>You will find the required root certificates in several well-known formats in the BTP Trust Store at <SPAN><A href="https://github.com/sap-software/btp-trust-store" target="_blank" rel="noopener nofollow noreferrer">https://github.com/sap-software/btp-trust-store</A></SPAN></P><P>The trust store includes 2 sets of root certificates:</P><P>The “<EM>Required</EM>” root certificates are mandatory for all clients or services that communicate via TLS with SAP BTP-based services. Ensure that your clients or services trust these root certificates, and that changes to the list of root certificates are reflected early on your side, such as once per quarter. This will ensure that you can continue to communicate with BTP even if SAP changes root certificates over time.</P><P>The “<EM>Optional</EM>” set of root certificates represents the SAP Global Trust List provided by SAP Global Security, as documented in <A href="https://me.sap.com/notes/2801396" target="_blank" rel="noopener noreferrer">SAP Note 2801396</A>.</P> 2024-02-28T11:47:47.072000+01:00 https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869 Why I love SAP and Blockchain Databases and why you should too 🚀 2024-03-06T10:07:44.299000+01:00 AndySilvey https://community.sap.com/t5/user/viewprofilepage/user-id/1397601 <P>I am going to be writing a lot of blogs about two of my loves, SAP technology and Blockchain technology, and this is the first one, so buckle up, it's going to be an exciting ride, and there is so much to discuss it's going to be a marathon rather than a sprint.&nbsp;</P><P>We've got so much to talk about in this space, this blog is going to discuss the why and the how:</P><P style=" padding-left : 30px; ">. <EM>Why Blockchain Databases or Distributed Ledger Technology Databases are so useful for SAP Customers </EM></P><P style=" padding-left : 30px; ">and</P><P style=" padding-left : 30px; ">. <EM>UseCases, how Blockchain can solve existing challenges and enable re-imagining of business processes&nbsp;</EM></P><P style=" padding-left : 30px; ">and</P><P style=" padding-left : 30px; ">. <EM>How Blockchain and SAP is no longer just a dream, just a hype, but how you can start doing Blockchain and SAP today solve old challenges with new(er) technology</EM></P><P>A lot has been written about Blockchain and Blockchain Databases, in the <A href="https://www.sap.com/products/artificial-intelligence/what-is-blockchain.html" target="_self" rel="noopener noreferrer"><EM>SAP Community there is a very nice explanation</EM></A> which I recommend you to read.</P><P>In 2019, Gartner wrote to CIO's and said, "<A href="https://www.gartner.com/smarterwithgartner/the-cios-guide-to-blockchain" target="_self" rel="nofollow noopener noreferrer"><EM>CIOs should begin to embrace blockchain to explore strategic business initiatives, but avoid falling for the hype</EM></A>", that's 5 years ago, and the point is, back then, as I know from first hand experience, as a SAP Customer, if you wanted to "do" Blockchain, it was complicated, even just trying to play with the technology was like a University Project. And here's the thing, fast forward 5 years to 2024, and now, within the <A href="https://www.sap.com/norway/partners/partner-program/build.html" target="_self" rel="noopener noreferrer">SAP Partner Edge Open EcoSystem</A> there are enabling technology Blockchain Products designed and built by SAP Experts specifically for the needs of SAP Customers to make doing Blockchain and SAP easy, and so today, you can do SAP and Blockchain, it's no longer hype, today it's real and there's nothing stopping you.</P><P>McKinsey &amp; Company, in their <A href="https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-blockchain" target="_self" rel="nofollow noopener noreferrer">December 2023 Featured Insights Publication</A>, gave a beautiful description of what is unique and special about Blockchain, "<EM>Blockchain is a secure database shared across a network of participants, where up-to-date information is available to all participants at the same time</EM>". If we just pause for a moment and let that sink in, and think about what that means, to Business Processes, to Collaboration, to System Resilience, we start to see what is so special about Blockchain Databases and Distributed Ledger Technology.</P><P>Let's begin with the first deliverable of the Blog, <EM>Why I love SAP and Blockchain Databases and why you should too</EM>, and:</P><P><STRONG><EM>Why Blockchain Databases or Distributed Ledger Technology Databases are so useful for SAP Customers</EM></STRONG></P><P>As a 25 year career veteran of SAP Technology, [<EM>15 years SAP Basis and 10 years SAP Tech Arch including Tech, Integration, Security, Data from 3.1H to S/4HANA PCE on RISE and the BTP and everything in between, and <A href="https://community.sap.com/t5/welcome-corner-blog-posts/andy-silvey-scn-moderator-spotlight/ba-p/13054438" target="_self">former SCN Moderator and Mentor alumni</A>],</EM> some of the biggest challenges which I've spent a greater part of my career solving for SAP Customers are:</P><P style=" padding-left : 30px; ">. Protecting the Integrity and Originality and Confidentiality of SAP Data - making sure that only the people and system who need to see it can see it in the Business Processes [<A href="https://community.sap.com/t5/technology-blogs-by-members/alternatives-for-securing-internet-facing-sap-applications/ba-p/13022930" target="_self">here's a Blog I wrote in 2013</A>]</P><P style=" padding-left : 30px; ">. Protecting the Availability and Resilience of SAP Data and SAP Systems for Business Processes</P><P style=" padding-left : 30px; ">. Protecting the Movement of SAP Data across Business Process which include SAP and 3rd Party Systems</P><P style=" padding-left : 30px; ">. Protecting SAP Data which is Shared in collaborative Business Processes</P><P>To do all of this in the world we had prior to Blockchain Databases, required layers and layers of technologies, often from different Vendors, and combinations of automation and human centric processes.</P><P>To do all of the above items needed amongst other things:</P><P style=" padding-left : 30px; ">. Multiple Installations of SAP Systems and Databases</P><P style=" padding-left : 30px; ">. Clustering and Replication Software running between</P><P style=" padding-left : 30px; ">. Job Scheduling Software</P><P style=" padding-left : 30px; ">. Multiple layers of Security&nbsp;</P><P style=" padding-left : 60px; ">Additional Encryption of Data when it is stored (at rest)</P><P style=" padding-left : 60px; ">Additional Encryption of Data on the move (in transit)</P><P style=" padding-left : 60px; ">Key Store Management and Rotation</P><P style=" padding-left : 60px; ">House Keeping</P><P style=" padding-left : 30px; ">. Monitoring &amp; Logging</P><P style=" padding-left : 30px; ">. Different Security and Resilience approaches and tools for the different&nbsp;</P><P>So we had to take the out of the box products and we had to build security and resilience on top of them with even more products and human centric processes.</P><P>And here's the thing, guess what, Blockchain Databases, Distributed Ledger Technology Databases have all of that built in ! How cool is that ?</P><P>Really... how does it work ?</P><P>Blockchain Distributed Ledger Technology has four special characteristics:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="What is a Blockchain atkrypto.io" style="width: 930px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74486i28613722C522A5D6/image-size/large?v=v2&amp;px=999" role="button" title="atkrypto.io what is a blockchain.jpg" alt="What is a Blockchain atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">What is a Blockchain atkrypto.io</span></span></P><P>Let's think of a Blockchain Database as a Database Server Software. And let's think of the Blockchain Ledger as a Database Table.</P><P>If you install two or more Instances of the Blockchain Database Software and connect those two Instances together, you have a Blockchain Database Network, or a Distributed Ledger Network. In Blockchain Architecture this is considered as Layer 0, the Blockchain Network.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Blockchain is a very simple form of database atkrypto.io" style="width: 896px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74487iBB6E460534611C09/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain is a very simple form of database atkrypto.io .jpg" alt="Blockchain is a very simple form of database atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Blockchain is a very simple form of database atkrypto.io</span></span></P><P>The Four Layers of Blockchain Architecture:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="The four layers of Blockchain Architecture atkrypto.io" style="width: 518px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74507i20D49B311E79ACAB/image-size/large?v=v2&amp;px=999" role="button" title="The four layers of Blockchain Architecture atkrypto.io.jpg" alt="The four layers of Blockchain Architecture atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">The four layers of Blockchain Architecture atkrypto.io</span></span></P><P>Let's go through the characteristics of the Blockchain and why they are so special.</P><P><STRONG>The Blockchain Hash Mechanism</STRONG></P><P>&nbsp; Every row [<I>Block-Data</I>] in the ledger contains a unique <I>Hash</I> identity [<I>This-Block-Hash</I>]</P><P>&nbsp; Every row in the ledger contains the <I>Hash</I> of the previous row [<I>Previous-Block-Hash</I>]</P><P>&nbsp; The <I>Hashes</I> tie the <I>Blocks</I> together in a <I>Chain</I> and this is what makes the <I>Chain of Blocks [Blockchain]</I></P><P>&nbsp; This weaves the rows of data together into an&nbsp; impenetrable sequence [as shown below]</P><P>&nbsp; The Blocks tied together as Chain make it very hard for hackers to insert new data into the Blockchain</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="The Blockchain Hash Mechanism atkrypto.io" style="width: 885px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74488i16EEBD78F722670E/image-size/large?v=v2&amp;px=999" role="button" title="The Blockchain Hash Mechanism atkrypto.io .jpg" alt="The Blockchain Hash Mechanism atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">The Blockchain Hash Mechanism atkrypto.io</span></span></P><P><STRONG>The Blockchain Is Decentralised / Distributed</STRONG></P><P>Blockchain Software must be installed on more than one Server (Node) in more than one place</P><P>This is what makes the Blockchain Decentralised and Distributed</P><P>Consequently the Blockchain has built in resilience and high availability and disaster recovery</P><P>To hack and attack the Blockchain you would have to destroy every Server where it is running</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Blockchain Decentralised Distributed atkrypto.io" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74489i0149458BD20BCEBA/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain Distributed Decentralised atkrypto.io .jpg" alt="Blockchain Decentralised Distributed atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Blockchain Decentralised Distributed atkrypto.io</span></span></P><P><STRONG>The Blockchain Is Immutable</STRONG></P><P>Data in the Blockchain cannot be modified or deleted because it is immutable by design</P><P>This makes it difficult for malicious actors to modify or delete the data</P><P>A malicious actor would have to&nbsp; hack&nbsp; the Blockchain on every Server to modify the data</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="The Blockchain is Immutable atkrypto.io" style="width: 893px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74491i7D143F8018A5CC85/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain is Immutable atkrypto.io .jpg" alt="The Blockchain is Immutable atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">The Blockchain is Immutable atkrypto.io</span></span></P><P><STRONG>The Blockchain Concensus Mechanism</STRONG></P><P>To add a new row of data to the Blockchain, a majority of the Blockchain Servers in the Blockchain have to agree (concede) that the data can be added to the chain – this is known as the&nbsp; Concensus Mechanism</P><P>Getting concensus among Blockchain Servers makes it extremely difficult for Hackers to maliciously attack the Blockchain because to attack the Blockchain the Hacker will need to be trusted by a majority of the Blockchain Servers in the Blockchain</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="The Blockchain Consensus Mechanism atkrypto.io" style="width: 878px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74492i09973D8E2BBAC953/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain Consensus Mechanism atkrypto.io .jpg" alt="The Blockchain Consensus Mechanism atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">The Blockchain Consensus Mechanism atkrypto.io</span></span></P><P>And this is why, and this is the key here, the key difference between Blockchain Databases and the previous generation of Databases, Blockchain Databases, natively, out of the box, have a level of security and availability resilience built in which is not there in the previous generation of databases.</P><P>With the Blockchain Database you have the High Availability and Disaster Recovery built in, you have your Business Continuity Plan built in, and not only because of the availability resilience but also because of the immutability of the data.</P><P>This is why Blockchain Database Technology is so exciting for SAP Customers, we can get rid of layers of security hardening and have all of these layers taken care of natively out of the box in one product.</P><P>And we can do it today, it is no longer just hype, there are products in the SAP Partner Edge Open EcoSystem which can enable SAP Customers to do Blockchain and leveraging their existing investments in the SAP BTP, and running Blockchain in the SAP BTP on the SAP BTP Kyma Runtime.</P><P>Let's pause and take a breath, have a cup of tea or a cup of coffee, and then let's move to next objective of this blog...</P><P><STRONG><EM>UseCases, how Blockchain can solve existing challenges and enable re-imagining of business processes&nbsp;</EM></STRONG></P><P>There are loads and loads of use cases for Blockchain, and people have been writing for years about the Enterprise Blockchain use cases and benefits. <A href="https://www.google.com/search?q=blockchain+use+cases&amp;sca_esv=b410847617fcef94&amp;ei=tO_iZeLLFaG8wPAPioSd6AQ&amp;ved=0ahUKEwji9eawoNWEAxUhHhAIHQpCB00Q4dUDCBA&amp;uact=5&amp;oq=blockchain+use+cases&amp;gs_lp=Egxnd3Mtd2l6LXNlcnAiFGJsb2NrY2hhaW4gdXNlIGNhc2VzMgUQABiABDIFEAAYgAQyBRAAGIAEMgUQABiABDIFEAAYgAQyBRAAGIAEMgUQABiABDIFEAAYgAQyBRAAGIAEMgUQABiABEi8F1AAWLQWcAB4AJABAZgB9QGgAbEZqgEGMC4xNy4yuAEDyAEA-AEBmAISoAKJGMICERAuGIAEGIoFGJECGMcBGNEDwgILEAAYgAQYigUYkQLCAgsQLhiABBjHARjRA8ICBRAuGIAEwgIgEC4YgAQYigUYkQIYxwEY0QMYlwUY3AQY3gQY4ATYAQHCAgsQLhiABBiKBRiRAsICDRAuGIAEGIoFGEMY1ALCAgoQLhiABBiKBRhDwgIOEAAYgAQYigUYkQIYyQPCAgoQABiABBiKBRhDwgILEAAYgAQYigUYkgPCAhMQLhiABBiKBRhDGMcBGNEDGNQCwgIHEAAYgAQYCsICIhAuGIAEGIoFGEMYxwEY0QMY1AIYlwUY3AQY3gQY4ATYAQGYAwC6BgYIARABGBSSBwYwLjE3LjE&amp;sclient=gws-wiz-serp" target="_self" rel="nofollow noopener noreferrer">a quick search on google</A> will lead you to years of articles about the benefits of Blockchain and the use cases.</P><P>What I am going to do here is list a few of them as headlines across the dimensions of Securing the Integrity and Originality of Data, enabling Data Sharing and Orchestration and Multi-Party Collaboration, and Resilience and Business Continuity, and in the subsequent Blogs I will deep dive into the use cases and Technologies both from SAP and from SAP Partner Edge OpenEcoSystem partners which you can already leverage today to implement these solutions and do these use cases in your Enterprises.</P><P><STRONG>Enterprise Blockchain Use Cases for Protecting/Security the Integrity and Originality and Confidentiality of Data:</STRONG></P><P style=" padding-left : 30px; ">. Track and Trace across all Industries and Business Processes, Single Party &amp; Multi Party</P><P style=" padding-left : 30px; ">. Finance &amp; Insurance Business Processes, Single Party &amp; Multi Party</P><P style=" padding-left : 30px; ">. ESG - proving that what happened did happen and the evidence cannot be manipulated</P><P><STRONG>Enterprise Blockchain Use Cases for Data Sharing and Orchestration and Multi-Party Collaboration:</STRONG></P><P>This is a really interesting one for the Blockchain, this is where&nbsp;McKinsey &amp; Company, in their <A href="https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-blockchain" target="_self" rel="nofollow noopener noreferrer">December 2023 Featured Insights Publication</A>, really nailed it with, "<EM>Blockchain is a secure database shared across a network of participants, where up-to-date information is available to all participants at the same time</EM>".</P><P>Just think about that. Think about how Blockchain could be used as an irrefutable common store of data, across your Enterprise, or across Enterprises.</P><P>Imagine running Blockchain on SAP Edge Lifecycle Management, or between the SAP Integration Cell and instances SAP BTP CI.</P><P>We all know, as the number of parties involved in a transaction goes up, so the trust in the transaction goes down.</P><P>Just think about how in Business Process and Business Scenarios where the same data is shared between multiple Teams in your Enterprise, or multi Enterprises in a Business Transaction or Process, just think about how the Blockchain and its special native out of the box characteristics will enable everybody to trust the information they are sharing and working with.</P><P>And then think about how Blockchain could be used to orchestrate data, to communicate data, to share data.</P><P>Imagine you have to give an instruction to a third party and you want to be the most certain that you can be that nobody with bad intentions can manipulate the instruction... you set up a Blockchain between you and your Partner and you write the data to the Blockchain and let the Partner read the data from the Blockchain.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Blockchain Muiti Party Collaboration atkrypto.io" style="width: 962px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74501iD20490CE729AB6EE/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain as an irrefutable shared single source of truth across organisations atkrypto.io.jpg" alt="Blockchain Muiti Party Collaboration atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Blockchain Muiti Party Collaboration atkrypto.io</span></span></P><P><STRONG>Enterprise Blockchain Use Cases for&nbsp;Resilience and Business Continuity:</STRONG></P><P>This one is a really interesting Blockchain Use Case. All of the SAP Technical Architects out there take note, Blockchain can today, using Blockchain products within the SAP Partner Edge Open EcoSystem solve your BCP challenges.</P><P>In all of our Enterprises we have the Business Continuity Plan.</P><P>The Business Continuity Plan leverages technologies to ensure that in the event of a BCP situation the Business can continue to operate to some extent.</P><P>To be able to operate most Businesses to some extent, there needs to be Data, certain core Master and Transactional Data to enable the Business to keep running.</P><P>As SAP Technical Architects our job is to design Technical Solutions which will enable the BCP scenario.</P><P>The basis requirements for the BCP scenario are:</P><P style=" padding-left : 30px; ">. Store the core Data somewhere where it will be available for a BCP scenario</P><P style=" padding-left : 30px; ">. Make sure that the core Data cannot be modified, make sure we can trust the core Data</P><P>And this again is where the Blockchain shows its beauty. Thanks to the dimensions and characteristics of the Blockchain which were described above, it's Immutable, tick that box for BCP, it's Distributed and Decentralised, tick that box for BCP, all we have to do as SAP Technical Architects is set up a Blockchain and write the most important BCP data to the Blockchain. We could set up a Blockchain Server on the SAP BTP Kyma RunTime Service in three continents in three SAP BTP Regions, connect that Blockchain to our S/4HANA, write the data to the Blockchain, and voila, we have our BCP.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Blockchain for BCP Business Continuity Planning atkrypto.io" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/74508iE39483DE94048CFF/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain for BCP Business Continuity Planning atkrypto.io.jpg" alt="Blockchain for BCP Business Continuity Planning atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Blockchain for BCP Business Continuity Planning atkrypto.io</span></span></P><P>If you've got this far, good job, now we are on to the last section which will be a shorter one <span class="lia-unicode-emoji" title=":slightly_smiling_face:">🙂</span></P><P><STRONG><EM>How Blockchain and SAP is no longer just a dream, just a hype, but how you can start doing Blockchain and SAP today solve old challenges with new(er) technology</EM></STRONG></P><P>I've been interested in Blockchain for the Enterprise since about 2018. As a career SAP Basis and SAP Technical Architect, when I started looking at Blockchain, I wanted to play with it, and I wanted to set one up, connect it to our R/3's and the, back then, new S/4HANA, and see what we could do with it. My expectation was that it would be like, download the software, self extract it, run it, do a few configurations and then integrate it and bring data in to it. All of the Blockchains for Enterprise which I looked at back then were extremely complicated, it was like a University Project to try to figure out all of the pieces of the puzzle that were needed to get it running.</P><P>6 years later, times have changed, the Blockchain technology is on its journey and maturing, and now, there are Blockchain products which SAP Customers can implement today, and which are coming from the SAP Partner Edge Open EcoSystem partners and are designed for the needs of SAP Customers and to leverage existing SAP investments and run on SAP BTP Kyma Runtime and consequently natively integrate with SAP data sources, S/4HANA and the SAP Cloud Products and integrating through the common SAP integration channels, SAP CI, SAP APIM, SAP AEM etc.</P><P>So what are we all waiting for ?</P><P>Ok, that's the end of this blog. This blog is the first of many, you will be seeing a lot more SAP and Blockchain blogs coming from me, explaining how implement the Blockchain software within your SAP investment and talking about all of the SAP Enterprise Blockchain use cases and business cases.</P><P>What do you think, are the words Blockchain, Web3, Distributed Ledger Technology, starting to appear in your Company's visions and technology visions ? What use cases are you looking at ? Let's chat about it in the comments.</P><P>For today, over and out.&nbsp;<SPAN><span class="lia-unicode-emoji" title=":rocket:">🚀</span></SPAN></P><P>Andy Silvey.</P><P>Independent SAP Technical Architect and CEO of atkrypto.io</P><P>Author Bio:</P><P>Andy Silvey is a 25 years SAP Technology veteran&nbsp;[<EM>15 years SAP Basis and 10 years SAP Tech Arch including Tech, Integration, Security, Data from 3.1H to S/4HANA PCE on RISE and the BTP and everything in between, and <A href="https://community.sap.com/t5/welcome-corner-blog-posts/andy-silvey-scn-moderator-spotlight/ba-p/13054438" target="_self">former SCN Moderator and Mentor alumni</A>].</EM></P><P>Andy is also co-Founder of atkrypto inc, an startup whose ambition is to make Blockchain easy for Enterprise.</P><P>atkrypto.io's flagship product is the atkrypto Enterprise Blockchain Platform for SAP,&nbsp; and atkrypto.io is a SAP Partner Edge Open EcoSystem Partner.&nbsp;</P><P>The&nbsp;atkrypto Enterprise Blockchain Platform for SAP has been designed by SAP Independent Experts for the needs of SAP Customers and to be deployed on the SAP BTP Kyma Runtime Service and leverage native integration to SAP Products.</P><P>atkrypto&nbsp;Enterprise Blockchain Platform for SAP has a number of unique qualities, including being the only Blockchain software in the world which has a DataCenter version and a light mobile version which can run on Edge/IoT/Mobile devices and enables data to be written to the Blockchain at the Edge where that same Blockchain is running on a Server in the DataCenter, protecting the integrity and originality of data from the Edge to Insights. Taking Blockchain to the Data at the Edge instead of taking the Data to the Blockchain.</P><P>&nbsp;</P><P>&nbsp;</P> 2024-03-06T10:07:44.299000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-integration-understanding-the-xml-encryption-standard/ba-p/13630124 SAP Cloud Integration: Understanding the XML Encryption Standard 2024-03-07T15:16:11.555000+01:00 CarlosRoggan https://community.sap.com/t5/user/viewprofilepage/user-id/5495 <P><STRONG>SAP Cloud Integration</STRONG> doesn’t offer an encryptor step for encrypting XML content according to the "XML Encryption" standard.&nbsp;That standard provides some benefits and flexibility specifically for xml content.<BR />This article is intended to introduce into the "XML Encryption" standard, as preparation for future hands-on.<BR />I'm trying to explain everything simple, with my simple understanding and my simple words - this is not a professional article.<BR />In this blog post, I will try to answer many questions and show examples.<BR />The <A href="https://community.sap.com/t5/technology-blogs-by-sap/cloud-integration-manually-encrypt-decrypt-xml-payload-based-on-xml-enc/ba-p/13632096" target="_blank">next blog post</A> shows how we can encrypt / decrypt XML payloads, according to the XML-Enc spec, manually in a Groovy script.&nbsp;</P><H2 id="toc-hId-988768962">Overview</H2><OL><LI>Historical Intro</LI><LI>Theoretical Intro</LI><LI>XML Sample Intro</LI><LI>Optional Outro</LI></OL><H2 id="toc-hId-792255457">History</H2><P><SPAN>How I imagine that it started:</SPAN><BR /><SPAN>Timmy from Texas wanted to share some secret info with his friend Taku in Tokyo.<BR /></SPAN><SPAN>So he encrypted a message and sent it to Taku.</SPAN><BR /><SPAN>Taku was unable to decrypt and read the message.</SPAN><BR /><SPAN>So Timmy travelled to Tokyo to enjoy some food and to explain the way how he encrypts and packages his messages.</SPAN><BR /><SPAN>Afterwards, Taku in Tokyo was able to decrypt and read all messages (even before breakfast).</SPAN><BR /><SPAN>Some time later, same situation happened with his friend Toto in Togo.</SPAN><BR /><SPAN>Although the food is said to be great, Timmy decided not to travel, but to invite his friends for a conference at home.<BR /></SPAN><SPAN>They had international food, late-night discussions and at the end, they agreed on a common way of sending secure messages.</SPAN><BR /><SPAN>As a consequence, everybody in the world can send secure messages and the recipients can understand the message, as long as they follow that agreement.</SPAN><BR /><BR /><FONT color="#999999"><SPAN>Does that make sense?</SPAN></FONT><BR /><SPAN>Really makes sense, especially the section about the international food (which didn’t make it into the specification).</SPAN><BR /><BR /><FONT color="#999999"><SPAN>What do we learn from this story?</SPAN></FONT><BR /><SPAN>People communicating with each other need to agree on some basic principles:</SPAN><BR /><SPAN>- how encryption is done, which steps in which order<BR /></SPAN>- what exactly is encrypted<BR /><SPAN>- which algorithms are used</SPAN><BR /><SPAN>- certificate information&nbsp;</SPAN><BR /><SPAN>- where is that information stored</SPAN></P><P><SPAN><FONT size="1 2 3 4 5 6 7">This intro was copied from my <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-integration-understanding-pkcs-7-cms-standard/ba-p/13560268" target="_blank">cms-post</A>.</FONT>&nbsp; &nbsp; &nbsp;</SPAN></P><H2 id="toc-hId-595741952"><STRONG>Introduction</STRONG></H2><P>We’re talking about sending data from somewhere to anywhere over the internet.<BR />Instead of writing a letter, we use XML to structure the data which we send.<BR />As we know that the internet is dangerous, we want to encrypt the data.</P><P><FONT color="#999999">There are blogs out there?</FONT><BR />Sure, we already have so fantastic blog posts like <A href="http://%20https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-integration-understanding-pkcs-7-cms-encryptor/ba-p/13552901" target="_blank" rel="noopener nofollow noreferrer">this one</A>&nbsp;together with the <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-integration-understanding-pkcs-7-cms-standard/ba-p/13560268" target="_blank">intro blog</A>.<BR />It explains how to use the CMS standard for encrypting a message.</P><P><FONT color="#999999">So why do we need this blog?</FONT><BR />Actually, the CMS standard is not specific to any kind of payload, so it could be used for XML as well, why not.<BR /><FONT color="#999999">But...</FONT><BR />But we need this blog post because it is specific to XML payload.<BR />As the message is written in XML, we can take advantage of the fact that the content is structured already.<BR />This is a benefit.<BR />So we have an extra standard.</P><P><FONT color="#999999">OK. What is the benefit?</FONT><BR />As we’re dealing with xml, which is a structured content, we have the advantage of choosing which content or part of content we want to encrypt.</P><P><FONT color="#999999">Cool. Which content can we choose?</FONT><BR />There are 3 possibilities:</P><OL><LI>Encrypt the whole document, i.e. the whole file or the entire message</LI><LI>Encrypt part of the document: choose one node of the XML document.<BR />In this case, the node itself is not encrypted, but only the content below the node.<BR />Means, the text content of the node is sensitive, but the node name is left as plain text<BR />The content can be a subtree of child nodes as well.</LI><LI>Encrypt part of the document: again, choose one node of the XML document.<BR />But in this case, the node itself is encrypted as well, along with all of it content.</LI></OL><P><FONT color="#999999">Variant 1…?</FONT><BR />Ummmmm - yes, it is similar as CMS....<BR />AHA<BR />Ehm, yes, here the benefit is less obvious, but nevertheless, the result is an XML with a specific structure, which can be understood by XML-Enc-aware tools.</P><P><FONT color="#999999">Don’t understand.</FONT><BR />Remember the funny history story?<BR />At the end, a standard is an “agreement” between sender and receiver.<BR />If they both adhere to the agreement, they can send and receive, encrypt and decrypt without trouble.<BR />So even in case of variant 1, the receiver can find the info about how to decrypt, by reading XML.</P><P><FONT color="#999999">What is the XML-agreement?</FONT><BR />Basically, in case of "XML Encryption" agreement, the receiver knows where to find the information that he needs for decrypting:</P><UL><LI>The incoming XML contains a node <FONT face="courier new,courier">&lt;EncryptedData&gt;</FONT> which contains everything: the encrypted content and metadata.</LI><LI>There’s the info about which variant (see above) was used</LI><LI>The subtree of this node contains info about the algorithm used to encrypt the content</LI><LI>The subtree contains info about the key that was used to encrypt the content</LI><LI>The encrypted key itself</LI><LI>The encrypted content itself</LI><LI>. . .</LI></UL><P>Note that the standard is flexible and there are multiple ways to apply it.<BR />In this blog post we’re sticking to one variant which is common and safe and makes sense.</P><P><FONT color="#999999">How is encryption done?</FONT><BR />During encryption, the sensitive content is replaced by an <FONT face="courier new,courier" color="#339966">&lt;EncryptedData&gt; </FONT>node.<BR />The subtree of <FONT face="courier new,courier" color="#339966">&lt;EncryptedData&gt; </FONT>contains the sensitive content that has to be secured, in non-understandable way, i.e. encrypted.<BR />After encryption, the result is encoded with Base 64, (this is common practice when sending data over the internet).</P><P><FONT color="#999999">How is it encrypted?</FONT><BR />We have to understand the 2 basic ways of encrypting:<BR />Symmetric and asymmetric encryption</P><P><FONT color="#999999">What is symmetric encryption?</FONT><BR />Sounds normal: some content is encrypted with a key.<BR />For decryption, the SAME key is used.<BR />Means, the key must be handed over to the recipient in a safe way.<BR />This is a disadvantage.<BR />The advantage: fast and can handle big-sized content.</P><P><FONT color="#999999">And asymmetric?</FONT><BR />To avoid the problem of having to transmit the secret key:<BR />Here we have 2 keys, which belong together: private and public keys.<BR />This is called a key pair.<BR />The public key is not secret, it can be sent to the encryptor.<BR />The content is encrypted with the public key.<BR />ONLY the private key can then decrypt the content.<BR />Advantage: more secure.<BR />Disadvantage: not applicable to big payloads and slow.</P><P><FONT color="#999999">So both are unusable?</FONT><BR />There's a solution: use both in a hybrid mode.<BR />Use symmetric key to encrypt the (big) content.<BR />Use asymmetric key to encrypt the (small) symmetric key.<BR />That’s it.<BR />The symmetric key can be safely sent together with the encrypted content.<BR />Because the symmetric key is securely encrypted.<BR />The receiver can decrypt the symmetric key, (because he has the private asymmetric key).<BR />Then use the symmetric key to decrypt the content.</P><P><FONT color="#999999">Confusing...</FONT><BR />Let’s repeat:<BR />We want to encrypt sensitive content<BR />&nbsp; &nbsp;-&gt; we use a “Content Encryption Key” == CEK<BR />&nbsp; &nbsp;-&gt; also called “Data Encryption KEY” == DEK<BR />This key has to be encrypted with another key.<BR />&nbsp; &nbsp;-&gt; We use a “Key Encryption Key” == KEK</P><P><FONT color="#999999">Why can't we just use the KEK to encrypt the message?</FONT><BR />As mentioned, because KEK is asymmetric and thus not suitable for big content.</P><P><FONT color="#999999">Ah, already forgot</FONT><BR />No prob.</P><P><FONT color="#999999">What is a key?</FONT><BR />What we want to achieve is to hide secret content from someone but reveal it to us.<BR />We want to make it look random, but be able&nbsp; to revert.<BR />Thus we need to use a key, so we are able to revert.&nbsp;<BR />Note:<BR />A key can be just a sequence of bits, but longer key length ( key size) is more safe.</P><P><FONT color="#999999">What is a DEK or CEK?</FONT><BR /><EM>Data Encryption Key</EM> or <EM>Content Encryption Key</EM>.<BR />This is a symmetric key for encrypting the payload content.</P><P><FONT color="#999999">What is a KEK?</FONT><BR /><EM>Key Encryption Key</EM>, this is usually an asymmetric key.<BR />Also referred to as “Key Transport”.</P><P><FONT color="#999999">How is encryption done?</FONT><BR />Think about a rule, e.g. replace every ‘a’ with a ‘b’<BR />Such rule is called “algorithm” or “cipher”.<BR /><FONT face="inherit">To make the process </FONT>reversible<FONT face="inherit">, a key is applied.<BR /></FONT>This makes it reversible only for the key owner.</P><P><FONT color="#999999">Examples for symmetric algorithms?</FONT><BR />AES, DES (not safe!), TDES (== Triple DES == 3DES == DESede), RC4 (etc, not safe)</P><P><FONT color="#999999">Examples for asymmetric algorithms?</FONT><BR />RSA, DSA, ECC</P><P><FONT color="#999999">What is AES?</FONT><BR />It stands for <EM>Advanced Encryption Standard</EM>.<BR />It is a symmetric-key algorithm.<BR />It works on blocks with size 128 bits.<BR />It supports keys with sizes 128, 192 and 256 bits.</P><P><FONT color="#999999">What is a Block Cipher?</FONT><BR />In symmetric cryptography, 2 ways are used: block and stream ciphers.<BR />In case of stream, the input is encrypted byte by byte.<BR />In case of block, the content is cut into blocks, which are then encrypted.</P><P><FONT color="#999999">What is block size?</FONT><BR />The size of such blocks.<BR />AES always operates on blocks of 128 bits.</P><P><FONT color="#999999">What is padding?</FONT><BR />Assume we have some content which has to be encrypted with AES.<BR />Obviously, it is larger than 128 bits, or a multiple.<BR />Which is the size of a block.<BR />After cutting the content into blocks of 128 bits, there will be a remaining rest.<BR />The rest has to be filled up until 128 is reached.<BR />That’s what we call <EM>padding</EM>.</P><P><FONT color="#999999">What is operation mode?</FONT><BR />Assuming again, the content which has to be encrypted is larger than 128 bits.<BR />So it is cut into multiple blocks.<BR />Encryption will be applied to many blocks individually.<BR />The way how this is done, will help to make the encryption more safe.<BR />At the end we want a result that looks completely crazy (= random bytes).<BR />Therefore, we can choose an encryption mode (= operation mode).<BR />Examples:<BR />ECB, Electronic Code Block, unsafe.<BR />Note that ECB is often used as default, if no operation mode is specified.<BR />So the recommendation is to always specify a secure operation mode.<BR />CBC, Cipher Block Chaining, not recommended.<BR />CTR, Counter&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<BR />GCM, Galois Counter Mode, recommended.</P><P><FONT color="#999999">Can we find an end?</FONT><BR />We’ve talked about the XML structure and the encryption process.<BR />Now we’ve found the end:<BR />-&gt;here</P><P><FONT color="#999999">Can we look at an example?</FONT><BR />The next chapter is full of xml.</P><H2 id="toc-hId-399228447">Sample XML&nbsp;</H2><P>Let’s view a simplified example.<BR />We have a <FONT color="#3366FF"><STRONG>Sales Service</STRONG></FONT> that sends info about an order:</P><P style=" padding-left : 30px; ">Order number<BR />Product Identifier<BR />Customer info<BR />Payment: credit card number<BR />. . .</P><P>The service sends the payload in XML format.<BR />XML is tedious to read, so trying to simplify:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml0.jpg" style="width: 391px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77108iAABC742BE26DFAB7/image-size/medium?v=v2&amp;px=400" role="button" title="xml0.jpg" alt="xml0.jpg" /></span></P><P>&nbsp;We can quickly identify a security risk:<BR />Sending credit card number via the internet is not acceptable.</P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml1.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76626iDDCB21ED02E74902/image-size/medium?v=v2&amp;px=400" role="button" title="xml1.jpg" alt="xml1.jpg" /></span></SPAN></P><P>So we could encrypt the number and send the XML as below:</P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml2.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76624iC68C26972597C55F/image-size/medium?v=v2&amp;px=400" role="button" title="xml2.jpg" alt="xml2.jpg" /></span></SPAN></P><P>However, it is better to stick to the XML Encryption standard:</P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml3.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76653iEDFCE3FE89A43C49/image-size/medium?v=v2&amp;px=400" role="button" title="xml3.jpg" alt="xml3.jpg" /></span></SPAN></P><P>The next screenshot below shows that the <STRONG>content</STRONG> of a node has been replaced with the <FONT face="courier new,courier" color="#339966">&lt;EncryptedData&gt;</FONT> subtree (simplified).<BR />Remember the 3 variants above? So this is the second:<BR />only the content is encrypted, not the whole element + content.<BR />With other words: the credit card number is unreadable, but the <FONT face="courier new,courier" color="#339966">&lt;CreditCard&gt; </FONT>node is still readable.<BR /><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml4.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76651i061A4CF56EC9D72E/image-size/medium?v=v2&amp;px=400" role="button" title="xml4.jpg" alt="xml4.jpg" /></span></P><P>Next screenshot shows the final result XML structure:</P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml5.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76652i46AAF090D8424815/image-size/medium?v=v2&amp;px=400" role="button" title="xml5.jpg" alt="xml5.jpg" /></span></SPAN></P><P>The last screenshot shows the final result:</P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml6.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76654i2F82378A1997C5F1/image-size/medium?v=v2&amp;px=400" role="button" title="xml6.jpg" alt="xml6.jpg" /></span></SPAN></P><P>What we can see:</P><P>The top level&nbsp;<FONT face="courier new,courier" color="#339966">&lt;EncryptedData&gt;</FONT> node has 3 children<BR /><FONT face="courier new,courier">- EncryptedData</FONT><BR /><FONT face="courier new,courier">--- EncryptionMethod</FONT><BR /><FONT face="courier new,courier">--- KeyInfo</FONT><BR /><FONT face="courier new,courier">--- CipherData</FONT></P><P><FONT size="5">Explanation</FONT></P><P><span class="lia-unicode-emoji" title=":small_orange_diamond:">🔸</span><SPAN><FONT face="courier new,courier">EncryptionMethod</FONT><BR /></SPAN>This is the information about how the content was encrypted.<BR />In our example, the symmetric cipher AES was used with a key size of 256 bits and operation mode GCM.</P><P><span class="lia-unicode-emoji" title=":small_orange_diamond:">🔸</span><SPAN><FONT face="courier new,courier">CipherData</FONT><BR /></SPAN>The result of encrypting plain text is called “ciphertext” and it is stored below this node.<BR />Note that the cipher text is base64-encoded.</P><P><span class="lia-unicode-emoji" title=":small_orange_diamond:">🔸</span><SPAN><FONT face="courier new,courier">KeyInfo</FONT><BR /></SPAN>In our example, we chose to encrypt the symmetric key.<BR />The <FONT face="courier new,courier">&lt;KeyInfo&gt;</FONT> node carries the information about this symmetric key<BR />(Remember, this is the key that was used to encrypt the content).<BR />The&nbsp;<FONT face="courier new,courier">&lt;KeyInfo&gt;</FONT> has the following children:<BR /><FONT face="courier new,courier">- KeyInfo</FONT><BR /><FONT face="courier new,courier">---- EncryptedKey</FONT><BR /><FONT face="courier new,courier">------- EncryptionMethod</FONT><BR /><FONT face="courier new,courier">------- CipherData</FONT></P><P>In our case, it contains the encrypted key itself and the method that was used for encryption.<BR />Example:&nbsp;We use an RSA public key for encrypting the DEK, so the <FONT face="courier new,courier">&lt;EncryptionMethod&gt;</FONT> node will contain something with “…rsa…”</P><P>Note:<BR />The algorithms are specified via URI, e.g.</P><P style=" text-align : left; "><FONT face="courier new,courier"><FONT color="#339966">&lt;xenc:EncryptionMethod</FONT> <FONT color="#993366">Algorithm</FONT>=<EM><FONT color="#0000FF">http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p</FONT>&nbsp;</EM> <FONT color="#339966">/&gt;</FONT></FONT></P><P>We can see the nice little namespace xenc<BR />I like this one <span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:">😁</span><BR />It is specified at top level node:</P><P style=" text-align : left; "><FONT face="courier new,courier"><FONT color="#339966">&lt;xenc:EncryptedData</FONT> <FONT color="#993366">xmlns:xenc</FONT>=<EM><FONT color="#0000FF">http://www.w3.org/2001/04/xmlenc#</FONT>&nbsp;</EM></FONT></P><P>OK.<BR />Let’s add one more last screenshot, where we can compare the XML payload before and after encryption:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml8.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76658i38051B3681A0E880/image-size/large?v=v2&amp;px=999" role="button" title="xml8.jpg" alt="xml8.jpg" /></span></P><P>Note:<BR />The receiver has to know which variant was used:<BR />If the only the content was encrypted, or the whole element.<BR />This is specified in the “Type” attribute of the top-level element:</P><P data-unlink="true"><FONT face="courier new,courier"><FONT color="#339966">&lt;xenc:EncryptedData&nbsp;</FONT> <FONT color="#993366">Type</FONT>=</FONT><EM><FONT face="courier new,courier"><FONT color="#0000FF">http://www.w3.org/2001/04/xmlenc#Content</FONT>&nbsp;</FONT><BR /></EM>or<BR /><FONT face="courier new,courier"><FONT color="#339966">&lt;xenc:EncryptedData</FONT>&nbsp; <FONT color="#993366">Type</FONT>=<EM><FONT color="#0000FF">http://www.w3.org/2001/04/xmlenc#Element</FONT>&nbsp;</EM></FONT></P><P>And here comes one last (really last) screenshot, showing the result of encrypting with the variant 3, which is of Type <FONT color="#0000FF">...xmlenc#Element</FONT>:</P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="xml7.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76655i2DDF8A39587A5485/image-size/medium?v=v2&amp;px=400" role="button" title="xml7.jpg" alt="xml7.jpg" /></span></SPAN></P><P>In above screenshot we can see that the <FONT face="courier new,courier" color="#FF0000">&lt;CreditCard&gt; </FONT>node has disappeared.<BR />The node itself has been replaced with the <FONT face="courier new,courier" color="#339966">&lt;EncryptedData&gt; </FONT>node.<BR />In the groovy script below, we’ll see the flag that decides upon the type.</P><H2 id="toc-hId-202714942">Optional Info</H2><P>The “XML Encryption” is also called “XML-Enc”.<BR />It is a standard that is specified as a <EM>W3C Recommendation</EM>.<BR />It is owned by the <EM>World Wide Web Consortium</EM>&nbsp;aka <EM>W3C</EM>.<BR />The <EM>W3C</EM> owns most standards related to the World Wide Web.<BR />The current version 1.1 of the specification for <EM>XML Encryption Syntax and Processing</EM> is from 2013.<BR />It can be found here: <A href="https://www.w3.org/TR/xmlenc-core1/" target="_blank" rel="noopener nofollow noreferrer">https://www.w3.org/TR/xmlenc-core1/</A></P><P>Implementations of the standard are available for C, <A href="http://santuario.apache.org/" target="_blank" rel="noopener nofollow noreferrer">C++ and Java</A>.<BR />The Java implementation is used in our next blog post.</P><H2 id="toc-hId-6201437">Summary</H2><P>The XML Enc specification describes how to flexibly encrypt parts of an XML document.<BR />(Or the whole).<BR />The sensitive xml-section is replaced by a new &lt;EncryptedData&gt; section.<BR />This xml-tree contains the encrypted content and metadata (method, key, etc)<BR />The spec is flexible and open, but the common process of encryption would be:<BR />&nbsp; &nbsp;<span class="lia-unicode-emoji" title=":play_button:">▶️</span>&nbsp;Generate a symmetric key on the fly.<BR />&nbsp; &nbsp; &nbsp;<span class="lia-unicode-emoji" title=":play_button:">▶️</span>&nbsp;Encrypt the content with it.<BR />&nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-unicode-emoji" title=":play_button:">▶️</span>&nbsp;Encrypt the symmetric key with an asymmetric key.</P><H2 id="toc-hId--190312068">Next Steps</H2><P>Go through the tutorial in the <A href="https://community.sap.com/t5/technology-blogs-by-sap/cloud-integration-manually-encrypt-decrypt-xml-payload-based-on-xml-enc/ba-p/13632096" target="_blank">next blog post</A> to gain hands-on experience.</P><H2 id="toc-hId--386825573"><SPAN>Links</SPAN></H2><P>W3C recommendation <A href="https://www.w3.org/TR/xmlenc-core1" target="_blank" rel="noopener nofollow noreferrer">XML Encryption Syntax and Processing V 1.1</A><BR />Apache <A href="https://santuario.apache.org/index.html" target="_blank" rel="noopener nofollow noreferrer">Santuario</A><BR /><SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-integration-understanding-pkcs-7-cms-standard/ba-p/13560268" target="_blank">Understanding</A> CMS (PKCS 7) standard.<BR /></SPAN><A href="https://blogs.sap.com/2022/11/04/sap-btp-security-glossary/" target="_blank" rel="noopener noreferrer">Security Glossary</A><SPAN>&nbsp;</SPAN><SPAN>Blog</SPAN></P><P style=" text-align: center; "><SPAN><span class="lia-unicode-emoji" title=":cactus:">🌵</span></SPAN></P> 2024-03-07T15:16:11.555000+01:00 https://community.sap.com/t5/technology-blogs-by-members/sap-enterprise-architecture-positioning-blockchain-database-as-an/ba-p/13629842 SAP Enterprise Architecture: Positioning Blockchain Database as an Enterprise Technology Standard 🚀 2024-03-08T19:19:41.200000+01:00 AndySilvey https://community.sap.com/t5/user/viewprofilepage/user-id/1397601 <P>This blog, which follows on from the previous one in the series, <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">"Why I love SAP and Blockchain Databases and why you should too&nbsp;</A><SPAN><A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self"><span class="lia-unicode-emoji" title=":rocket:">🚀</span>"</A>,</SPAN>&nbsp;will deliver an approach to positioning Blockchain Technology as a Technology Standard in our Companies.</P><P>The goal of the previous blog in this series was to get us thinking about Blockchain Databases in our Companies, in the Enterprise, and the goal of this blog is to get us thinking about how to position an Enterprise Blockchain Platform as a Technology Standard in our SAP Enterprise Architecture.</P><P>Why do we need to do this ? Why does Blockchain need to be a Technology Standard within the Enterprise Architecture in our Companies ?</P><P>In our SAP Enterprise Architecture we use Technology Standards as a way of framing where we use what software applications and why, what is the purpose of that software application.</P><P>So for each Technology that we have in the house, we have a box which describes what that Technology and do, what it's strengths&nbsp; are, and therefore where we should use it.</P><P>This all sounds very formal, but in our personal lives we do this at home every day. We possibly have more than one pair of shoes, perhaps one pair for going to the office and one pair for going running. I don't really want to get in to a debate about how many pairs of shoes people have and which ones they use for what but I imagine that you get the point.</P><P>Some shoes are more suited to different activities than others. Some have a hard sole some have a soft sole. These are capabilities of the shoe, soft sole leans towards capability for sport, thanks to this soft sole capability the shoe is more appropriate to be used for, to be applied to sport,&nbsp; You get the point.</P><P>And it's the same with software, some software is more suited to different activities than others, these are capabilities. And by keeping a list of what software we have in the company and what the capabilities of the software are, and where the software is encouraged to be used, helps to ensure that in our SAP Enterprise Architecture decision making processes we more consistently use the different types of software that we have for the purposes in which they are intended based upon what they can do.</P><P>To be more formal, there is a very nice description of Technology Standards <A href="https://www.ittoolkit.com/articles/technology-standards" target="_self" rel="nofollow noopener noreferrer">here, 'At the most basic level, technology standards establish boundaries for technology usage, specifying<SPAN>&nbsp;</SPAN><EM>technology to be used</EM><SPAN>&nbsp;</SPAN>(acceptable use) and restricting access to technology that is deemed "<EM>non-standard</EM>"'</A>.&nbsp;</P><P>If we agree that to be able to consistently, repeatedly use Enterprise Blockchain Databases in our Companies we need to classify where we should use the&nbsp;Enterprise Blockchain Databases and why, then the first step is to write down all of the things that&nbsp;Enterprise Blockchain Databases is good for, what it can do, where it is strong, what the capabilities are.</P><P>Capabilities means what is it good for what is it good at ? What can it do ? Let's try to group the capabilities together where it makes sense. The most important capabilities and enablers of Enterprise Blockchain Databases and on a wider scale the Enterprise Blockchain Platforms, from the high level view, revolve around Data across the dimensions of:</P><P style=" padding-left : 30px; "><EM><STRONG>Security / Privacy</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Availability /&nbsp;</STRONG></EM><EM><STRONG>Resilience</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Collaboration / Sharing</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Orchestration</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Web3 / Tokenization / Wallet / SDK / Smart Contracts</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Mobility / Edge</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Integrations / Connectivity / Blockchain Bridges and Bridging</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Types of Blockchain</STRONG></EM></P><P style=" padding-left : 30px; "><EM><STRONG>Artificial Intelligence</STRONG></EM></P><P>Let's go through these capabilities one by one and think of all of the words we can around the dimension and picture what it actually means.</P><P><STRONG>Enterprise Blockchain Database Capability - <EM><U>Security &amp; Privacy</U></EM></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG> Secure, Immutable, Trust, Cannot be modified, Tamperproof, Protect, Safe, Proof, Auditable, Confidentiality, Integrity, Originality, Transparency, Privacy</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this:&nbsp;</STRONG>As we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">Regarding the Security &amp; Privacy capability, it is the Immutable and Hash Mechanism and Consensus Mechanism which make the Blockchain Database so natively security hardened out of the box and in fact security hardened natively out of the box to a level which most conventional databases are not.</P><P style=" padding-left : 30px; ">In terms of the <A href="https://www.nccoe.nist.gov/publication/1800-26/VolA/index.html#:~:text=The%20CIA%20triad%20represents%20the,%2C%20and%20availability%2C%20as%20follows." target="_blank" rel="noopener nofollow noreferrer">NIST CIA Triad</A> for Data Security, Criticality, Integrity, Availability, Enterprise Blockchain Databases comes in Very High across all three classifications.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Blockchain Security SAP NIST Triad atkrypto.io" style="width: 751px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76765iF2CB57D68B7F48CB/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain Security SAP NIST Triad atkrypto.io .png" alt="Blockchain Security SAP NIST Triad atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Blockchain Security SAP NIST Triad atkrypto.io</span></span></P><P><STRONG>Enterprise Blockchain Database Capability - <U><EM>Availability &amp; Resilience</EM></U></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG>&nbsp;Resilience, Distributed Multi Region, Distributed, Decentralised, Network Database, High Availability, Disaster Recovery, Business Continuity Planning</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this: </STRONG>Again, as we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">Regarding the Availability &amp; Resilience capability, it is the Distributed&nbsp; &amp; Decentralised&nbsp; characteristics which make the Blockchain Database so natively resilient out of the box and in fact resilient natively out of the box to a level which most conventional databases are not.</P><P style=" padding-left : 30px; ">An Enterprise Blockchain Database is a Network Database. When one of the Servers is down, the other Servers are up, A Server can go down and when it comes back up it will automatically synchronise with the rest of the Enterprise Blockchain Database Network. This is really suited to Business Continuity Planning.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Blockchain for BCP Business Continuity Planning atkrypto.io" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76767iF8D06F7BA4B317D4/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain for BCP Business Continuity Planning atkrypto.io.jpg" alt="Blockchain for BCP Business Continuity Planning atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Blockchain for BCP Business Continuity Planning atkrypto.io</span></span></P><P><STRONG>Enterprise Blockchain Database Capability - <U><EM>Collaboration / Sharing</EM></U></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG>&nbsp;Single Source of Truth, Shared Single Source of Truth, Multi-Party Collaboration, 3rd Party Collaboration, Common Store of Data, Sharing, Collaboration, Master Data Store, Distributed Data, Network Database, Track and Trace, Traceability, Audit, Auditability</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this: </STRONG>Again, as we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">Regarding the Collaboration / Sharing capability, it is the Distributed&nbsp; &amp; Decentralised&nbsp; characteristics which make the Blockchain Database so natively supporting Collaboration / Sharing out of the box and in fact supporting Collaboration / Sharing natively out of the box to a level which most conventional databases do not and can not, without additonal Clustering and Networking software.</P><P style=" padding-left : 30px; ">An Enterprise Blockchain Database is a Network Database. This means the Database is running active on multiple Servers in multiple locations. As was described in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous blog</A>,&nbsp;<SPAN>McKinsey &amp; Company, in their&nbsp;</SPAN><A href="https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-blockchain" target="_self" rel="nofollow noopener noreferrer">December 2023 Featured Insights Publication</A><SPAN>, gave a beautiful description of what is unique and special about Blockchain, "</SPAN><EM>Blockchain is a secure database shared across a network of participants, where up-to-date information is available to all participants at the same time</EM><SPAN>". </SPAN></P><P style=" padding-left : 30px; "><SPAN>And this is what is so important and so special. When we install the Blockchain Database Server in two different Company's DataCenters (or as Blockchain as a Service in the Cloud) and establish a Database Ledger on the Servers we enable the two Company's to share Master and Transactional Data while knowing that neither can modify the Data which has been shared.</SPAN>&nbsp;This is really suited to sharing Data across the Enterprise or across Enterprises.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Blockchain as a Shared Single Source of Truth atkrypto.io" style="width: 962px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76762i1C2160E4C8218784/image-size/large?v=v2&amp;px=999" role="button" title="Blockchain as an irrefutable shared single source of truth across organisations atkrypto.io.jpg" alt="Blockchain as a Shared Single Source of Truth atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Blockchain as a Shared Single Source of Truth atkrypto.io</span></span></P><P><STRONG>Enterprise Blockchain Database Capability - <U><EM>Orchestration</EM></U></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG>&nbsp; Data Orchestration, Data Integration,&nbsp; Network Database, Instructions Communication, Data Delivery, Sending Data, Data Transfer, Data Connection</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this: </STRONG>Again, as we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">Regarding the Data Orchestration, it is again the Distributed &amp; Decentralised&nbsp; characteristics which make the Blockchain Database so natively supporting Data Orchestration out of the box and in fact supporting Data Orchestration natively out of the box to a level which most conventional databases do not and can not, without additonal Clustering and Networking software and all of the extra effort that that brings. An Enterprise Blockchain Database is a Network Database.</P><P style=" padding-left : 30px; ">This means the Database is running active on multiple Servers in multiple locations. As was described in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous blog</A>,&nbsp;<SPAN>McKinsey &amp; Company, in their&nbsp;</SPAN><A href="https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-blockchain" target="_self" rel="nofollow noopener noreferrer">December 2023 Featured Insights Publication</A><SPAN>, gave a beautiful description of what is unique and special about Blockchain, "</SPAN><EM>Blockchain is a secure database shared across a network of participants, where up-to-date information is available to all participants at the same time</EM><SPAN>". And this is what is so important and so special. </SPAN></P><P style=" padding-left : 30px; "><SPAN>When we install the Blockchain Database Server in two different locations /&nbsp; DataCenters (or as Blockchain as a Service in the Cloud) and establish a Blockchain Database Ledger on the two or more locations' Servers we enable a situation where one Datacenter can put data onto the Blockchain, which is in fact an instruction for an action from an Application which is reading from the Blockchain in the other Datacenter.</SPAN>&nbsp;What this leads to is Data Integration at a level which is not possible with End to End Encryption and Encryption of Data at Rest alone.</P><P style=" padding-left : 30px; ">Today Companies send Data to each other, with Blockchain Companies will write to and read from the same Blockchain Database Table. This is really suited to Orchestrating Data across the Enterprise or across Enterprises. In the following example we see how instructions to a Third Party Logistics company can be orchestrated across the Enterprise Blockchain running between the two companies.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP Master Data Integration and Orchestration with Blockchain atkrypto.io" style="width: 989px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77054i06D5AB4BA8075E6E/image-size/large?v=v2&amp;px=999" role="button" title="SAP Master Data Integration and Orchestration with Blockchain atkrypto.io.jpg" alt="SAP Master Data Integration and Orchestration with Blockchain atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP Master Data Integration and Orchestration with Blockchain atkrypto.io</span></span></P><P><STRONG>Enterprise Blockchain Database Capability - <U><EM>Web3 / Tokenization / Wallet / SDK / Smart Contracts</EM></U></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG> Web3 Foundation, Digital Asset Tokenization, Digital Wallet, Software Development Kit, Smart Contracts, Business Logic, Extension, Programming, Customisation</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this:&nbsp;</STRONG>As we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">Tokenization is a combination of all of the Blockchain characteristics in one. Tokenization is the action of creating a Block on the Blockchain which is a Digital Token. The Digital Token is the digital representation of the information which has been stored on to the Blockchain.&nbsp;</P><P style=" padding-left : 30px; ">With Tokenization comes a Wallet to store the Tokens in, it can be argued that the Wallet is not a classic capability of the Blockchain, but rather a capability of the Blockchain Platform.</P><P style=" padding-left : 30px; ">A Software Development Kit is also not a classical characteristic or capability of the Blockchain, but rather a capability of the Enterprise Blockchain Platform. The SDK enables Developers to develop Decentralized Applications which run on top of the Blockchain.</P><P style=" padding-left : 30px; ">And Web3 is the culmination or the whole of all of these capabilities and some more. The capabilities listed here go a long way to making up the core foundation of Web3. <A href="https://pages.community.sap.com/topics/digital-innovation/web3" target="_self" rel="noopener noreferrer">There is a nice overview of Web3 here in the SAP Community</A>, including the following drawing:</P><P><A href="https://pages.community.sap.com/topics/digital-innovation/web3" target="_self" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AndySilvey_0-1709754724550.png" style="width: 768px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76778iE4A437D5124804ED/image-dimensions/768x434?v=v2" width="768" height="434" role="button" title="AndySilvey_0-1709754724550.png" alt="AndySilvey_0-1709754724550.png" /></span></A></P><P><STRONG>Enterprise Blockchain Database Capability - <U><EM>Mobility / Edge</EM></U></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG>&nbsp;Mobile, Mobility, Edge, IoT, Wireless, Move, Industry 4.0, Smart Everything, Connected Everything</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this:&nbsp;</STRONG>As we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">The Distributed/Decentralised characteristic of the Blockchain Database Technology is what is so special here. As discussed above the Distributed characteristic of the Blockchain enables us to have a database which is networked between two locations.</P><P style=" padding-left : 30px; ">It's this network database, and another fact which make Blockchain Databases so interesting for Edge/IoT/Mobile.</P><P style=" padding-left : 30px; ">The other fact is the anologue to digital transformation of Things and the network getting closer to the Things at the Edge.&nbsp;</P><P style=" padding-left : 30px; ">In the past Data was pretty much centralised to the DataCenter.</P><P style=" padding-left : 30px; ">Things like Thermometers (in Pharmaceutical and Food Production), Maps &amp; Compasses in Delivery Vehicles, Instructions on Paper, Locks on Doors, Photographs and Video, all of these Things were analogue. And now, all of these Things are going through a digital transformation, in two aspects, they are able to create digital representation of facts, and they are connected to the Network, and in some cases they even have larger computational power and can do business/processing logic and therefore are Smart Things. Thermometers are now connected to the Network, same for Maps and Compasses in Delivery Vehicles (GPS Location and navigation), Paper based Instructions are now electronic, Locks on Doors are now electronically monitored and controlled from the Network, Photographs and Video are now digital and connected to the network. And all of things Things are connected to the Network,the Edge of the Network, because they are the final point of the Network and together they make up the Internet of Things.</P><P style=" padding-left : 30px; ">And so all of these Things are producing Data at the Edge of the Network. And this is where Blockchain comes in, Blockchain, for all of the reasons above is natively out of the box the most security hardened and resilient Database for protecting the integrity and confidentiality and originality of Data from the Edge.</P><P style=" padding-left : 30px; ">The Capability and Enabler, Mobile / Edge / IoT comes in to play regarding having a Enterprise Blockchain Platform Server Node as close to the Edge as there is computational power, eg, on the Device, in the Connected Vehicle, or in the 5G Network IoT Gateway.&nbsp;</P><P style=" padding-left : 30px; ">Do we take the Data from the Edge to the Blockchain or do we take the Blockchain to the Data at the Edge.</P><P style=" padding-left : 30px; ">The most elegant is to take the Blockchain Mobile and to the Data at the Edge.</P><P style=" padding-left : 30px; ">Surely the most secure way, is to protect the originality, integrity, confidentiality of the Data, at the Source, at the Edge, or as close to the Source as there is enough computational power to run a light Blockchain Database Server Node ? We will discuss this in detail in subsequent blogs.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Enterprise Blockchain SAP IoT Edge Mobile Vehicle to Insights Connected Everything atkrypto.io" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77057i5B29A9EBB85DB257/image-size/large?v=v2&amp;px=999" role="button" title="Enterprise Blockchain SAP IoT Edge Mobile Vehicle to Insights Connected Everything atkrypto.io .png" alt="Enterprise Blockchain SAP IoT Edge Mobile Vehicle to Insights Connected Everything atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Enterprise Blockchain SAP IoT Edge Mobile Vehicle to Insights Connected Everything atkrypto.io</span></span></P><P><STRONG>Enterprise Blockchain Database Capability -<EM><U>&nbsp;</U></EM></STRONG><EM><U><STRONG>Integrations / Connectivity / Blockchain Bridges and Bridging</STRONG></U></EM></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG>&nbsp;Integration, Integrator, Connection, Connectivity, Connector, Bridge, Blockchain Bridge, Bridging</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this:&nbsp;</STRONG>As we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">This capability mainly revolves around the Distributed/Decentralised characteristic of the Blockchain.</P><P style=" padding-left : 30px; ">This capability has a several different dimensions:</P><P style=" padding-left : 60px; ">Getting Data in to the Blockchain</P><P style=" padding-left : 90px; ">There are basically two clear leading options for getting Data in to the Enterprise Blockchain Platform, and those are:</P><P style=" padding-left : 120px; ">API's</P><P style=" padding-left : 120px; ">API's, there is nothing wrong with API's and there must always be API access to the Blockchain, for writing and for reading. For writing I see the API as more reactive than real time, and for reading data from the Blockchain API is the obvious choice.</P><P style=" padding-left : 120px; ">There is a very nice blog in the SAP Community which favours Events over API's and personally I also lean that way for the majority of cases for writing data to the Blockchain. The blog is here:&nbsp;<A href="https://community.sap.com/t5/application-development-blog-posts/apis-our-flawed-legacy-from-1960-s-thinking/ba-p/13408475" target="_self">APIs: our flawed legacy from 1960’s thinking</A>.[thanks to my friend Thomas Kaiser for finding that one]</P><P style=" padding-left : 120px; ">Events</P><P style=" padding-left : 120px; ">For me the biggest reason for using the Enterprise Blockchain Platform is the incredibly high level of security hardening and Data protection that it natively brings.</P><P style=" padding-left : 120px; ">If we agree we will be more often positioning the Enterprise Blockchain Platform because of its security strengths, then next dimension is to write Data to the Enterprise Blockchain Platform as close to the source of that Data as possible no matter where the Data is, Edge or DataCenter.</P><P style=" padding-left : 120px; ">The next dimension is that in the majority of cases, we will want to write the Data to the Enterprise Blockchain Platform as early as we can in the lifetime of the Data, ie, as soon as the Data was created.</P><P style=" padding-left : 120px; ">If we want to write Data to an Enterprise Blockchain Platform as soon as the Data is created then the obvious technology for getting the Data to the Enterprise Blockchain Platform is Events, Event Driven Blockchain. I will be discussing this in detail in the later blogs which will deep dive in to individual use cases and reference architecture.</P><P style=" padding-left : 60px; ">The Blockchain as a Data Integrator across the Organisation or Organisations</P><P style=" padding-left : 90px; ">This capability crosses over with the Data Sharing capability. Basically the Enterprise Blockchain Platform becomes a Data Integrator within the Enterprise.</P><P style=" padding-left : 90px; ">In a number of use cases the Enterprise Blockchain Platform could replace classical API based Integrations. In scenarios where there are Data Integrations between Applications, for example between Salesforce and SAP S/4HANA, instead of doing an API based Integration and only have security and protection to the level End to End Encryption, there could be an Enterprise Blockchain where Salesforce writes to the Enterprise Blockchain and SAP S/4HANA reads from the Enterprise Blockchain. This will be discussed in subsequent blogs which will deep dive in to use cases and reference architecture.</P><P style=" padding-left : 60px; ">Bridging between Blockchains</P><P style=" padding-left : 90px; ">This is a very important capability of Enterprise Blockchain Platforms and enables that Data can be bridged between Blockchains.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP S4HANA BTP Blockchain Web3 Reference Architecture Example atkrypto.io" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77152i2BD40E69C7EB53D5/image-size/large?v=v2&amp;px=999" role="button" title="atkrypto SAP S4HANA BTP Blockchain Web3 Reference Architecture.png" alt="SAP S4HANA BTP Blockchain Web3 Reference Architecture Example atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP S4HANA BTP Blockchain Web3 Reference Architecture Example atkrypto.io</span></span></P><P><STRONG>Enterprise Blockchain Database Capability -<EM><U>&nbsp;Types of Blockchain</U></EM></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG>&nbsp;Public, Private, Semi-Private, Consortium, Bridge</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this:&nbsp;</STRONG>As we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">This capability mainly revolves around Layer 0 of the Blockchain Architecture, which is the Blockchain Network. An Enterprise Blockchain Platform which enables the Customer to create their own Blockchain Network will most likely have the best capability to enable the Customer create the Blockchain of their choice.</P><P style=" padding-left : 30px; ">The main classifications of Blockchain Database are nicely described in this article from SAP,&nbsp;<A href="https://www.sap.com/products/artificial-intelligence/what-is-blockchain.html" target="_self" rel="noopener noreferrer">What is blockchain technology</A>?.</P><P style=" padding-left : 30px; "><A href="https://www.sap.com/products/artificial-intelligence/what-is-blockchain.html" target="_self" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP Article What is Blockchain Types of Blockchains atkrypto.io" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77165i45AC376D4F02584F/image-size/large?v=v2&amp;px=999" role="button" title="SAP Article What is Blockchain Types of Blockchains atkrypto.io.png" alt="SAP Article What is Blockchain Types of Blockchains atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP Article What is Blockchain Types of Blockchains atkrypto.io</span></span></A></P><P><STRONG>Enterprise Blockchain Database Capability -<EM><U>&nbsp;<SPAN>Artificial Intelligence</SPAN></U></EM></STRONG></P><P style=" padding-left : 30px; "><STRONG>Capability/Enabler:</STRONG>&nbsp;Integrity, Auditability, Traceability, Originality, Confidentiality, Protection, Safe, Treasure, Surety, Certainty, UnCompromised, Intelligent Technologies, Smart Technologies</P><P style=" padding-left : 30px; "><STRONG>Why are Blockchain Databases so strong in this:&nbsp;</STRONG>As we discussed in the <A href="https://community.sap.com/t5/technology-blogs-by-members/why-i-love-sap-and-blockchain-databases-and-why-you-should-too/ba-p/13625869" target="_self">previous Blog in this series</A>, Blockchain Databases have four special characteristics that make them a Blockchain Database, and those are, Immutable, Hash Mechanism, Distributed/Decentralised, Consensus Mechanism.</P><P style=" padding-left : 30px; ">This capability mainly revolves around Security characteristics of the Blockchain Platform and Database.</P><P style=" padding-left : 30px; ">For Artificial Intelligence outcomes to be trustworthy, it must be certain that the Data used for the Artificial Intelligence can not have been altered.&nbsp;</P><P style=" padding-left : 30px; ">That's it, it's as simple as that, if we want to trust what AI is telling us, then we need surety and certainty that the integrity and originality of the Data which the AI used cannot be or have been compromised.</P><P style=" padding-left : 30px; ">Intelligent Technologies, for Intelligent Technologies to be intelligent, they cannot depend on stupid Data !</P><P style=" padding-left : 30px; ">Smart Technologies, for Smart Technologies to be smart, they cannot depend on stupid Data&nbsp; !</P><P style=" padding-left : 30px; ">That's where the Blockchain comes in.</P><P style=" padding-left : 30px; "><A href="https://www.sap.com/norway/intelligent-enterprise.html" target="_self" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP What is an Intelligent Sustainable Enterprise atkrypto.io" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77190i65B1DE88CEF6621F/image-size/large?v=v2&amp;px=999" role="button" title="SAP What is an Intelligent Sustainable Enterprise atkrypto.io .png" alt="SAP What is an Intelligent Sustainable Enterprise atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP What is an Intelligent Sustainable Enterprise atkrypto.io</span></span></A></P><P>Now that we have elaborated on all of the capabilities and enablers of Enterprise Blockchain Databases and Enterprise Blockchain Platforms, let's get back to the goal of positioning Enterprise Blockchain Database and Platform as an Enterprise Technology Standard.</P><P>Before we do that, let's recap on the capabilities and enablers and summarise them:</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Enterprise Blockchain Platform Capability Layers Map courtesy of Jan Tuma (TOGAF Certified SAP Enterprise Technical Architect) - atkrypto.io" style="width: 873px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77621i375E96226AA4642D/image-dimensions/873x1828?v=v2" width="873" height="1828" role="button" title="Enterprise Blockchain Platform Capability Layers Map courtesy of Jan Tuma (TOGAF Certified SAP Enterprise Technical Architect) - atkrypto.io .png" alt="Enterprise Blockchain Platform Capability Layers Map courtesy of Jan Tuma (TOGAF Certified SAP Enterprise Technical Architect) - atkrypto.io" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Enterprise Blockchain Platform Capability Layers Map courtesy of Jan Tuma (TOGAF Certified SAP Enterprise Technical Architect) - atkrypto.io</span></span></P><P>&nbsp;</P><P>In SAP Enterprise Architecture there is only one place to run the Enterprise Blockchain Platform, and that is, right next to the Digital Core S/4HANA in the "enabler", the SAP Business Technology Platform.&nbsp;</P><P>Why place the Enterprise Blockchain Platform in the SAP BTP ?</P><P>It's very very simple....</P><P style=" padding-left : 30px; ">Proximity to the Data (of the Digital Core)</P><P style=" padding-left : 30px; ">Ethnicity of the Data (in the Digital Core)</P><P style=" padding-left : 30px; ">Proximity to the Process(es) (in the Digital Core)</P><P style=" padding-left : 30px; ">Proximity to the Technology (of the Digital Core)</P><P>To wrap up, what we've done in this blog is identify all of the capabilities and enablers of Enterprise Blockchain Databases and the Enterprise Blockchain Platform, we've discussed why these capabilities are so important, and consequently how to position an Enterprise Blockchain Platform in the SAP Enterprise Architecture Technology Standards, where we use what and why.</P><P>We have also looked at where the Enterprise Blockchain Platform should reside, and the conclusion is in the "enabler", the SAP Business Technology Platform BTP, right next to the Digital Core S/4HANA, and enabling and leveraging all of the other Services in the SAP BTP and the native integration to the SAP Product Portfolio and other Enterprise Applications.</P><P>The good news is, as we discussed in the previous blog, this is no longer hype, we can do all of this today, <SPAN>and now, within the&nbsp;</SPAN><A href="https://www.sap.com/norway/partners/partner-program/build.html" target="_self" rel="noopener noreferrer">SAP Partner Edge Open EcoSystem</A><SPAN>&nbsp;there are enabling technology Blockchain Products designed and built by SAP Experts specifically for the needs of SAP Customers to make doing Blockchain and SAP easy, and so you can do SAP and Blockchain, today it's real and there's nothing stopping you.</SPAN></P><P>So what are we waiting for ? Oh yeah, use cases, ok, that will be the next blog&nbsp;<SPAN><span class="lia-unicode-emoji" title=":grinning_face:">😀</span>&nbsp;<span class="lia-unicode-emoji" title=":rocket:">🚀</span>&nbsp;</SPAN></P><P><SPAN>What do you think, are the words Blockchain, Web3, Distributed Ledger Technology, starting to appear in your Company's visions and technology visions ? What use cases are you looking at ? Let's chat about it in the comments.</SPAN></P><P>For now, over and out.</P><P>Andy Silvey.</P><P>Independent SAP Technical Architect and CEO of atkrypto.io</P><P>Author Bio:</P><P>Andy Silvey is a 25 years SAP Technology veteran&nbsp;[<EM>15 years SAP Basis and 10 years SAP Tech Arch including Tech, Integration, Security, Data from 3.1H to S/4HANA PCE on RISE and the BTP and everything in between, and<SPAN>&nbsp;</SPAN><A href="https://community.sap.com/t5/welcome-corner-blog-posts/andy-silvey-scn-moderator-spotlight/ba-p/13054438" target="_self">former SCN Moderator and Mentor alumni</A>].</EM></P><P>Andy is also co-Founder of atkrypto inc, an startup whose ambition is to make Blockchain easy for Enterprise.</P><P>atkrypto.io's flagship product is the atkrypto Enterprise Blockchain Platform for SAP,&nbsp; and atkrypto.io is a SAP Partner Edge Open EcoSystem Partner.&nbsp;</P><P>The&nbsp;atkrypto Enterprise Blockchain Platform for SAP has been designed by SAP Independent Experts for the needs of SAP Customers and to be deployed on the SAP BTP Kyma Runtime Service and leverage native integration to SAP Products.</P><P>atkrypto&nbsp;Enterprise Blockchain Platform for SAP has a number of unique qualities, including being the only Blockchain software in the world which has a DataCenter version and a light mobile version which can run on Edge/IoT/Mobile devices and enables data to be written to the Blockchain at the Edge where that same Blockchain is running on a Server in the DataCenter, protecting the integrity and originality of data from the Edge to Insights. Taking Blockchain to the Data at the Edge instead of taking the Data to the Blockchain.</P> 2024-03-08T19:19:41.200000+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-members/master-derived-role-concept/ba-p/13643971 Master Derived role concept 2024-03-21T14:51:34.939000+01:00 snehal54321 https://community.sap.com/t5/user/viewprofilepage/user-id/177384 <P><STRONG>Master role</STRONG>-It is parent role which has full access and contains org level values as *.</P><P><STRONG>Derived role</STRONG>-It is a single role which is derived from another single role.</P><P>What is the necessity of a derived role?</P><P>-&gt;when the client is MNC--Coke, BMW, NESTLE</P><P>-&gt;Multiple business company-TATA</P><P><STRONG>For Example</STRONG>-</P><P>Coke:</P><P>India finance team-India finance team will process the invoices of India.</P><P>USA finance team-USA finance team will process the invoices of USA.</P><P>t-code used to process the invoices is same FBV0.</P><P>In India when they will execute the FBV0, they should be able to process the invoices of India only.</P><P>In USA when they will execute the FBV0, they should be able to process the invoices of USA only.</P><P>This access can be differentiated with the ORG FIELDS. i.e. plant, cost Centre, company code.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="snehal54321_0-1710924310743.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83626i1738F69FF70B3B99/image-size/medium?v=v2&amp;px=400" role="button" title="snehal54321_0-1710924310743.png" alt="snehal54321_0-1710924310743.png" /></span></P><P>&nbsp;</P><P>In this diagram, three roles are derived from master role.</P><P>When you derive the roles from master role the t-codes, authorization objects will get derived as it is.</P><P>The only difference between master and derived role is ORG FIELD values. i.e. company code values in this example.</P><P>Here, we have created master role with company code value as * and we have derived derive role for India, USA,UK with company code value as 100,200,300.Suppose if we add a new t-code to master role and if we create derive role from it, it will push the t-code to India, USA, UK role, but it will not touch the company code value of derive roles. The company code value will remain as it is. That is the concept of Master and derive role.</P><P>If you want to add a new t-code FB01 in these three derived roles, then you need to add this t-code to master role and derived roles will get modified accordingly.</P><P><STRONG>Q&amp;A</STRONG>:</P><P>What is the difference between master and derived roles?</P><P>-&gt;org values.</P><P>How many derived roles can be derived from one master role? Is there any limit?</P><P>-&gt;No limit. It depends on how many branches or businesses the company has.</P><P>Regards,</P><P>Snehal</P><P>&nbsp;</P><P>&nbsp;</P> 2024-03-21T14:51:34.939000+01:00 https://community.sap.com/t5/technology-blogs-by-members/custom-domains-for-btp-cloudfoundry-applications/ba-p/13647389 Custom domains for BTP CloudFoundry applications 2024-03-26T08:43:26.536000+01:00 WouterLemaire https://community.sap.com/t5/user/viewprofilepage/user-id/9863 <H1 id="toc-hId-860820414">Introduction</H1><P>I wanted to activate a custom domain on BTP for my own website <SPAN><A href="https://wouter.lemaire.tech" target="_blank" rel="noopener nofollow noreferrer">https://wouter.lemaire.tech</A></SPAN> . To achieve this I followed this great step-by-step blog post of&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/1307">@andrew_lunde</a>&nbsp;: <SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/step-by-step-guide-to-custom-domains-with-multitenant-multi-target/ba-p/13390754" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/step-by-step-guide-to-custom-domains-with-multitenant-multi-target/ba-p/13390754</A></SPAN></P><P>Nevertheless, I did some steps different which still made it challenging to configure:</P><UL><LI>I bought the domain using google domains</LI><LI>Used certbot instead of my own certificate (in companies you’ll probably have a company certificate)</LI><LI>Added MTA configuration to automatically map the domain after deploying your app</LI></UL><P>Those differences changed some steps in the flow which I documented and want to share in this blog post.</P><H1 id="toc-hId-664306909">Prerequisites</H1><P>Check the official SAP help documentation, this might help you to understand the flow: <SPAN><A href="https://help.sap.com/docs/custom-domain/custom-domain-service/create-custom-domains?locale=en-US" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/custom-domain/custom-domain-service/create-custom-domains?locale=en-US</A></SPAN></P><P>You need to buy a custom domain, this is not part of this service. This service just allows you to use your custom domain (which you pay separately) to your BTP applications and services. I’m using google domains which has been migrated to Squarespace.</P><P>Install certbot: <A href="https://certbot.eff.org/instructions?ws=other&amp;os=windows" target="_blank" rel="noopener nofollow noreferrer">https://certbot.eff.org/instructions?ws=other&amp;os=windows</A></P><P><SPAN>Download the latest version of the Certbot installer for Windows at&nbsp;</SPAN><A href="https://github.com/certbot/certbot/releases/latest/download/certbot-beta-installer-win_amd64_signed.exe" target="_blank" rel="noopener nofollow noreferrer">https://github.com/certbot/certbot/releases/latest/download/certbot-beta-installer-win_amd64_signed.exe</A>.</P><P>Make sure your BTP account has the entitlements:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_0-1711151575890.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85345i3B8E7F3BFEE29ADB/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_0-1711151575890.png" alt="WouterLemaire_0-1711151575890.png" /></span></P><P>Create an instance of this service in your CloudFoundry Space:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_1-1711151597097.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85346iBC88292177046BAF/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_1-1711151597097.png" alt="WouterLemaire_1-1711151597097.png" /></span></P><P><SPAN>Install the CloudFoundry CLI with the Custom Domain Self-Service plugin. The plugin can be downloaded from here: <A href="https://tools.hana.ondemand.com/#cloud" target="_blank" rel="noopener nofollow noreferrer">https://tools.hana.ondemand.com/#cloud</A></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_2-1711151618301.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85347i9882F81BEEA8E46B/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_2-1711151618301.png" alt="WouterLemaire_2-1711151618301.png" /></span></P><P><SPAN>Once downloaded, install it by going into the folder of the plugin and run the following command in your cli: “cf install-plugin custom-domain-cli”</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_3-1711151644365.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85350iCFAD2257FD39C63A/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_3-1711151644365.png" alt="WouterLemaire_3-1711151644365.png" /></span></P><P><SPAN>Validate if it was successful by running “cf plugins”. This will show you a list of all installed plugins including the custom domain plugin: </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_4-1711151713084.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85351iF8B68B559837D045/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_4-1711151713084.png" alt="WouterLemaire_4-1711151713084.png" /></span></P><H1 id="toc-hId-467793404"><SPAN>Create your custom domain</SPAN></H1><P><SPAN>1) Login to CloudFoundry using the cli:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_5-1711151748528.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85352iCFA67D8EA9531FED/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_5-1711151748528.png" alt="WouterLemaire_5-1711151748528.png" /></span></P><P><SPAN>2) Create your custom domain using the command “cf create-domain wlcf wouter.lemaire.tech”</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_6-1711151769099.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85353i19B9926BAD315BE2/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_6-1711151769099.png" alt="WouterLemaire_6-1711151769099.png" /></span></P><P>You can validate if this was successful with the command “cf domains”, here you should see your domain listed:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_7-1711151778954.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85354iC202E414E5DEA07E/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_7-1711151778954.png" alt="WouterLemaire_7-1711151778954.png" /></span></P><P>3) Create a private key for your custom domain in Cloud Foundry using the command:</P><P>cf custom-domain-create-key custom-domain-wouter-lemtech-key "CN=*.wouter.lemaire.tech, EMAIL=wouter@lemaire.tech, O=lemtech, C=BE" "wouter.lemaire.tech"</P><UL><LI>custom-domain-create-key: command for the cf cli custom domain plugin to create the key</LI><LI>custom-domain-wouter-lemtech-key: this is the name for the key that will be created. We need this in a later phase</LI><LI>“CN=*.wouter.lemaire.tech, EMAIL=wouter@lemaire.tech, O=lemtech, C=BE” : details need to create the CSR</LI><LI>"wouter.lemaire.tech": the domain name I want to connect (more can be listed here)</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_8-1711151800033.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85355i0F173B5EF44FE1B1/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_8-1711151800033.png" alt="WouterLemaire_8-1711151800033.png" /></span></P><P>4) Get the Certificate Signing Request (CSR) by using the created private key using the following command:</P><P>cf custom-domain-get-csr custom-domain-wouter-lemtech-key csr.pem</P><UL><LI>custom-domain-get-csr: cf cli custom domain command to retrieve the csr</LI><LI>custom-domain-wouter-lemtech-key: name of the private key which was created in the previous step</LI><LI>csr.pem: name of that will be used to store the csr in</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_9-1711151835284.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85356iC656181070A84742/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_9-1711151835284.png" alt="WouterLemaire_9-1711151835284.png" /></span></P><P><SPAN>5) Sign the CSR using certbot by running</SPAN> cmd as administrator from the folder where the csr.pem file is stored and run the following command:</P><P>certbot certonly --manual --csr ./csr.pem --preferred-challenges dns</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_10-1711151853127.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85358i4CD94A523FAD6757/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_10-1711151853127.png" alt="WouterLemaire_10-1711151853127.png" /></span></P><P>This will give you a token which you need to use to create a TXT record in Google Domains:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_11-1711151861507.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85359i613C0DDDD93060B5/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_11-1711151861507.png" alt="WouterLemaire_11-1711151861507.png" /></span></P><P>Once you created the record, you can press enter. This might take a while but eventually provide you some certificates:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_12-1711151871269.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85360i5B461FA1B082BAF7/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_12-1711151871269.png" alt="WouterLemaire_12-1711151871269.png" /></span></P><P>6) Upload the signed certificate to CloudFoundry</P><P>As I received three certificates from certbot and it was not clear which one to take so I tried merging all of them into one:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_13-1711151886853.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85362i6D6CD8835C515904/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_13-1711151886853.png" alt="WouterLemaire_13-1711151886853.png" /></span></P><P><SPAN>When uploading the combined certificate using the following command, it went in error:</SPAN></P><P><SPAN>cf custom-domain-upload-certificate-chain </SPAN>custom-domain-wouter-lemtech-key allchain.pem</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_14-1711151894910.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85363i25AE3C6D1AA0D103/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_14-1711151894910.png" alt="WouterLemaire_14-1711151894910.png" /></span></P><P>So I tried all certificates separately and eventually the last one worked <span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></P><P>cf custom-domain-upload-certificate-chain custom-domain-wouter-lemtech-key 0001_chain.pem</P><UL><LI>custom-domain-upload-certificate-chain: command to upload the certificate to CloudFoundry</LI><LI>custom-domain-wouter-lemtech-key : key that I created earlier</LI><LI>0001_chain.pem: certificate that needs to be uploaded</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_15-1711151908658.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85364i9E8137D019100E2D/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_15-1711151908658.png" alt="WouterLemaire_15-1711151908658.png" /></span></P><P>It will ask for confirmation and upload BUT not yet activate:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_16-1711151918206.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85365i2A2484B102B1475E/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_16-1711151918206.png" alt="WouterLemaire_16-1711151918206.png" /></span></P><P>We can check if the certificate was uploaded successfully with the following command + the private key:</P><P>cf custom-domain-show-certificates custom-domain-wouter-lemtech-key</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_17-1711151929340.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85366i94A2C7EEE289AE62/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_17-1711151929340.png" alt="WouterLemaire_17-1711151929340.png" /></span></P><P>7) Activate the custom domain using the following command:</P><P>cf custom-domain-activate custom-domain-wouter-lemtech-key wouter.lemaire.tech</P><UL><LI>custom-domain-activate: command for activating</LI><LI>custom-domain-wouter-lemtech-key: private key name</LI><LI>wouter.lemaire.tech: domain to be activated</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_18-1711151943919.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85367i9F67D90B29B304A7/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_18-1711151943919.png" alt="WouterLemaire_18-1711151943919.png" /></span></P><P>You can check if the active custom domains in CloudFoundry with the command: cf custom-domain-list</P><P>In my case, I have two, one main custom domain which I’ll use to continue “Wouter.lemaire.tech” but also a generic domain that allows me to use subdomains “*.wouter.lemaire.tech”. I’ll use this one later.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_19-1711151955919.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85368iCD35232FD4692440/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_19-1711151955919.png" alt="WouterLemaire_19-1711151955919.png" /></span></P><P>8 ) Configure DNS for custom domain</P><P>Before we can do this, we need to get the API of CloudFoundry in your subaccount. This can be done by using the command “cf api”:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_20-1711151969685.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85369i74DA138FA529D1ED/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_20-1711151969685.png" alt="WouterLemaire_20-1711151969685.png" /></span></P><P>In Google Domains, I created the following record:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_21-1711151976230.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85370i39F0D4FA7AAC4B40/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_21-1711151976230.png" alt="WouterLemaire_21-1711151976230.png" /></span></P><P>To test if it works I used the command “nslookup Wouter.lemaire.tech”:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_22-1711151982841.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85371iF89FB8CBC82338FE/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_22-1711151982841.png" alt="WouterLemaire_22-1711151982841.png" /></span></P><P>9) Map application to custom domain</P><P>Before we do, we can check the list of apps to find the connected route for each application</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_23-1711151994699.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85372i46CCB45E3717EE88/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_23-1711151994699.png" alt="WouterLemaire_23-1711151994699.png" /></span></P><P>With the following command, we will map an app with the custom domain we created (this needs to be done for the approuter app as this is the access point for an application in BTP):</P><P><SPAN>cf map-route &lt;Application Name&gt; &lt;Custom Domain&gt; --hostname &lt;Application Hostname&gt;</SPAN></P><P><SPAN>In my example it looks like this, without the hostname as I want it to be connected with the main domain:</SPAN></P><P><SPAN>cf map-route lemtech-approuter wouter.lemaire.tech</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_24-1711152002676.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85373i63ED0022F37350EF/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_24-1711152002676.png" alt="WouterLemaire_24-1711152002676.png" /></span></P><P>If you now check the list of apps, you’ll see that the route for the approuter is connected to the custom domain:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_25-1711152009142.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85374iE32CC6FE0FEDDB21/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_25-1711152009142.png" alt="WouterLemaire_25-1711152009142.png" /></span></P><P><SPAN>You can also check the list of routes:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_26-1711152015149.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85375iC552A194A455037F/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_26-1711152015149.png" alt="WouterLemaire_26-1711152015149.png" /></span></P><P><SPAN>10) Configure the MTA of your app</SPAN></P><P><SPAN>After every deploy the mapping between the route and your app will be gone and you need to do this over again. This can be done in the BTP Cockpit:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_27-1711152025585.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85376i4E03E92F27E85382/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_27-1711152025585.png" alt="WouterLemaire_27-1711152025585.png" /></span></P><P><SPAN>You can avoid this by configuring the domain in the mta.yaml file of your application as followed:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_28-1711152033375.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85377i3F998BDF5E7329E3/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_28-1711152033375.png" alt="WouterLemaire_28-1711152033375.png" /></span></P><P><SPAN>With this configuration you’ll keep the domain connected to your application after each deploy</SPAN></P><P><SPAN>That’s how it’s done </SPAN><span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></P><H1 id="toc-hId-271279899"><SPAN>Result</SPAN></H1><P><SPAN>Try navigating to <A href="https://wouter.lemaire.tech" target="_blank" rel="noopener nofollow noreferrer">https://wouter.lemaire.tech</A> this will open my website which is running on SAP BTP Cloud Foundry!</SPAN><SPAN>&nbsp;</SPAN></P><H1 id="toc-hId-74766394"><SPAN>Additional</SPAN></H1><P><SPAN>Additionally I’m also want to create subdomains so I can use the custom domain for other applications. For this, I added a record in google domains as followed:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_29-1711152044282.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85378i8B327DCF8E9A5FB6/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_29-1711152044282.png" alt="WouterLemaire_29-1711152044282.png" /></span></P><P><SPAN>I have activated the custom domain “*.wouter.lemaire.tech”</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_30-1711152054510.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85379iB9B6BEF65429872E/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_30-1711152054510.png" alt="WouterLemaire_30-1711152054510.png" /></span></P><P><SPAN>Mapped the application BTP Service Overview with the custom domain Wouter.lemaire.tech using btp-services as hostname:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_31-1711152061124.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85380iCBBD700CF83FA6F4/image-size/large?v=v2&amp;px=999" role="button" title="WouterLemaire_31-1711152061124.png" alt="WouterLemaire_31-1711152061124.png" /></span></P><P><SPAN>Result: <A href="https://btp-services.wouter.lemaire.tech/" target="_blank" rel="noopener nofollow noreferrer">https://btp-services.wouter.lemaire.tech/</A> </SPAN></P> 2024-03-26T08:43:26.536000+01:00 https://community.sap.com/t5/technology-blogs-by-members/integrating-ibm-security-verify-with-sap-cloud-identity-services-in-sap-btp/ba-p/13651722 Integrating IBM Security Verify with SAP Cloud Identity Services in SAP BTP 2024-04-02T10:29:43.856000+02:00 TusharTrivedi https://community.sap.com/t5/user/viewprofilepage/user-id/150726 <P>This blog delves into the technical aspects of integrating IBM Security Verify with SAP Cloud Identity Services (CIS) in SAP Business Technology Platform (BTP) as a proxy.</P><P>SAP CIS offers a suite of solutions for managing user identities, access controls, and application integrations across the IT landscape. Conversely, IBM Security Verify provides identity governance, workforce and Customer Identity Access Management (CIAM), and privileged account controls through automated, cloud-based, and on-premises capabilities. By integrating these platforms, organisations can leverage their combined strengths to establish a secure business environment. This integration enhances operational control, regulatory compliance, and user experience in the digital era.</P><P>IBM Security Verify supports various authentication methods, including passwordless, fingerprints, and one-time passcodes, ensuring flexibility and robustness against unauthorised access. Meanwhile, SAP Cloud Identity Services serves as a comprehensive Identity and Access Management solution which is available in SAP BTP.</P><P>The integration process involves configuration updates in SAP CIS and IBM Security Verify to enable authentication utilising standard protocols supported by both components, such as SAML 2.0. Organisations must ensure they have the necessary admin privileges or access rights for editing configurations before initiating the integration procedure. Collaboration between the organisation and SAP is required for the integration, with most of the effort undertaken by the organisation.</P><P><STRONG><U>Reference Architecture</U></STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_0-1711558240041.png" style="width: 603px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87620iCDBBC15EAA0C32FA/image-dimensions/603x264?v=v2" width="603" height="264" role="button" title="TusharTrivedi_0-1711558240041.png" alt="TusharTrivedi_0-1711558240041.png" /></span></P><P>The diagram represents a SAP Cloud Identity Service that integrates with IBM Security Verify though which various SAP BTP application(s), SAP SaaS solution(s) and on-premises application(s) can be accessed. It demonstrates user sign-in via IBM Security Verify which allow possible passwordless, bio-metric or multi-factor authentication (MFA) using mobile devices for fast application access and pleasing user-experience.</P><P><STRONG><U>Prerequisites</U></STRONG></P><UL><LI>SAP Cloud Identity Services(for trial instance check this <A href="https://help.sap.com/docs/cloud-identity?locale=en-US" target="_blank" rel="noopener noreferrer">link</A>)</LI><LI>IBM Security Verify (for trial instance check this <A href="https://www.ibm.com/docs/en/security-verify?topic=overview-accessing-security-verify" target="_blank" rel="noopener nofollow noreferrer">link</A>)</LI><LI>A smartphone with IBM Security Verify App</LI></UL><P><STRONG><U>Configurations and Settings in IBM Security Verify</U></STRONG></P><P>Log in into <A href="https://ibmlabs.verify.ibm.com/ui/admin" target="_blank" rel="noopener nofollow noreferrer">IBM Security Verify</A> as an administrator&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_1-1711558240051.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87619iDD2FB2053352AAF9/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_1-1711558240051.png" alt="TusharTrivedi_1-1711558240051.png" /></span></P><P>When a user logs in, home screen as shown below will be displayed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_2-1711558240063.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87621i225AF80516E58B56/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_2-1711558240063.png" alt="TusharTrivedi_2-1711558240063.png" /></span></P><P>Now on the left panel, click on "Applications" under "Applications". On the right side of the screen, there is an “Add application” button. Click on it.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_3-1711558240075.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87624iB89E19C5B29F0C09/image-dimensions/581x318?v=v2" width="581" height="318" role="button" title="TusharTrivedi_3-1711558240075.png" alt="TusharTrivedi_3-1711558240075.png" /></span></P><P>Fill the necessary details under “General” section as below and save the details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_4-1711558240081.png" style="width: 583px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87622iE900EAD3FCED43E8/image-dimensions/583x351?v=v2" width="583" height="351" role="button" title="TusharTrivedi_4-1711558240081.png" alt="TusharTrivedi_4-1711558240081.png" /></span></P><P>Before we go further, let’s log into SAP BTP account and you will be navigated on SAP BTP Cockpit. As suggested below, navigate to the “Instances and Subscriptions” tab, which is under “Services”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_5-1711558240088.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87623i84B54FDB35A41913/image-dimensions/581x305?v=v2" width="581" height="305" role="button" title="TusharTrivedi_5-1711558240088.png" alt="TusharTrivedi_5-1711558240088.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_6-1711558240097.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87625i2B53267225252EA7/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_6-1711558240097.png" alt="TusharTrivedi_6-1711558240097.png" /></span></P><P>Upload the metadata file which you have recently saved on your device to IBM Verify dashboard</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_7-1711558240104.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87626iFC489D70B361D987/image-dimensions/581x327?v=v2" width="581" height="327" role="button" title="TusharTrivedi_7-1711558240104.png" alt="TusharTrivedi_7-1711558240104.png" /></span></P><P><STRONG><U>Configurations and Settings in SAP Cloud Identity Services</U></STRONG></P><P>Now, get back to SAP BTP and navigate to “Instances and Subscriptions.”</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_8-1711558240123.png" style="width: 582px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87627iD26384015971092A/image-dimensions/582x304?v=v2" width="582" height="304" role="button" title="TusharTrivedi_8-1711558240123.png" alt="TusharTrivedi_8-1711558240123.png" /></span></P><P>Now, enable the “Cloud Identity Services” if it’s not and once done it will be accessible as below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_9-1711558240142.png" style="width: 583px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87630i22174F3EA9625389/image-dimensions/583x306?v=v2" width="583" height="306" role="button" title="TusharTrivedi_9-1711558240142.png" alt="TusharTrivedi_9-1711558240142.png" /></span></P><P>Once you click on “Cloud Identity Services”, you will be redirected to the login screen of the SAP authentication screen as shown below</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_10-1711558240151.png" style="width: 585px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87628iEBE7E7B581BEAD5D/image-dimensions/585x306?v=v2" width="585" height="306" role="button" title="TusharTrivedi_10-1711558240151.png" alt="TusharTrivedi_10-1711558240151.png" /></span></P><P>After successful login, you can see the home screen of Cloud identity service. Go to the “Identity Providers” as highlighted below</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_11-1711558240165.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87629iE9F459AA6A3456D1/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_11-1711558240165.png" alt="TusharTrivedi_11-1711558240165.png" /></span></P><P>Click on the Corporate Identity providers and create new identity provider</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_12-1711558240180.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87631i14BC0DD99326AD6F/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_12-1711558240180.png" alt="TusharTrivedi_12-1711558240180.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_13-1711558240199.png" style="width: 582px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87632iA827A103C5B7CE0F/image-dimensions/582x304?v=v2" width="582" height="304" role="button" title="TusharTrivedi_13-1711558240199.png" alt="TusharTrivedi_13-1711558240199.png" /></span></P><P>Once the new identity provider is added successfully, click on the identity provider type and select SAML 2.0 compliant as shown below</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_14-1711558240217.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87633iBF1B725FC5F931FA/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_14-1711558240217.png" alt="TusharTrivedi_14-1711558240217.png" /></span></P><P>Go to the SAML configuration section and fill in the information as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_15-1711558240253.png" style="width: 465px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87635i9249EB9FC9127D47/image-dimensions/465x243?v=v2" width="465" height="243" role="button" title="TusharTrivedi_15-1711558240253.png" alt="TusharTrivedi_15-1711558240253.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_16-1711558240282.png" style="width: 582px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87636iF17F5BCC71338399/image-dimensions/582x303?v=v2" width="582" height="303" role="button" title="TusharTrivedi_16-1711558240282.png" alt="TusharTrivedi_16-1711558240282.png" /></span></P><P>You can browse the “Metadata” file from your device once you download it from IBM Security Verify dashboard. Go to “Sign on” section of the application and on the right side of the screen, download the file from the given URL and upload the same in SAP Cloud Identity Service as highlighted below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_17-1711558240291.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87634i31E8A06AE0210E24/image-dimensions/580x319?v=v2" width="580" height="319" role="button" title="TusharTrivedi_17-1711558240291.png" alt="TusharTrivedi_17-1711558240291.png" /></span></P><P>Click on the Trusting application section and add SAP BTP trial sub-account.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_18-1711558240308.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87637iCC89A43551D2E79A/image-dimensions/581x302?v=v2" width="581" height="302" role="button" title="TusharTrivedi_18-1711558240308.png" alt="TusharTrivedi_18-1711558240308.png" /></span></P><P>Now, navigate back to SAP BTP cockpit and establish the trust configuration which is under “Security” section &nbsp;for the cloud identity application as shown in the below screenshots.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_19-1711558240327.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87639i167BF05ECCDAFF00/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_19-1711558240327.png" alt="TusharTrivedi_19-1711558240327.png" /></span></P><P>Select “Establish Trust”</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_20-1711558240343.png" style="width: 582px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87638i162E95E24B25C60D/image-dimensions/582x304?v=v2" width="582" height="304" role="button" title="TusharTrivedi_20-1711558240343.png" alt="TusharTrivedi_20-1711558240343.png" /></span></P><P>You will see the below steps once you click on establish trust.&nbsp; As a first step, choose tenant and click on next.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_21-1711558240362.png" style="width: 583px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87640i0A33044697A8BC5B/image-dimensions/583x306?v=v2" width="583" height="306" role="button" title="TusharTrivedi_21-1711558240362.png" alt="TusharTrivedi_21-1711558240362.png" /></span></P><P>After selecting a tenant in the next step choose the domain for your SAP Cloud identity services application.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_22-1711558240383.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87641iEFD4BF3271BCFE37/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_22-1711558240383.png" alt="TusharTrivedi_22-1711558240383.png" /></span></P><P>Click on the next button and configure parameters as shown in below screenshot.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_23-1711558240404.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87642iFB90AFAA4E99207C/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_23-1711558240404.png" alt="TusharTrivedi_23-1711558240404.png" /></span></P><P>Click on the next button and make a final review of the setup you have done while establishing the trust.&nbsp; Then click on the finish button and save the details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_24-1711558240426.png" style="width: 586px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87645i81921A9A59AC826E/image-dimensions/586x306?v=v2" width="586" height="306" role="button" title="TusharTrivedi_24-1711558240426.png" alt="TusharTrivedi_24-1711558240426.png" /></span></P><P>Once done, you can see the new active trust configuration as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_25-1711558240444.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87644i1759C90ACFBCBE7C/image-dimensions/581x305?v=v2" width="581" height="305" role="button" title="TusharTrivedi_25-1711558240444.png" alt="TusharTrivedi_25-1711558240444.png" /></span></P><P>To provide access to the user, click on the Users section which is inside the “Security” section on the left menu.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_26-1711558240458.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87643i7725168E02472D61/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_26-1711558240458.png" alt="TusharTrivedi_26-1711558240458.png" /></span></P><P>Click on the user and assign role collection to the user as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_27-1711558240478.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87646iCC474B356848F0EC/image-dimensions/581x305?v=v2" width="581" height="305" role="button" title="TusharTrivedi_27-1711558240478.png" alt="TusharTrivedi_27-1711558240478.png" /></span></P><P>You can select different roles and assign them to the user. Here we have added three roles to the user.&nbsp; After selecting all the roles, click on the&nbsp; “Assign role collection” button and save the details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_28-1711558240506.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87648iDFCEFBDD87A73D6E/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_28-1711558240506.png" alt="TusharTrivedi_28-1711558240506.png" /></span></P><P>We have completed the configurations in IBM Security Verify and SAP Cloud Identity Services. Let’s test it now by opening the SAP business studio application as shown below.</P><P><STRONG><U>How does it work? Let’s Check.</U></STRONG></P><P>Log into SAP BTP Cockpit and Navigate to “Instances and Subscriptions” under “Services” as highlighted below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_29-1711558240524.png" style="width: 582px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87647i747B918F47100581/image-dimensions/582x304?v=v2" width="582" height="304" role="button" title="TusharTrivedi_29-1711558240524.png" alt="TusharTrivedi_29-1711558240524.png" /></span></P><P>It will redirect to the sign in options screen of the SAP. Here, select SAP cloud identity service as an identity provider.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_30-1711558240534.png" style="width: 583px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87649iBB43174F0F6B5561/image-dimensions/583x306?v=v2" width="583" height="306" role="button" title="TusharTrivedi_30-1711558240534.png" alt="TusharTrivedi_30-1711558240534.png" /></span></P><P>Once you select, it will redirect to the verify sign in option screen for a authentication. Here you can select a different sign in option for Verify or can log in with IBM id/Cloud directory.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_31-1711558240543.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87650i48ED1F1BEB730AAE/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="TusharTrivedi_31-1711558240543.png" alt="TusharTrivedi_31-1711558240543.png" /></span></P><P>Enter your IBMid for log in and click the continue button.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_32-1711558240557.png" style="width: 583px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87651iE87EDDC24774E25E/image-dimensions/583x305?v=v2" width="583" height="305" role="button" title="TusharTrivedi_32-1711558240557.png" alt="TusharTrivedi_32-1711558240557.png" /></span></P><P>&nbsp;<SPAN>It will redirect you for w3 authentication screen where you can enter your w3 id &amp; password.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_33-1711558240565.png" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87653i9F758C1762A1DA16/image-dimensions/580x304?v=v2" width="580" height="304" role="button" title="TusharTrivedi_33-1711558240565.png" alt="TusharTrivedi_33-1711558240565.png" /></span></P><P>Once you click on sign in, you will see below screen of SAP business application studio.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_34-1711558240572.png" style="width: 582px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87652i3AE86427757EF2BF/image-dimensions/582x306?v=v2" width="582" height="306" role="button" title="TusharTrivedi_34-1711558240572.png" alt="TusharTrivedi_34-1711558240572.png" /></span></P><P>Click on the “OK” button and you will be redirected to the SAP Business Application Studio home screen.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="TusharTrivedi_35-1711558240600.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87654i00A7A88933D64B54/image-dimensions/581x304?v=v2" width="581" height="304" role="button" title="TusharTrivedi_35-1711558240600.png" alt="TusharTrivedi_35-1711558240600.png" /></span></P><P><STRONG><U>Conclusion</U></STRONG></P><P>To summarise, combining IBM Security Verify with SAP Cloud Identity Services via SAML 2.0 provides a strong solution for organisations wishing to:<BR /><BR /><U>Enhance security</U>: By implementing multi-factor authentication and centralised user management, businesses may greatly minimise the risk of unauthorised access to vital data and applications.</P><P><U>Improve the user experience</U>: SAML 2.0 integration offers single sign-on, which allows users to access various applications with a single login, eliminating login fatigue and increasing overall user experience.</P><P><U>Simplify identity management</U>: Consolidating identity management across several platforms allows organisations to streamline administration operations and reduce the complexity of managing user access.</P><P>Overall, this integration enables organisations to achieve a balance between strong security and a user-friendly interface, building trust and confidence in this digital era.</P> 2024-04-02T10:29:43.856000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/single-sign-on-to-sap-cloud-integration-cpi-runtime-from-an-external/ba-p/13655108 Single Sign On to SAP Cloud Integration (CPI runtime) from an external Identity Provider 2024-04-11T06:53:39.270000+02:00 vinayak_adkoli https://community.sap.com/t5/user/viewprofilepage/user-id/216068 <H2 id="toc-hId-990764901"><STRONG>Introduction:</STRONG></H2><P>Yes, you read it right (and you read it right here !). There is an <U>out-of-the-box</U> approach to achieving a single sign-on (SSO) experience for user flows between a corporate identity provider (that authenticates and authorizes the user) and a tenant of Cloud Integration runtime (loosely called CPI worker) fully within the BTP ecosystem.</P><P>Ok, let’s zoom out a bit and break this down.</P><P>If you are reading this blog post, you probably know already that SAP BTP Services can leverage the <U>OpenID Connect</U> federation-based mechanics of SAP Cloud Identity Service (read: SAP IAS) to connect users from corporate Identity Providers like Entra ID (formerly known as Azure AD), Okta, etc. to XSUAA BTP’s OAuth Authorization Server.<BR />This is certainly not uncharted and I did a detailed <A href="https://community.sap.com/t5/technology-blogs-by-sap/single-sign-on-to-sap-integration-suite-sap-api-business-hub-enterprise-via/ba-p/13573716" target="_self">blog post</A> a few months ago demonstrating this setup.</P><P>However, this setup applied mostly to browser-based SaaS applications (<EM>read</EM>: Design Time applications with a web frontend), and that brings us to the objective of this blog -&gt; Customers want to put together a similar setup for their client applications that interface with SAP Cloud Integration’s IFLows (in other words, the CPI runtime).<BR />Certainly, this is not impossible to achieve and solution blueprints like these have existed in the past:</P><UL><LI>My colleague Francisco’s <A href="https://community.sap.com/t5/technology-blogs-by-sap/principal-propagation-in-sap-integration-suite-from-external-system-to-an/ba-p/13543111" target="_blank">blog</A> puts API Management in between a client and Cloud Integration and enforces API Management to perform an OAuthSAMLBearer handshake.</LI><LI>Microsoft champion Martin Raepple <A href="https://community.sap.com/t5/technology-blogs-by-members/principal-propagation-in-a-multi-cloud-solution-between-microsoft-azure-and/ba-p/13479950" target="_blank">teaches</A> how to set up SAML Trust between Entra ID Identity Provider and BTP to set up a user impersonation flow.</LI></UL><P>However, these approaches were often seen as cumbersome to set up / troubleshoot and certainly not for the faint-hearted!</P><H2 id="toc-hId-794251396"><STRONG>Solution Summary:</STRONG></H2><P>An easier solution can be described in two phrases: '<FONT face="terminal,monaco" color="#993366">OpenID Connect</FONT>' and '<FONT face="terminal,monaco" color="#993366">Authorization Code</FONT> grant type'. If you are super-smart then you've figured it out already. You can stop reading this blog and hack this yourself.<BR />I wish you a nice day ahead! If you are like me and need a bit more explanation, keep reading <span class="lia-unicode-emoji" title=":slightly_smiling_face:">🙂</span></P><P>Here is the solution blueprint that explains that handshake:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/93034i23EDF7DB077BF799/image-size/large?v=v2&amp;px=999" role="button" title="Picture1.png" alt="Picture1.png" /></span></P><P style=" text-align: center; "><FONT size="2"><EM><STRONG>SCENARIO</STRONG>: Flows that require end-user authentication from external Identity Providers can natively do so with OIDC and Authorization Code grant type</EM></FONT></P><P><STRONG>Step 0:</STRONG> Generate Service Instance / Service Key SAP Cloud Integration Runtime. Refer to <A href="https://help.sap.com/docs/cloud-integration/sap-cloud-integration/specifying-service-instance-and-service-key-parameters-in-json-format" target="_self" rel="noopener noreferrer">this</A> link. Instead of <FONT face="terminal,monaco" color="#993366">Client Credentials</FONT>&nbsp;make sure to select&nbsp; <FONT face="terminal,monaco" size="3" color="#993366">Authorization Code</FONT>.</P><P><STRONG>Step 1:</STRONG> Onboard the needed corporate identity providers in SAP IAS and set up the 'Application' that connects back to your SAP BTP Subaccount as a <U>Trusted Identity Provider</U> via OpenID Connect. Refer to my <A href="https://community.sap.com/t5/technology-blogs-by-sap/single-sign-on-to-sap-integration-suite-sap-api-business-hub-enterprise-via/ba-p/13573716" target="_blank">previous</A> blog post for a detailed procedure.&nbsp;</P><P><STRONG>Step 2:</STRONG> Client (end-user)&nbsp; initiates a connection to the required IFlow (or API artifact). This kicks off the 3-legged OAuth user login flow.</P><P data-unlink="true"><STRONG>Step 3:</STRONG> As the user is not signed in, she is redirected to XSUAA's login endpoint, and upon login the IAS tenant's&nbsp;<SPAN>&nbsp;OAuth server authorization endpoint at&nbsp;</SPAN><EM>https://&lt;IAS&nbsp;<SPAN>&nbsp;</SPAN>tenant name&gt;.accounts.ondemand.com</EM><EM>/oauth2/authorize </EM>is invoked using the authorization code grant type. The details of the actual federation as part of the handshake have been omitted here for simplicity. But suffice it to say that the authorization code from the identity provider is made available to the IAS's callback endpoint and finally made available to XSUAA's authorize endpoint and exchanged for the actual access token. This access token will bear the user's scopes and role permissions needed to access the Cloud Integration's IFlow resource.&nbsp;</P><P><STRONG>Step 4:</STRONG> Once successfully authorized, on the receiver side of the IFlow, we will establish connections to 3 different types of backends for illustration purposes. <U>a)</U> S/4HANA Onpremise system over Cloud Connector and Principal Propagation <U>b)</U> SuccessFactors and <U>c)</U> S/4HANA Cloud with <U>OAuth2 SAMLBearer</U> Assertion security material.&nbsp;</P><H2 id="toc-hId-597737891">Putting it all together:</H2><P>Let's get our hands dirty by putting together the sequence now. The prerequisites to follow along are listed below:</P><UL><LI>Administrator privileges in the BTP subaccount where the Integration Suite subscription exists.</LI><LI>An IAS Tenant (with Administrator privileges) that can be coupled (<EM>read</EM>: Trusted) with the said BTP Subaccount.</LI><LI>Privileges to create Applications (<EM>read</EM>: IDP configurations) in Entra ID (Azure AD) and/or Okta.</LI><LI>Postman Client.</LI><LI>Backend systems to which the frontend user principal can be propagated to. Either of S/4HANA OnPrem, S/4HANA Cloud, or SuccessFactors tenant.</LI></UL><H3 id="toc-hId-530307105"><SPAN>Step 0: Create a Service Instance for the Authorization Code grant type</SPAN></H3><P><SPAN>Create an instance of the '<U>Process Integration Runtime</U>' Service (integration-flow service plan)&nbsp; specifically with the <FONT face="terminal,monaco" color="#993366">authorization code</FONT> grant type. You can copy the JSON snippet pasted below. Do not worry about the location of the <FONT face="terminal,monaco" color="#993366">redirect_uri</FONT>. (When we get down to testing the flow, the browser will invoke the redirect_uri, but this has no consequence as the 'code' will be available for us to copy as a query parameter from the URL itself. When we test this from Postman the client, Postman does not invoke the URL. If you are curious to know, you can read about it <A href="https://stackoverflow.com/questions/62760501/how-does-postman-handle-localhost-oauth-2-redirects" target="_self" rel="nofollow noopener noreferrer">here</A>.) Also, make a note that we have specified <FONT face="terminal,monaco" color="#993366">refresh_token</FONT> as part of the requested grant type. This will let us demonstrate the ability for clients to refresh the access token post-expiry.&nbsp;</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-json"><code>{ "grant-types": [ "refresh_token", "authorization_code" ], "redirect-uris": [ "http://localhost" ], "roles": [ "ESBMessaging.send" ] }</code></pre><P>&nbsp;</P><P>With the service instance created, generate a service key (example block is pasted below). Grab the <FONT face="terminal,monaco" color="#993366">clientid</FONT>, <FONT face="terminal,monaco" color="#993366">clientsecret</FONT>, <FONT face="terminal,monaco" color="#993366">authorizationurl</FONT>, <FONT face="terminal,monaco" color="#993366">tokenurl</FONT> attributes. We will need these later.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-05 at 8.58.50 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92480iC725C39BBB316413/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-05 at 8.58.50 PM.png" alt="Screenshot 2024-04-05 at 8.58.50 PM.png" /></span></P><P>&nbsp;</P><H3 id="toc-hId-333793600">Step 1: Configure OpenID Connect based Trusted Identity Provider of SAP IAS in your SAP BTP subaccount</H3><P>This step is the <EM>heart-and-soul</EM> of our approach. We will couple an SAP IAS tenant with our BTP subaccount that has the subscription of our SAP Cloud Integration (SAP Integration Suite) tenant using OpenID Connect protocol and then onboard the desired external Identity Providers (I will demonstrate Entra ID and Okta) as corporate identity providers in the IAS administration console.<BR />Since I've documented the steps in my previous blog, I will not repeat the exact steps here. Please refer to the following sections in the <A href="https://community.sap.com/t5/technology-blogs-by-sap/single-sign-on-to-sap-integration-suite-sap-api-business-hub-enterprise-via/ba-p/13573716" target="_self">linked</A> blog.</P><P>&nbsp;</P><TABLE border="1" width="100%"><TBODY><TR><TD width="45.2319587628866%" height="30px"><STRONG>Objective</STRONG></TD><TD width="54.7680412371134%" height="30px"><STRONG>Steps to follow from the linked blog</STRONG></TD></TR><TR><TD width="45.2319587628866%" height="57px"><SPAN>Couple your BTP subaccount and your SAP IAS tenant.</SPAN></TD><TD width="54.7680412371134%" height="57px">Steps 1-6</TD></TR><TR><TD width="45.2319587628866%" height="85px"><SPAN>Configure applications (relying party) in Azure AD and Okta IDP based on OpenID Connect and SAP IAS as the callback URI.</SPAN></TD><TD width="54.7680412371134%" height="85px">Steps&nbsp;<SPAN>7 - 25</SPAN></TD></TR><TR><TD width="45.2319587628866%" height="57px"><SPAN>Configure application in Okta with SAML Trust to SAP IAS.</SPAN></TD><TD width="54.7680412371134%" height="57px">Steps <SPAN>26 - 33</SPAN></TD></TR><TR><TD width="45.2319587628866%" height="57px"><SPAN>Onboard the above Corporate Identity Provider configurations into SAP IAS.</SPAN><SPAN><BR /></SPAN></TD><TD width="54.7680412371134%" height="57px">Steps <SPAN>34 - 46</SPAN></TD></TR><TR><TD width="45.2319587628866%" height="57px"><SPAN>configure IAS as the proxy Identity Provider and SAP BTP as the Service Provider.</SPAN></TD><TD width="54.7680412371134%" height="57px">Steps <SPAN>47 - 52</SPAN></TD></TR></TBODY></TABLE><P>Nevertheless, here is a summary of the main steps involved in the setup.</P><P>1. The subaccount where the Integration Suite subscription exists has a 'Trusted connection' with the OpenID Connect protocol (not SAML) to the IAS tenant.</P><H3 id="toc-hId-137280095"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.54.43 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92370i2923FA725D32E9FB/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.54.43 PM.png" alt="Screenshot 2024-04-06 at 9.54.43 PM.png" /></span></H3><P>2. The IAS tenant has a '<U>Corporate Identity provider</U>' connection to Azure AD (Entra ID) via a set of Application credentials and OpenID Connect protocol.</P><H3 id="toc-hId--59233410"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.38.55 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92371i46791EF93D74A62B/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.38.55 PM.png" alt="Screenshot 2024-04-06 at 9.38.55 PM.png" /></span></H3><H3 id="toc-hId--255746915">&nbsp;</H3><P>3. Notice the '<U>Application</U>' settings on the <U>Azure</U> side. The redirect URI has been set to the IAS tenant's '<FONT face="terminal,monaco" color="#993366">../oath2/callback</FONT>' segment</P><H3 id="toc-hId--452260420"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.36.29 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92373i509F15FCA90FD4E7/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.36.29 PM.png" alt="Screenshot 2024-04-06 at 9.36.29 PM.png" /></span></H3><P>4.&nbsp;The IAS tenant has a '<U>Corporate Identity provider</U>' connection to <U>Okta IDP</U> via a set of Application credentials and OpenID Connect protocol.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.39.59 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92432i776D80A7FA5F374B/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.39.59 PM.png" alt="Screenshot 2024-04-06 at 9.39.59 PM.png" /></span></P><P>&nbsp;</P><P>5. Notice the '<U>Application</U>' settings on the Okta side. The redirect URI has been set to the IAS tenant's '<FONT face="terminal,monaco" color="#993366">../oath2/callback</FONT>' segment.</P><H3 id="toc-hId--648773925"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.37.38 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92374i81E6E2901B08DC4C/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.37.38 PM.png" alt="Screenshot 2024-04-06 at 9.37.38 PM.png" /></span></H3><P>6. We will not leverage this flow in our demonstration but note that it is very much possible to use <U>SAML bindings</U> between the Corporate Identity Provider and IAS. The federation works exactly as OIDC.</P><H3 id="toc-hId--920518799"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 10.45.14 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92375iD2A2E55CFA07BCE7/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 10.45.14 PM.png" alt="Screenshot 2024-04-06 at 10.45.14 PM.png" /></span></H3><P>&nbsp;</P><P>7. Next, we want to demonstrate a dynamic / Group assertion / <U>Role Collection</U> based user role/authorization determination. For that note that on the Azure side, we have a group called '<U>IntegrationDevelopers</U>' that contains the users who must be authorized to call the IFlow / API on the Cloud Integration side.&nbsp;</P><H3 id="toc-hId--1117032304"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.46.09 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92376i8C5DCA173138645F/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.46.09 PM.png" alt="Screenshot 2024-04-06 at 9.46.09 PM.png" /></span></H3><P>8. Notice how the 'g<U>roups</U>' claim on the IAS side resolves to the value of the group from Azure.</P><H3 id="toc-hId--1313545809"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.44.09 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92378iBDD9051E0C87D093/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.44.09 PM.png" alt="Screenshot 2024-04-06 at 9.44.09 PM.png" /></span></H3><P>9. Similarly, see that the target user has been assigned to the '<U>IntegrationSuiteDevelopers'</U>&nbsp;Group in Okta.</P><H3 id="toc-hId--1510059314"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.41.35 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92379iCF54AEA938541828/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.41.35 PM.png" alt="Screenshot 2024-04-06 at 9.41.35 PM.png" /></span></H3><P>10. Okta presents the user's '<U>Groups</U>' claim to IAS that XSUAA will resolve in a later step.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 9.44.47 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92453iC8468488FC669780/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 9.44.47 PM.png" alt="Screenshot 2024-04-06 at 9.44.47 PM.png" /></span></P><P>11. As a last configuration step, notice that there is a RoleCollection on the BTP side (with the '<U>MessagingSend</U>' role assigned) mapped to the respective groups from the source identity providers.</P><H3 id="toc-hId--1706572819"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-06 at 10.16.35 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92380iC7EA847196B55E73/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-06 at 10.16.35 PM.png" alt="Screenshot 2024-04-06 at 10.16.35 PM.png" /></span></H3><P>&nbsp;</P><H3 id="toc-hId--1903086324">Step 2 &amp; 3: Initiate the client flow.</H3><P>The easiest way to demonstrate a client flow is to do so in <U>Postman</U> which natively supports simulating an OAuth 2.0 3-legged Authorization Code grant flow. We can break down the segments of the 3-legged flow in a <U>browser</U> as well. I will demonstrate both of these user agents.</P><P>Summary of the steps about to be performed in this section</P><TABLE border="1" width="100%"><TBODY><TR><TD width="50%"><STRONG>Objective</STRONG></TD><TD width="50%"><STRONG>Steps</STRONG></TD></TR><TR><TD width="50%">Use Postman to set up Authorization Code flow with Okta Identity Provider</TD><TD width="50%">1-8</TD></TR><TR><TD>Use Postman to set up Authorization Code flow with Entra ID Identity Provider</TD><TD>9</TD></TR><TR><TD width="50%">Usage of Refresh Tokens</TD><TD width="50%">13-14</TD></TR><TR><TD>Use Browser to set up Authorization code flow with Identity Providers</TD><TD>15-18</TD></TR></TBODY></TABLE><P>1. Within the '<FONT face="terminal,monaco" color="#993366">Authorization</FONT>' tab in Postman, set the '<FONT face="terminal,monaco" color="#993366">Type</FONT>' to '<FONT face="terminal,monaco" color="#993366">OAuth 2.0</FONT>' and the '<FONT face="terminal,monaco" color="#993366">Grant type</FONT>' to '<FONT face="terminal,monaco" color="#993366">Authorization Code</FONT>'.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.15.05 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92461i98EB5D2D021225FD/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.15.05 AM.png" alt="Screenshot 2024-04-07 at 11.15.05 AM.png" /></span></P><P>2. Enter the values for the <FONT face="terminal,monaco"><FONT color="#993366">Callback URL</FONT>, <FONT color="#993366">Auth URL</FONT>, <FONT color="#993366">Access Token URL</FONT>, <FONT color="#993366">Client ID</FONT>, <FONT color="#993366">Client Secret</FONT></FONT>&nbsp;from the values saved in the Step 0 block above.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.15.39 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92468i5508D569B3F6918F/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.15.39 AM.png" alt="Screenshot 2024-04-07 at 11.15.39 AM.png" /></span></P><P>3. Click on '<U>Get New Access Token</U>'. Make sure to turn on the '<U>Console</U>' tab at the bottom to keep track of requests and responses across the wire.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.16.06 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92470iD8B6C992154608E8/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.16.06 AM.png" alt="Screenshot 2024-04-07 at 11.16.06 AM.png" /></span></P><P>4. Postman will launch the Logon pop-up from BTP's Authorization Server. Notice that you are presented with a list of Identity Providers to log into as configured in BTP's Trust Management section. Select the one that corresponds to your IAS Tenant.<BR />Pay attention to the GET requests in the Console tab. You will see that the request to the 'authorize' resource is being redirected to the login page.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.16.34 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92471i6DDB9ED43F11866D/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.16.34 AM.png" alt="Screenshot 2024-04-07 at 11.16.34 AM.png" /></span></P><P>5. The system will prompt you to present the user identifier, this will serve as an input to the 'Conditional Authentication' block set in the IAS tenant to resolve which corporate identity provider to redirect to, for the user logon challenge.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.16.57 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92472i5D854A4F4A5EE4E0/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.16.57 AM.png" alt="Screenshot 2024-04-07 at 11.16.57 AM.png" /></span></P><P>6. The system determines that the challenge should come from Okta IDP for my <EM>*.sap.com</EM> user name. Please refer to the '<U>Conditional Authentication</U>' screenshot to get a summary of the determination process.<BR />In the 'Console' section, make a note of how the callbacks are handled.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Conditional Authentication section in SAP IAS" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94888i08E3F205BCA248EF/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-10 at 9.32.30 PM.png" alt="Conditional Authentication section in SAP IAS" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Conditional Authentication section in SAP IAS</span></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.17.19 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92473i7BA023461B56F428/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.17.19 AM.png" alt="Screenshot 2024-04-07 at 11.17.19 AM.png" /></span></P><P>7. Okta will authenticate the user and present back the '<FONT face="terminal,monaco" color="#993366">authorization code</FONT>' to IAS.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.17.23 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92474iEAFD77C181E2CDBC/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.17.23 AM.png" alt="Screenshot 2024-04-07 at 11.17.23 AM.png" /></span></P><P>8. Finally the client will exchange the authorization code for the <FONT face="terminal,monaco" color="#993366">access token</FONT> from the configured token endpoint.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.17.30 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92475i3FCE2A6A26E6ECB8/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.17.30 AM.png" alt="Screenshot 2024-04-07 at 11.17.30 AM.png" /></span></P><P>9. Let us now perform steps nos. 3-8 again, but this time let us log in with our <EM>*.outlook.com</EM> user that gets authenticated and authorized from Entra ID (Azure AD).</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 5.57.54 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/93040i2DB4528BC41E8F77/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 5.57.54 PM.png" alt="Screenshot 2024-04-08 at 5.57.54 PM.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 5.55.56 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/93041iFDA69D400BF70E20/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 5.55.56 PM.png" alt="Screenshot 2024-04-08 at 5.55.56 PM.png" /></span></P><P>10. Upon inspection, you will note that the access token issued by XSUAA has the '<FONT face="terminal,monaco" color="#993366">ESBMessaging.send</FONT>' scope as determined by the '<FONT face="terminal,monaco" color="#993366">Groups</FONT>' claim presented by the source IDP. You will remember that we created a mapping for this resolution in a previous step. Also, note that the system bears a <FONT face="terminal,monaco" color="#993366">refresh_token</FONT>.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.17.51 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92476i13000808DE7417E9/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.17.51 AM.png" alt="Screenshot 2024-04-07 at 11.17.51 AM.png" /></span></P><P>11. Further, if you inspect the respective JWTs issued by Okta and Entra ID, you will see that the tokens contain the claims that represent the <U>Groups</U>, <U>RoleCollections</U>, and <U>User</U> Identifier info.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 6.02.17 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/93038iDF074F57326C609D/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 6.02.17 PM.png" alt="Screenshot 2024-04-08 at 6.02.17 PM.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 6.01.10 PM.png" style="width: 982px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/93039i00D82A733F67F3CD/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 6.01.10 PM.png" alt="Screenshot 2024-04-08 at 6.01.10 PM.png" /></span></P><P>12. Simply go ahead and '<U>Use Token</U>' to load the token to make your request.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 11.18.01 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92477i0BF06E608D43D2AA/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 11.18.01 AM.png" alt="Screenshot 2024-04-07 at 11.18.01 AM.png" /></span></P><P>13. Using the refresh_token -&gt; Notice that the token will expire after a set duration (based on the 'expiry' setting). As you can see in the screenshot below, Postman detects that the available token is expired. It gives an option to '<U>Refresh</U>' the token. Click on this button.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 12.58.21 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92484i6CD290951A002C25/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 12.58.21 PM.png" alt="Screenshot 2024-04-07 at 12.58.21 PM.png" /></span></P><P>14. Make a note in the Console tab that the client POSTs to the token endpoint with the available refresh_token and the refresh_token grant_type to get a fresh access token.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-07 at 12.59.15 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92485i844B14E9BCCE1FBB/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-07 at 12.59.15 PM.png" alt="Screenshot 2024-04-07 at 12.59.15 PM.png" /></span></P><P>15. In the next screenshots, let us perform the same set of steps in a browser.&nbsp;We will need to frame the URL to the <FONT face="terminal,monaco" color="#993366">/oauth/authorize</FONT> endpoint. The easiest way to do so would be to copy the URL from the Postman Console we referred to before. The URL is in the format :</P><PRE><A target="_blank" rel="noopener">https://&lt;tenant-id&gt;&gt;/authentiation.&lt;dc&gt;.hana.ondemand.com/oauth/authorize<SPAN>?<BR />response_type=code&amp;client_id=&lt;url-encoded-client-id&gt;&amp;redirect_uri=&lt;url-encoded_redirect_uri&gt;</SPAN></A></PRE><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 8.58.56 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92933i2E3BE633C8DBD648/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 8.58.56 AM.png" alt="Screenshot 2024-04-08 at 8.58.56 AM.png" /></span></P><P>16. Invoke the URL in a browser.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 9.24.05 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92934iCE3000E772A66A02/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 9.24.05 AM.png" alt="Screenshot 2024-04-08 at 9.24.05 AM.png" /></span></P><P>17. After the 'login' and 'authenticate' procedures, you will see that the browser is redirected to the redirect_uri location. You can copy the '<FONT face="terminal,monaco" color="#993366">code</FONT>' parameter from the URL.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 8.59.57 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92935i642C2B58390DCE85/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 8.59.57 AM.png" alt="Screenshot 2024-04-08 at 8.59.57 AM.png" /></span></P><P>18. Go back to Postman and POST the Access Token endpoint with the <FONT face="terminal,monaco" color="#993366">grant_type</FONT> set to <FONT face="terminal,monaco" color="#993366">authorization_code</FONT> and the copied <FONT face="terminal,monaco" color="#993366">code</FONT> and the <FONT face="terminal,monaco" color="#993366">redirect_uri</FONT>. The server will respond with the <FONT face="terminal,monaco" color="#993366">access_token</FONT> with the same set of attributes populated as demonstrated in Step 11.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-08 at 9.03.29 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92936iBAA309680685FF77/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-08 at 9.03.29 AM.png" alt="Screenshot 2024-04-08 at 9.03.29 AM.png" /></span></P><H3 id="toc-hId--2099599829">&nbsp;</H3><H3 id="toc-hId-1998853962">Step 4: Integration Flow Reciever side propagation</H3><P>Now that we have an <FONT face="terminal,monaco" color="#993366">access_token</FONT> that can be presented to the Cloud Integration runtime (to a 'Sender Adapter'), let us put together a simple IFlow that can demonstrate the fact that the user's identity from the external identity provider can be propagated to 3 backend systems - <U>a)</U> S/4HANA Onpremse, <U>b)</U> SuccessFactors and <U>c)</U> S/4HANA Cloud via <U>Principal Propagation</U> and <U>OAuth2SAMLBearer</U> mechanisms respectively.</P><P>Here is a summary of the steps we intend to achieve:</P><TABLE border="1" width="100%"><TBODY><TR><TD width="50%"><STRONG>Objective</STRONG></TD><TD width="50%"><STRONG>Steps</STRONG></TD></TR><TR><TD width="50%">Create a sample IFlow that demonstrates the user propagation sequence to 3 different types of backend systems.</TD><TD width="50%">1-2</TD></TR><TR><TD width="50%">Invoke S4HANA Cloud backend&nbsp;</TD><TD width="50%">3 - 7</TD></TR><TR><TD>Invoke SAP SuccessFactors backend</TD><TD>8 - 13</TD></TR><TR><TD>Invoke SAP S/4HANA Onpremise backend</TD><TD>14 - 17</TD></TR></TBODY></TABLE><P>1. Let's start by putting together a simple IFlow to illustrate the user propagation flow. Since we are planning to invoke with 3 backends, the quickest way to demonstrate this would be to create a <U>Router</U> that has 3 branches. Each with a 'Request-Reply' step for the backend type, S/4HANA Cloud, SuccessFactors, and S/4HANA OnPremise respectively.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.04.01 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94321iB1506DA98BBAAA08/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.04.01 PM.png" alt="Screenshot 2024-04-09 at 5.04.01 PM.png" /></span></P><P>2. The logic we will follow is that the client passes a value in a custom header named 'target' that shall determine which of the routes is to be invoked.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.11.04 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94329iDAD95FEA401ADF4F/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.11.04 PM.png" alt="Screenshot 2024-04-09 at 5.11.04 PM.png" /></span></P><P>3. In the property sheet of the HTTP Receiver for S/4HANA Cloud backend, notice that we've used a credential named '<FONT face="terminal,monaco" color="#993366">s4hanaCloudCredentials</FONT>' with the OAuth2 SAML Bearer Assertion type.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.04.51 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94322i510E3E684E9F63B9/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.04.51 PM.png" alt="Screenshot 2024-04-09 at 5.04.51 PM.png" /></span></P><P>4. I will not get into the details behind how the attributes of this Security Material have been formulated. Refer to parts of&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/how-to-get-principal-propagation-from-cloud-foundry-to-s-4hana-cloud-with/ba-p/13534051" target="_self">this</A> blog post for details. The points worth mentioning here are that <U>a)</U> we are using the target system type <U>SAP BTP (CF)</U> and<U> b)</U> the '<FONT face="terminal,monaco" color="#993366">userIdSource'</FONT>&nbsp;attribute is annotated for '<FONT face="terminal,monaco" color="#993366">email</FONT>' &amp; nameIdFormat is set to '<FONT face="terminal,monaco" color="#993366">urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</FONT>', thereby implying that the user identifier from our original JWT token negotiated with the corporate identity provider will serve as the user principal to be propagated.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.08.29 PM.png" style="width: 833px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94324iB398FD91A28BDD12/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.08.29 PM.png" alt="Screenshot 2024-04-09 at 5.08.29 PM.png" /></span></P><P>5. Let us make a call to the IFlow URL with the access token set from step 8 described in the above section. Note that we've set the 'target' header attribute to 's4hanacloud'&nbsp; so that the call gets executed in the first route. We get an HTTP 200 OK and the service document as the response and there you have it! We were able to successfully propagate the user from an external identity provider and execute a call in an S/4HANA backend with the user's context.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.11.42 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94328i421B86AB9618EB8D/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.11.42 PM.png" alt="Screenshot 2024-04-09 at 5.11.42 PM.png" /></span></P><P>6. How do I prove my point that the user was indeed propagated? The next two screenshots do so. Note that on the S/4HANA side, I have a 'Business User' that bears my (that is propagated from Okta) emailID. Also, note that the HTTP Call is executed with this user context and NOT with a Communication User (technical user) attached to the Communication Arrangement.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 4.24.48 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94326i27A22AD5685783C2/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 4.24.48 PM.png" alt="Screenshot 2024-04-09 at 4.24.48 PM.png" /></span></P><P>7. Further to prove my point, I execute step no. 5, this time by presenting my *@outlook.com user (that comes from Entra ID), you see that the call fails and the error description calls out that the backend was not able to resolve the presented *.outlook.com user.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.13.21 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94327i890B800F01F00C1B/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.13.21 PM.png" alt="Screenshot 2024-04-09 at 5.13.21 PM.png" /></span></P><P>8. Let us now look at the 2nd route, the one that invokes a SuccessFactors URL. We extend the same 'OAuthSAMLBearer Assertion' type with a credential named 'SFSFUserPrincipal'. On the processing tab, you will see that I'm invoking a GET Query on the JobProfile resource.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.06.05 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94332iB3049CBDC9B0A638/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.06.05 PM.png" alt="Screenshot 2024-04-09 at 5.06.05 PM.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-10 at 8.36.23 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94884i647EB0D62F0D3B36/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-10 at 8.36.23 PM.png" alt="Screenshot 2024-04-10 at 8.36.23 PM.png" /></span></P><P>9. In the details of the Security Material, note that we've set the attributes per SuccessFactors <A href="https://help.sap.com/docs/SAP_SUCCESSFACTORS_EMPLOYEE_CENTRAL/736e8ee2ac8943c7b6278039a7924e97/3a77fab602834ca686824555f7560d70.html?version=2205" target="_blank" rel="noopener noreferrer">documentation</A>. The User ID is set for principal propagation. Like before, we've used the same <FONT face="terminal,monaco" color="#993366">nameIdFormat</FONT> as set in step 4 above, and don't forget to include the <FONT face="terminal,monaco" color="#993366">apiKey</FONT> attribute as well.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.09.01 PM.png" style="width: 966px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94333iE5CE169F04974F33/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.09.01 PM.png" alt="Screenshot 2024-04-09 at 5.09.01 PM.png" /></span></P><P>10. Let us now invoke the IFlow, this time around with the header 'target' set to 'sfsf'. I get back a response from SuccessFactors with the JobProfile details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.16.44 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94334i265F9EF4FBB1193A/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.16.44 PM.png" alt="Screenshot 2024-04-09 at 5.16.44 PM.png" /></span></P><P>11. Again, <EM>how do we prove that the call indeed was made in the signed-in user's context</EM>? There are many ways to establish this. A simple way I followed was to put a 'proxy' layer like API Management before the call hits the SuccessFactors backend and print out the '<U>Bearer token</U>' from the '<U>Authorization</U>' header.&nbsp; Upon Base64 decoding the token, you will see that the token bears a '<U>sfPrinciple</U>' attribute with the employee ID identifier.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 2.54.16 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94335i5FCCE4AFBD05E781/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 2.54.16 PM.png" alt="Screenshot 2024-04-09 at 2.54.16 PM.png" /></span></P><P>12. Look up the employee profile of the user in question in your SuccessFactors tenant and you can verify the matching employee ID and the corresponding email address.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 2.53.41 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94336i749BE4BD06089628/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 2.53.41 PM.png" alt="Screenshot 2024-04-09 at 2.53.41 PM.png" /></span></P><P>13. Negative testing -&gt; If I perform the call again, this time by signing in with the email address from Entra ID you should see a 401 unauthorized exception stating that the propagated user wasn't resolved.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.15.20 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94337iC1819ED14B8CBFF6/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.15.20 PM.png" alt="Screenshot 2024-04-09 at 5.15.20 PM.png" /></span></P><P>14. Finally, we are down to the last segment of our testing. A connection to S/4HANA On-premise. I've configured an SAP Cloud Connector and an X.509 certificate signing procedure (that is beyond the scope of this demonstration) and have dialed 'Principal Propagation' for the authentication type.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.06.26 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94413i1D03B76E1099D38B/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.06.26 PM.png" alt="Screenshot 2024-04-09 at 5.06.26 PM.png" /></span></P><P>15. Invoking the client this time around with the 'target' header set to 's4hanaonpremise'. I get back a response from the server with my service document for the invoked GWSAMPLE_BASIC OData service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-10 at 9.42.33 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94889i5506CCA84879D9A5/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-10 at 9.42.33 PM.png" alt="Screenshot 2024-04-10 at 9.42.33 PM.png" /></span></P><P>16. As a quick verification step, let us go to the 'Monitor' section in the Cloud Connector and within the 'Most Recent Requests' tab, you can see a record for the 'User' that was propagated.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 4.54.26 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94414i8899BAAC3848E6E0/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 4.54.26 PM.png" alt="Screenshot 2024-04-09 at 4.54.26 PM.png" /></span></P><P>17. Open the LJSTrace log file and you can hunt down a log entry that corresponds to the user subject that was propagated via the short-lived x.509 certificate.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2024-04-09 at 5.02.03 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94415iC16607E26C47C404/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-04-09 at 5.02.03 PM.png" alt="Screenshot 2024-04-09 at 5.02.03 PM.png" /></span></P><P><EM>Phew!</EM></P><H2 id="toc-hId-2095743464">Summary:</H2><P>It is beyond doubt that '<FONT face="terminal,monaco" color="#993366">client credentials</FONT>' and '<FONT face="terminal,monaco" color="#993366">x.509 certificate</FONT>' are the two most prominent and widely popular ways to authenticate to an Integration Flow / API artifact in SAP Integration Suite, but should you have a requirement to authenticate and authorize with the client user's identity from a corporate Identity Provider, OpenID Connect support from SAP Cloud Identity Service along with the <FONT face="terminal,monaco" color="#993366">Authorization Code</FONT> grant type in SAP Integration Suite provide an excellent and out-of-box approach to get your job done.</P><P>Cheers, and more power to the&nbsp; <a href="https://community.sap.com/t5/c-khhcw49343/SAP+Integration+Suite/pd-p/73554900100800003241" class="lia-product-mention" data-product="23-1">SAP Integration Suite</a>&nbsp;&nbsp;Community!</P> 2024-04-11T06:53:39.270000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-secure-login-service-for-sap-gui-now-supports-custom-certificate/ba-p/13666599 SAP Secure Login Service for SAP GUI Now Supports Custom Certificate Authorities on AWS 2024-04-11T10:24:50.174000+02:00 Martina_K https://community.sap.com/t5/user/viewprofilepage/user-id/5013 <P><STRONG>The SAP Secure Login Service for SAP GUI solution provides your SAP GUI users with simple and secure access to their ABAP-based business applications. In March 2024, we released the long-awaited Custom Certificate Authority (CA) feature. You can now integrate your own Public Key Infrastructure (PKI) by connecting to a private CA hosted on Amazon Web Services (AWS).</STRONG></P><P>With the SAP Secure Login Service for SAP GUI, you can provide end users of SAP GUI with X.509 certificates that enable single sign-on (SSO) to ABAP-based business applications. After successful authentication, the SAP Secure Login Service provisions a short-lived X.509 certificate to the Secure Login Client on the end-user desktop. This certificate is then used for SSO to the ABAP systems. In the initial scope of the solution, the SAP-managed Cloud CA was used to sign these end user certificates.</P><P><FONT size="4"><STRONG>What’s new?</STRONG></FONT></P><P>With the newly released feature you now have the option to integrate your own PKI by connecting your cloud-based private CA running on Amazon Web Services (AWS) to the SAP Secure Login Service. After successful authentication of the end user, your private CA issues an X.509 certificate. And the SAP Secure Login Service then returns this X.509 certificate to the Secure Login Client on the end user desktop.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SAP Secure Login Service for SAP GUI - Custom CA AWS.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94949iB409141F953D0970/image-size/large?v=v2&amp;px=999" role="button" title="SAP Secure Login Service for SAP GUI - Custom CA AWS.jpg" alt="SAP Secure Login Service for SAP GUI - Custom CA AWS.jpg" /></span></P><P><FONT size="4"><STRONG>How does it work?</STRONG></FONT></P><P>By connecting your cloud-based private CA running on AWS, the X.509 certificates will be signed by your own customer-managed CA. The SAP Secure Login Service will just reuse your CA setup and provision the certificates to the Secure Login Client of the end users.</P><P>Configuration required for the token exchange, credentials for accessing AWS, and which AWS Private CA to be used can be configured in the administration console of SAP Secure Login Service (via the new tab “Custom CA”). This configuration is needed for secure token exchange and to ensure that only your SAP Secure Login Service subscription can be used to access your custom CA. And at the same time, that the certificates can only be used for SAP GUI SSO.</P><P>Of course, the certificates that are signed by your custom CA will look differently from the ones that are signed by the SAP Cloud Root CA. You can decide about the root, how many levels you want to have in there, and the names.</P><P>For configuration information, please refer to the documentation that is available on SAP Help Portal here:</P><P><SPAN><A href="https://help.sap.com/docs/SAP%20SECURE%20LOGIN%20SERVICE/c35917ca71e941c5a97a11d2c55dcacd/32875689a8654e0bb3c8697fb6947940.html" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP%20SECURE%20LOGIN%20SERVICE/c35917ca71e941c5a97a11d2c55dcacd/32875689a8654e0bb3c8697fb6947940.html</A></SPAN></P><P><FONT size="4"><STRONG>What are the benefits?</STRONG></FONT></P><P>For compliance reasons you might not be allowed to use the SAP-managed Cloud CA to sign the end user certificates but have to use a CA that is fully under your control. With the new feature you can now integrate with your custom CA running on AWS thereby having full control how the CA is set up. For example, the root of the CA, whether it is in the AWS CA or offline, and how the signed certificates will look like.</P><P><FONT size="4"><STRONG>More information</STRONG></FONT></P><P>For more information about our SAP Secure Login Service for SAP GUI solution and to stay up to date on the latest developments, visit our topic page in SAP Community:</P><P><SPAN><A href="https://pages.community.sap.com/topics/single-sign-on" target="_blank" rel="noopener noreferrer"><STRONG>https://pages.community.sap.com/topics/single-sign-on</STRONG></A></SPAN></P><P>&nbsp;</P> 2024-04-11T10:24:50.174000+02:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/influence-the-development-of-sap-enterprise-threat-detection-cloud-edition/ba-p/13687244 INFLUENCE THE DEVELOPMENT OF SAP ENTERPRISE THREAT DETECTION, CLOUD EDITION 2024-05-03T06:40:10.948000+02:00 KirtiSingh01 https://community.sap.com/t5/user/viewprofilepage/user-id/1447958 <P>Introducing influence page for SAP Enterprise Threat Detection, cloud edition.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KirtiSingh01_2-1714475829296.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103858i767BFD6748C29B56/image-size/large?v=v2&amp;px=999" role="button" title="KirtiSingh01_2-1714475829296.png" alt="KirtiSingh01_2-1714475829296.png" /></span></P><P>The SAP Enterprise Threat Detection product team are inviting customers and partners to share their feedback and ideas to enhance our solution.</P><P>On <A href="https://influence.sap.com/sap/ino/#/campaign/3606" target="_blank" rel="noopener noreferrer">SAP Enterprise Threat Detection, cloud edition Influence page</A> you can see all submitted requests, submit your improvement requests, vote and comment on other ideas.</P><P>The rationale and advantages of a customer influence page include:</P><UL><LI>Augmenting customers engagement and influence on product features.</LI><LI>Improving product/services using meaningful customer insights.</LI><LI>Cultivating an engaged community.</LI><LI>Serving as a central platform for customer suggestions and fueling innovation.</LI></UL><P>The product team regularly evaluates the ideas and considers them for roadmap planning. Votes help to priorities ideas along with other important selection criteria such as:</P><UL><LI><STRONG>DESIRABILITY</STRONG>: How many customers voted for this? How many customers will benefit from it?</LI><LI><STRONG>VIABILITY</STRONG>: Is this Improvement Request globally relevant? Is this in alignment with SAP’s strategy for the product?</LI><LI><STRONG>FEASIBILITY</STRONG>: Is the development effort realistic? Is this request achievable within the product’s architecture?</LI></UL><P>While this page is mainly for the public cloud edition, for private cloud and on-premise versions feel free to propose integration-related ideas.</P><P><STRONG>Follow the steps below to get access</STRONG>&nbsp;and start sharing your enhancement ideas:</P><UL><LI><STRONG>Go to</STRONG>&nbsp;<A href="https://influence.sap.com/sap/ino/#/campaign/3606" target="_blank" rel="noopener noreferrer">SAP Enterprise Threat Detection, cloud edition Influence page</A><U>.</U>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<UL class="lia-list-style-type-circle"><LI>In case you are a new user, create a user account using S-User-ID and accept the Terms of Use. Once the user is created you activate SSO and can access without any interruption.</LI></UL></LI></UL><UL><LI><STRONG>Follow&nbsp;</STRONG>the session to get notified of new Improvement Requests and blogs.</LI><LI><STRONG>Vote</STRONG>&nbsp;and&nbsp;<STRONG>comment</STRONG>&nbsp;on Improvement Requests posted by other customers/ partners.</LI><LI><STRONG>Submit</STRONG>&nbsp;new Improvement Requests.</LI></UL><P>You can also check out the videos\link below, if you wish to learn more about SAP Continuous Influence and how to submit and manage improvement requests:</P><UL><LI><A href="https://www.sap.com/assetdetail/2019/06/145793d7-517d-0010-87a3-c30de2ffd8ff.html" target="_blank" rel="noopener noreferrer">How to get started and navigate on the Customer Influence Site</A></LI><LI><A href="https://www.sap.com/assetdetail/2018/11/08f0cc5e-277d-0010-87a3-c30de2ffd8ff.html" target="_blank" rel="noopener noreferrer">How to submit an improvement request</A></LI><LI><A href="https://www.sap.com/about/customer-involvement/influence-adopt.influence-opportunities.html#join-customer-influence" target="_blank" rel="noopener noreferrer">SAP Customer Influence and Adoption main info page</A></LI></UL><P>Please reach us at <A href="mailto:SAP-ETD@sap.com" target="_blank" rel="noopener nofollow noreferrer">SAP-ETD@sap.com</A> in case of any issue.</P><P>We look forward to seeing your ideas and further improve our software as we move forward.</P> 2024-05-03T06:40:10.948000+02:00 https://community.sap.com/t5/technology-blogs-by-members/streamlining-user-provisioning-from-ibm-verify-to-sap-cloud-identity/ba-p/13695010 Streamlining User Provisioning from IBM Verify to SAP Cloud Identity Services 2024-05-08T12:57:02.652000+02:00 TusharTrivedi https://community.sap.com/t5/user/viewprofilepage/user-id/150726 <P>SAP Cloud Identity Services (CIS), part of SAP BTP, can be used to integrate Identity Access Management (IAM). In our last blog, we discussed the integration of SAP Cloud Identity Services (CIS) with IBM Security Verify, and now we're taking the next step in this integration. User provisioning is the process of setting up new user accounts in a system or application. In this blog, we will explore a common use case - - transitioning user provisioning from IBM Verify to SAP Cloud Identity Services, and how this transition can streamline operations and enhance security.</P><P><STRONG>The Challenge of User Provisioning</STRONG></P><P>User provisioning is the process of granting and controlling access to resources within an organisation’s information technology infrastructure. Historically, on-boarding or off-boarding users has been a laborious and time-consuming procedure that frequently required numerous processes across multiple systems. As businesses embrace cloud solutions, the complexity of user provisioning has grown, necessitating automated and integrated approaches.</P><P><STRONG>Transitioning from IBM Verify to SAP Cloud Identity Services</STRONG></P><P>IBM Verify is a comprehensive identity and access management system that includes multi-factor authentication (MFA) and adaptive access control, while SAP Cloud Identity Services offers identity lifecycle management, single sign-on (SSO), and access governance features. Integrating these two systems can help organisations automate and streamline user provisioning operations, while also improving security and user experience.</P><P>&nbsp;</P><P><STRONG><U>How does it work?</U></STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 1.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107254iC87D93636632C1FF/image-dimensions/600x390?v=v2" width="600" height="390" role="button" title="Picture 1.jpg" alt="Picture 1.jpg" /></span></P><P>The diagram shows that IBM Security Verify acts as a central user management system. It creates user accounts and manages their attributes, and also provisions them (or creates them) in SAP Cloud Identity Services, potentially syncing relevant user attributes. Selected attributes from Verify are&nbsp;mapped&nbsp;to specific target attributes in SAP Cloud Identity Services, ensuring consistent user information across both systems. SCIM, a standardised protocol, enables communication between Verify and SAP Cloud Identity Services. On the left side of the diagram, IBM Security Verify acts as a SCIM server, receiving requests for user management and then modifying the target directory as needed. This streamlines user creation and ensures consistent user information across both systems.</P><P>&nbsp;</P><P><STRONG><U>Prerequisites</U></STRONG></P><UL><LI>SAP Cloud Identity Services (for trial instance check this <A href="https://help.sap.com/docs/cloud-identity?locale=en-US" target="_blank" rel="noopener noreferrer">link</A>)</LI><LI>IBM Security Verify (for trial instance check this <A href="https://www.ibm.com/docs/en/security-verify?topic=overview-accessing-security-verify" target="_blank" rel="noopener nofollow noreferrer">link</A>)</LI><LI>A smartphone with IBM Security Verify App</LI></UL><P>&nbsp;</P><P><STRONG><U>Configurations and Settings in IBM Security Verify and SAP Cloud Identity Services</U></STRONG></P><P>Log into <A href="https://ibmlabs.verify.ibm.com/ui/admin" target="_blank" rel="noopener nofollow noreferrer">IBM Security Verify</A> as an administrator  </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 2.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107255iF33506AB018341EE/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 2.jpg" alt="Picture 2.jpg" /></span></P><P>When a user logs in, the home screen as shown below will be displayed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 3.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107256iA46ECE028C7D63C1/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 3.jpg" alt="Picture 3.jpg" /></span></P><P>On the left panel, click on "Applications" under "Applications". On the right side of the screen, there is an “Add application” button. Click on it.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 4.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107258i998C9B160EB85555/image-dimensions/600x329?v=v2" width="600" height="329" role="button" title="Picture 4.jpg" alt="Picture 4.jpg" /></span></P><P>Fill in the necessary details under “General” section as below and save the details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 5.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107259iF49D6F1784AAD6A7/image-dimensions/600x363?v=v2" width="600" height="363" role="button" title="Picture 5.jpg" alt="Picture 5.jpg" /></span></P><P>Before we go further, let’s log into SAP BTP account and you will be navigated on SAP BTP Cockpit. As suggested below, navigate to the “Instances and Subscriptions” tab which is under “Services.”</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 6.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107261i1A4FCC6A1C0D1C12/image-dimensions/601x326?v=v2" width="601" height="326" role="button" title="Picture 6.jpg" alt="Picture 6.jpg" /></span></P><P>You have to enable the cloud identity services application.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 7.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107262i0B72D5F41CB61C9B/image-dimensions/601x316?v=v2" width="601" height="316" role="button" title="Picture 7.jpg" alt="Picture 7.jpg" /></span></P><P>Once enabled, it will look as below. Now, click on Cloud Identity Services application and you will be redirected to the login screen of the SAP authentication screen as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 8.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107263iCC19230226369943/image-dimensions/601x316?v=v2" width="601" height="316" role="button" title="Picture 8.jpg" alt="Picture 8.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 9.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107266i357621A8168E5EF0/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 9.jpg" alt="Picture 9.jpg" /></span></P><P>After a successful login, you can see the home screen of Cloud identity Services. Go to the “Identity Providers” as highlighted below :</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 10.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107268i5D2F63349F825C38/image-dimensions/601x337?v=v2" width="601" height="337" role="button" title="Picture 10.jpg" alt="Picture 10.jpg" /></span></P><P>Click on the Corporate Identity providers and create new identity provider.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 11.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107269i7DEC6BF3C2F442CB/image-dimensions/601x313?v=v2" width="601" height="313" role="button" title="Picture 11.jpg" alt="Picture 11.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 12.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107270iDFD2CD3C9DA26807/image-dimensions/601x337?v=v2" width="601" height="337" role="button" title="Picture 12.jpg" alt="Picture 12.jpg" /></span></P><P>Once the new identity provider is successfully added,&nbsp; click on the identity provider type and select SAML 2.0 compliant, as shown below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 13.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107271i5C962799BF791BA2/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 13.jpg" alt="Picture 13.jpg" /></span></P><P>Go to the SAML configuration section and fill in the information as shown below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 14.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107275iD992FDB591A7B11C/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 14.jpg" alt="Picture 14.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 15.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107279i5840BC903244CD42/image-dimensions/601x314?v=v2" width="601" height="314" role="button" title="Picture 15.jpg" alt="Picture 15.jpg" /></span></P><P>You can browse the “Metadata” file from your device once you download it from IBM Security Verify dashboard. Go to the &nbsp;“Sign on” section of the application and on the right side of the screen, download the file from the given URL and upload the same in SAP Cloud Identity Services as highlighted below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 16.jpg" style="width: 598px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107280i74553FB8FBABC481/image-dimensions/598x329?v=v2" width="598" height="329" role="button" title="Picture 16.jpg" alt="Picture 16.jpg" /></span></P><P>Click on the Trusting application section and add SAP BTP trial subaccount.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 17.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107281i7C0241A7448A67D6/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 17.jpg" alt="Picture 17.jpg" /></span></P><P>Establish the trust configuration, which is under the “Security” section &nbsp;for the cloud identity application as shown in the below screenshots.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 18.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107282i6B60DB321260CD72/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 18.jpg" alt="Picture 18.jpg" /></span></P><P>You will see the below steps once you click on establish trust. In the first step, choose tenant and click on the next.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 19.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107284iC5DF2A58932143A3/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 19.jpg" alt="Picture 19.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 20.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107285i669823593CB1EF97/image-dimensions/601x317?v=v2" width="601" height="317" role="button" title="Picture 20.jpg" alt="Picture 20.jpg" /></span></P><P>After selecting a tenant, choose domain for your SAP Cloud Identity Services application.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 21.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107286iDC0DF0A0829D035F/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 21.jpg" alt="Picture 21.jpg" /></span></P><P>Click on the next button and configure parameters as shown in the below screenshot.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 22.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107288iD40F34CDECC0FD9A/image-dimensions/601x317?v=v2" width="601" height="317" role="button" title="Picture 22.jpg" alt="Picture 22.jpg" /></span></P><P>Click on the next button and review the setup that you have done while establishing the trust. Finally, click on the finish button and save the details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 23.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107289iD6BAA6A35F4A9AA5/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 23.jpg" alt="Picture 23.jpg" /></span></P><P>Once done, you can see the trust new active trust configuration as shown below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 24.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107392i27CD4C569D25B32C/image-dimensions/601x317?v=v2" width="601" height="317" role="button" title="Picture 24.jpg" alt="Picture 24.jpg" /></span></P><P>Now go back to IBM Security Verify and click on “Sign-on” section, then select “Use metadata” checkbox. It will allow us to upload the metadata file which we have downloaded from SAP BTP as shown below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 25.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107394i216EC7591BDAD303/image-dimensions/601x317?v=v2" width="601" height="317" role="button" title="Picture 25.jpg" alt="Picture 25.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 26.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107395i35F9A561397134EF/image-dimensions/600x315?v=v2" width="600" height="315" role="button" title="Picture 26.jpg" alt="Picture 26.jpg" /></span></P><P>Upload the metadata file which you have recently saved on your device to IBM Verify dashboard.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 27.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107397i52227C152B94583A/image-dimensions/600x339?v=v2" width="600" height="339" role="button" title="Picture 27.jpg" alt="Picture 27.jpg" /></span></P><P>Now go to the “Account lifecycle” tab and add SCIM URL, Username and password detail as shown in below image. You can get all the details from SAP Cloud Identity Services application page.</P><P>&nbsp;</P><P>To get SCIM URL, go to SAP CIS and get the URL details from the browser and add “SCIM” at the end of URL.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 28.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107398i0F1E9139A1B89A00/image-dimensions/600x333?v=v2" width="600" height="333" role="button" title="Picture 28.jpg" alt="Picture 28.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 29.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107399iC0B3302E3F629661/image-dimensions/600x333?v=v2" width="600" height="333" role="button" title="Picture 29.jpg" alt="Picture 29.jpg" /></span></P><P>After adding the above details, scroll down and you can see “Attribute mapping” section. &nbsp;Click on the checkbox for which attribute you want to map from IBM Verify to SAP CIS and want to keep updated. Here we have checked email. &nbsp;Save this detail once changes are completed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 30.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107400i05DBB07F4608DEC7/image-dimensions/600x351?v=v2" width="600" height="351" role="button" title="Picture 30.jpg" alt="Picture 30.jpg" /></span></P><P>We have completed the configurations in IBM Security Verify and SAP Cloud Identity Services. Let’s add user with attribute&nbsp; into Verify and check if it is mapped to Cloud Identity Users dashboard.</P><P>Go to the Users tab under the “Directory” section on the left side of the verify dashboard and click on the “Add User” button as shown in below screenshot.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 31.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107401iD25469100AB22F06/image-dimensions/601x359?v=v2" width="601" height="359" role="button" title="Picture 31.jpg" alt="Picture 31.jpg" /></span></P><P>Fill out the necessary information for the user as mentioned in the below image and click on the “Save” user tab.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 32.jpg" style="width: 300px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107402i6BC43DACFD285AE2/image-dimensions/300x427?v=v2" width="300" height="427" role="button" title="Picture 32.jpg" alt="Picture 32.jpg" /></span></P><P>Scroll down and you can add more detail about the user. Here we have added an email ID, mobile number and user company details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 33.jpg" style="width: 300px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107404i61838B107F605CA6/image-dimensions/300x495?v=v2" width="300" height="495" role="button" title="Picture 33.jpg" alt="Picture 33.jpg" /></span>&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 34.jpg" style="width: 293px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107405i6D6E7519C623DBAE/image-dimensions/293x495?v=v2" width="293" height="495" role="button" title="Picture 34.jpg" alt="Picture 34.jpg" /></span></P><P>Once done, click on the Save button and the user detail will be saved.</P><P>Open the Cloud Identity Services application and go to the user section to check whether the newly-created user from Verify is mapped.</P><P>Click on the “Instance and subscription” section from the “Services” section on the left menu, and once the application list is shown, click on the Cloud Identity Services application as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 35.jpg" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107406i9D4A6985D7838094/image-dimensions/601x353?v=v2" width="601" height="353" role="button" title="Picture 35.jpg" alt="Picture 35.jpg" /></span></P><P>When the new application is loaded, click on the “User Management” tile and all the user list will be displayed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 36.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107407i4908B40D66F3039E/image-dimensions/600x354?v=v2" width="600" height="354" role="button" title="Picture 36.jpg" alt="Picture 36.jpg" /></span></P><P>As you can see in the below screenshot, a new user is created, which is added from Verify and mapped into SAP Cloud Identity Services. Also, the user detail is mapped into Cloud Identity Services.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 37.jpg" style="width: 600px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107408i49144A562C9FB9B1/image-dimensions/600x351?v=v2" width="600" height="351" role="button" title="Picture 37.jpg" alt="Picture 37.jpg" /></span></P><P><STRONG><U>Conclusion</U></STRONG></P><P>Effective user provisioning is critical to maintaining security, compliance, and operational efficiency. Centralising identity management, improving security, and streamlining administration activities enables organisations to successfully manage user identities and access controls across their entire IT infrastructure. Embracing integrated identity management solutions is more than just convenient - - &nbsp;it is a strategic need for businesses looking to flourish in an increasingly linked and security-conscious environment.</P><P><STRONG><U>More information:</U></STRONG></P><P>Refer to our another blog on <A href="https://community.sap.com/t5/technology-blogs-by-members/integrating-ibm-security-verify-with-sap-cloud-identity-services-in-sap-btp/ba-p/13651722" target="_blank">SAP Cloud Identity Service integration with IBM Security Verify</A>.</P><P>If you have any question or query about&nbsp;SAP BTP please refer to <A href="https://community.sap.com/" target="_blank">SAP Community</A> and for any question or query about IBM Security Verify refer to <A href="https://community.ibm.com/community/user/security/communities/community-home?CommunityKey=e7c36119-46d7-42f2-97a9-b44f0cc89c6d" target="_blank" rel="noopener nofollow noreferrer">IBM Security Verify Community</A></P> 2024-05-08T12:57:02.652000+02:00