Issue
Requirement
- Configure Web Service Security for inbound SOAP web services
- Configure WSS for inbound requests with different certificates for different clients
Resolution
Use WS-Security. This functionality is available starting with the Dublin release.
- Set up Certificates as required in sys_certificate table
- Set up WS Profile
- Set up SOAP Web Service
- Configure glide.soap.default_security_policy property with newly created security policy name
Details
WS Security is message-level security for SOAP web services. Here a signature element is added to the header element of the soap request. This signature is validated at the Servicenow instance based on the certificate configured. If a man-in-middle tamper request body, it won’t match with the signature added during the generation of the SOAP request.
There is no support for encryption.
WS Profiles provide a way to configure different profiles while Security Policy determines what profiles to validate and how to authenticate (either all of the profiles or one of them) the request. If no policy is created or defined, all configured WS Profiles are evaluated on all incoming requests.
Another important to note is that once you configure WS Profiles or Security Policy, validation is performed on all incoming SOAP requests, including MID and ODBC. You must exclude MID and ODBC requests from validation by following the steps in the following article.