cancel
Showing results for 
Search instead for 
Did you mean: 

Basic concepts

andres_1989
Explorer
0 Kudos

Hi experts, i have some issues trying to identify what is what in SCP Architecture.

Can anyone explain me what is all the segments under the security tab in the SCP (Trust, Authorizations y oAuth)? I'm very lost in this matter. My actual problem is that we need to see if the user in SCP exists in the backend system, not clone them into SCP. I dont have any manual or tutorial explaning this concepts or how can i configure de SAP Cloud Platform IdP and more important explaining what are they doing. All manuals and blogs assume a lot of concepts i can't understand.

Thanxs in advance

Accepted Solutions (1)

Accepted Solutions (1)

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert

Hi Andrés,

In SCP all authentication is delegated to what is called IdP (Identity Provider). This system will perform the authentication on behalf of SCP and will return a SAML assertion ticket containing the details about a user. Once authenticated, SCP will check if this user is authorized for the resources that are being called.

This is the reason why SCP has a members concept. Members aren't user objects. They don't contain passwords or any other information, other than the UserID.

Let's say you are a member of an account in SCP but you don't have any administration right on the cockpit. You may be able to load the initial page for the cockpit, but you aren't authorized to access any of its resources.

SCP comes with SAP's Identity Service configured as user persistence store. So when you try to login, SCP will load SAP ID Service for authentication. You are able to change that initial configuration via Trust menu on the cockpit so you are able to authenticate against a different IdP. Let's say you have your corporate LDAP service and you have already configured an IdP service for it such as Shibboleth or ADFS. In such case you simply register your corporate IdP via SCP's cockpit and you'll be able to perform login using your corporate ID and password.

SAP also offers you its own IdP as SaaS for corporate usage, called SAP Cloud Identity Authentication service which is capable of connecting SCP to your local LDAP server via SAP Cloud Connector - among other useful features such as managing user identities for companies that don't want to mix corporate users with cloud users.

Another aspect of this setup is that you may be able to pass on the user identity to your backend - what is called Principal Propagation. With that, an application running on SCP may consume a REST service in a local SAP-Gateway system via SAP Cloud Connector. And this consumption if configured for Principal Propagation will ensure that the user ID from SCP is sent as means for authentication for your SAP Gateway system.

So back to your original problem description: "My actual problem is that we need to see if the user in SCP exists in the backend system". With all of the above in mind, if you enable Principal Propagation, you don't have to worry about users being registered on the cockpit or not. I'm not saying this is a very simple configuration - as you said a lot of security concepts need to be understood first.

So you may have to first choose how you want people logging on to your SCP application and how services from your on-premise systems need to be called(authenticated). You may also need to figure out how you want to manage users altogether. Some may prefer to have different user/passwords in the cloud, but want to be able to map these users to back-end users - which is also possible.

Once you have all your prerogatives in place, you might need to subscribe to additional services, install some others or simply configure what you already have.

BTW: oAuth is another way to delegate authentication. So you may have your application configured in such a way that the logon procedure is based on a social network logon (such as Twitter or Facebook). You are able to see such a setup on SAP Community Network. Once you authorize SCN on Likedin to share on your behalf , you simply click on the Linkedin button, and click on Share - no login is performed. That's oAuth and SCP's support it so you can develop apps to use this kind of delegation.

Regards,
Ivan

andres_1989
Explorer
0 Kudos

Thanks so much for the explanation

Answers (1)

Answers (1)

gregorw
Active Contributor

As I think authentication and authorisations is one of the essential concepts to understand and implement correctly I would suggest you hire an experienced consultant helping you and your team to understand it. Regarding your question on how to make sure that all SCP users exist also in the Backend you might use the ABAP System as the Source and SCP IA as the Target by using a SAP Cloud Platform Identity Provisioning Service Scenario.

andres_1989
Explorer
0 Kudos

Thanks Gregor, i think your answer is useful to follow.