Informations techniques
Sécurisation des services Web
Les services Web de la plateforme SOA sont sécurisés à deux niveaux. Au niveau du transport, le service consumer doit obligatoirement établir une connexion via le protocole SSL/TLS. Au niveau du message, l'authentification du service consumer s'effectue sur base des certificats X.509.
Les standards WS-Security utilisés sont décrits dans les spécifications suivantes :
Politique de sécurité
Dans le fichier WSDL au niveau du bloc binding, la politique de sécurité est bien spécifiée pour chaque opération.
<wsdl:operation name="checkAccessControl"> <wsdl:documentation>v1.2: added new operation</wsdl:documentation> <soap11:operation soapAction=""/> <wsdl:input> <soap11:body use="literal"/> <wsp:PolicyReference URI="#X509_SHA256" xmlns:wsp="https://schemas.xmlsoap.org/ws/2004/09/policy"/> </wsdl:input> <wsdl:output> <soap11:body use="literal"/> </wsdl:output> <wsdl:fault name="systemError"> <soap11:fault name="systemError" use="literal"/> </wsdl:fault> </wsdl:operation>
- #X509 pour X.509 Certificate Token Profile;
- #SAML_HOK pour SAML Token Profile/Holder of Key
Erreur
Lorsque la plateforme SOA n'accepte pas une requête en raison d'une erreur de sécurité, une erreur SOAP avec le code d'erreur suivant est renvoyée : SOA-01001 – Service call not authenticated.
<soapenv:Fault> <faultcode>soapenv:Client</faultcode> <faultstring>SOA-01001</faultstring> <detail> <SystemError Id="44ae07df-bd39-40d2-94f9-f149c047b589" xmlns="https://socialsecurity.be/errors/v1"> <Origin>Consumer</Origin> <Code>SOA-01001</Code> <Message xml:lang="en">Service call not authenticated.</Message> <Environment>Production</Environment> </SystemError> </detail> </soapenv:Fault>