Quantcast
Channel: SCN: Message List - SAP Single Sign-On
Viewing all articles
Browse latest Browse all 2732

Re: Failover configuration on SLS - how to set the Profile ID (GUID)?

$
0
0

Hi Carsten,

 

we solved it by using a load balancer (round robin, client ip persistance) and two Secure Login Server.

 

My assumption: to provide a high available single sign service, the sso servers have to be independent. Otherwise a database downtime (e.g. maintenance during working hours) would be impossible. The availability should be as high as possible (near 100%).

 

Possible solution 1:

The servers will use (of course) different profile group IDs, so the PolicyURL (client windows registry) has to be a generic one:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\SAP\SecureLogin\System]

"PolicyURL"="https://<loadbalancer>/globalPolicyURL"

BTW: this is a good solution to switch the profile group (online) without a new registry setting rollout (client site).

 

...and the ICM (both Secure Login Servers) needs a rewrite rule (example):

[default profile]

icm/HTTP/mod_0 = PREFIX=/,FILE=$(DIR_GLOBAL)/security/data/icm_mod_rules.txt

[icm_mod_rules.txt]

if "%{PATH_TRANSLATED}" regimatch "/globalPolicyURL"
RegRewriteUrl "^/globalPolicyURL(.*)" "/SecureLoginServer/slc/getProfiles?grouppolicy=<individual generated profile group ID of sso server>" [code=temp,qsreplace]

The servers will use (of course) different profile IDs. So a rewrite ruleset (example) is needed again:

[icm_mod_rules of server one]

if "%{SERVER_ADDR} = <IP of server one> [AND]
if "%{PATH_TRANSLATED}" regimatch "/SecureLoginServer/slc2/" [AND]
if "%{QUERY_STRING}" regimatch "profile=<individual profile id of server two>"
RegRewriteUrl "^/SecureLoginServer/slc2/(.*)" "/SecureLoginServer/slc2/$1?profile=<individual profile id of server one>" [code=temp,qsreplace]

[icm_mod_rules of server two]

if "%{SERVER_ADDR} = <IP of server two> [AND]
if "%{PATH_TRANSLATED}" regimatch "/SecureLoginServer/slc2/" [AND]
if "%{QUERY_STRING}" regimatch "profile=<individual profile id of server one>"
RegRewriteUrl "^/SecureLoginServer/slc2/(.*)" "/SecureLoginServer/slc2/$1?profile=<individual profile id of server two>" [code=temp,qsreplace]

Attention: the rewriting rule for the url /SecureLoginServer/slc2/ is needed for each profile ID of the (shared) profile group. Only a ICM restart is needed to enable/share a new profile or profile group.

 

Possible solution 2:

Use a "template Single Sign On System", that will be used as a central configuration template for all sso servers. The (productive) sso servers will be created via a system copy of this template system. Then all IDs will be the same.

 

Both solutions are not very handsome, but stable.

And i agree:

Feature request for SAP to enable editing the GUID manually within the SLAC

 

Best regards and greetings to the secude team

Kai


Viewing all articles
Browse latest Browse all 2732

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>