-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Authentication Options #212
Comments
In fact, with Patch Level 8 of the NW RFC Lib, which has just been released, there are now features available for so-called "Websocket-RFC", which uses SSL/TLS (instead of SNC) and the standard SSL handshake with certificate logon. There are only two questions:
If both prerequisites are fulfilled, all you need to do is to convert your .p12 / .pfx file into .pse format (can be done with the sapgenpse tool), map the SSL client certificate to a SAP user (transaction CERTRULE or EXTID_DN -- never quite sure, which one works in which cases...) and feed the NW RFC lib with the required parameters. |
Another question to think about is: how do you want to expose the on-premise backend system to the internet? RFC access (both, via the classic RFC protocol and via the Websocket RFC protocol) would require to open a port to the backend system from the outside world, something that is not necessarily desirable. For situations like these, alternative solutions are available:
The entire data flow then looks like this: the node application sends an HTTP request to the outer SBC (which is visible in the internet), the outer SBC passes it to the inner SBC (via the open connection that was opened from the inside to the DMZ), the inner SBC then converts it to RFC and executes it on the backend system.
|
All connection parameters are supported, including TLS_* and TypeScript interface is provided. |
I can see that websocket option is now available including the option to authenticate via client certificate:
I noticed though that there is still reference to TLS_CLIENT_PSE. Does this mean that it still requires a cred_v2 file to authenticate? |
cred_v2 is only required if the PSE is PIN/Passphrase protected. As you are on Linux this doesn't add any security, so you can have the PSE without PIN. |
Please re-open if needed |
For a serverless environment, such as cloud native applications, what would be the best option for authentication to an on-premise SAP system? Is there an option to potentially use certificate based authentication like using a pfx / p12 file?
There are about 3 to 5 authentication options described here. Username and password is the least secure so probably not recommended, even if it is the easiest among the options.
The second option appears to depend on the snc_lib which likely requires cred_v2 file for opening the user pse and authenticating. This would not be readily available for a serverless environment.
The third option sounds promising but I am not clear how to setup this prerequisite: "The trusted relationship must be established between the ABAP backend system and the client system." Can anyone help with a link on how this can be done?
Also, it seems to depend on the SECUDIR environment variable. Is it possible to provide this value to the library without relying to the SECUDIR environment variable?
Thanks in advance for anyone who can help!
The text was updated successfully, but these errors were encountered: