Inhalt/Content
Konfigurieren von Azure Active Directory
Der erste Schritt zur Umstellung auf SSO-Anmeldung mit SAML in iAGENT ist die Einrichtung einer Unternehmensanwendung im Azure Active Directory. Die wichtigsten Schritte sind im folgenden Dokument beschrieben:
https://learning.postman.com/docs/administration/sso/saml-in-azure-ad/
Die Benutzer, die sich in iAGENT anmelden können sollen, müssen der neu erstellten Enterprise Application als Benutzer hinzugefügt werden.
Als Standard-Antwort-URL sollte die Index-Seite des Agenten verwendet werden. Diese URL wird nur verwendet, wenn die Authentifizierungsanfrage keine AssertionConsumerServiceURL liefert. Die Authentifizierungsanfrage von einem iAGENT-System liefert immer eine AssertionConsumerServiceURL.
Folgende URLs sollten als Antwort-URLs gesetzt werden:
- https://<hostname>/agent/client/index.imail (Verwenden Sie index.jsp auf Entwicklersystemen. Die Standard-Antwort-URL darf keine Platzhalterzeichen enthalten)
- https://<Hostname>/iMail/faces/index.xhtml
Konfigurieren des iAGENT Systems
Zunächst einmal muss der Browser einen Internetzugang haben. Der Microsoft Login-Server (login.microsoftonline.com) muss erreichbar sein.
Ab iAGENT Version 13 brauchen keine Libraries mehr kopiert werden! Bis v13 mussten die folgenden Libraries kopiert werden:
Bibliotheken zu einem installierten iAGENT-System hinzufügen (nur für iAGENT Versionen < 13)
Die für eine SSO-Authentifizierung notwendigen Bibliotheken sind im iAGENT-Updater unter folgendem Pfad zu finden:
- common\standard\other\saml-client\lib\
Diese Bibliotheken müssen in folgende Verzeichnisse des installierten iAGENT-Systems kopiert werden:
- <iAGENT-Installation>/tomcat/webappsiMail/iMail/WEB-INF/lib/ (Routing-Process)
- <iAGENT-Installation>/tomcat/webappsiMailAgent/agent/WEB-INF/lib (SV-Process)
Anschließend müssen die Prozesse bzw. Dienste für das Routing und iAGENT neu gestartet werden.
Benutzer in iAGENT einrichten
Sie müssen im iAGENT-System Benutzer anlegen, die sich im Azure Active Directory befinden. Der Benutzername muss derselbe sein, der auch für die Anmeldung in Office365 verwendet wird (username@domain, zum Beispiel mmustermann@example.com). Zudem muss ein Admin-Benutzer angelegt werden, der sich mit SSO anmelden kann.
Bei Zugriffen mit System-Nutzern (wie von Apps oder REST API) muss am entsprechenden Nutzer zudem einer der folgenden Schlüssel auf den Wert DB gesetzt werden (Reiter Eigene Einstellungen in den Benutzereinstellungen):
- auth.type (für die Anmeldung auf Supervisor und Desk)
- auth.type.agent (für die Anmeldung auf Desk)
- auth.type.user (für die Anmeldung auf Supervisor)
Konfigurieren der SSO-Authentifizierung
Laden Sie zunächst die Federation Metadata XML von Ihrer konfigurierten Unternehmensanwendung herunter. Fast alle benötigten Informationen finden Sie in der Beschreibung.
Die Konfiguration muss in die Routing.conf-Datei des iAGENT-Systems eingefügt werden. Die Konfiguration bezüglich des SSO-Logins kann im laufenden iAGENT-System geändert werden.
Eine Beispielkonfiguration, die in die Routing.conf eingefügt wird, sieht wie folgt aus:
###################### Teams Saml SSO #######################Turn on/off authenticationexternal.auth.enabled = true#Turn on/off authentication for agentsexternal.auth.agent.enabled = true#Turn on/off authentication for supervisorsexternal.auth.routing.enabled = true#Class implementing the authenticationexternal.auth.user.auth.class = com.novomind.ecom.saml.Authenticator#Mapping of the received authentication properties to the username of the iAGENT-System. Without this maping an authentication will always fail. Make sure the received users are existing in the iAGENT-System.external.auth.user.property.mapping = {username:"nameid"}#Configuration of the actual authentication. In this case a saml authentication. The authentication has been defined by following parameter "external.auth.user.auth.class"#Turn on/off saml authenticationexternal.auth.saml.enabled = true#Name of the identity provider. In this case the Enterprise Application defined in the azure AD ("Azure AD Identifier"). This identifier will be used in the AuthRequest.external.auth.saml.ip.identifier = https://sts.windows.net/bb3b64e1-cd0c-4d0c-a85b-fabcabfef245/#URL the AuthRequest will be sent to. Can be found in the Single sign-on configuration of the Enterprise Application ("Login URL").external.auth.saml.ip.endpoint = https://login.microsoftonline.com/bb3b64e1-cd0c-4d0c-a85b-fabcabfef245/saml2#Name of the Service Provider. Has been defined in the Single sign-on configuration of the Enterprise Application ("Identifier (Entity ID)")external.auth.saml.sp.identifier = https://novomind365.onmicrosoft.com/SSO#Public key of the identity provider. Used for validating the signatures of the authentication response.external.auth.saml.certificate.base64 = MIIC8DCCAdigAwIBAgIQX/61cnLjwoFEnlIiLnHL3DANBgkqhkiG9w0BAQsFADA0MTIwMAYDVQQDEylNaWNyb3NvZnQgQXp1cmUgRmVkZXJhdGVkIFNTTyBDZXJ0aWZpY2F0ZTAeFw0yMDAzMjYxNTQ4MDBaFw0yMzAzMjYxNTQ4MDBaMDQxMjAwBgNVBAMTKU1pY3Jvc29mdCBBenVyZSBGZWRlcmF0ZWQgU1NPIENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApaYHuJr1TB5NEEmuyTFRW54N6OyoNu7LuB3yVZEUspoxWX3SW1mzfJa1f4+WV9y9SXqehzxR1IdVUyubERmsSAVMBIBeEN/8fk17aTGi4+FaWH8S5OvYmI8V/HRXFcyJxXCCeY6pcRip7UEK4Y3AnNIAbEgxMNIx4LRemYtmYEOG2FD8Gjeu7C58VtOJsi5Z0AZHyK5rVed8Fm9qZBWr5NwOx500jTm1cAwdZS45+89l9nd6g1FNpNO58dExbiq1zbqs5UCcNyNP0Ga3k9ToL1QvFDNOQj7W/KTSwgCDhCN9WF3+889V2OUD0jcCUkBFH5iGsiFYJPSWK+6GoQQhjQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAJG9VslGHELW6o/gz/nHaVDF1/XXfRXlGaf/knI1dCjwPRoywjaDb3hIYW7gdhnYrhjsgl4Aszy8+voLUnf73Jh7w8Izcvy6fl05h1IfhTr4oVvLtuPB6AP3qsfG2zFRkx1teJd/DlCv9AGjr2A2d3iUL1GexwB/zC34V4RDZmU1PlkuR/lUx4NC+LlKBhdYlf0Irl5O6g2DkzC3YB1/nwGcG5trsNdNsifl/8pJkJUnYKpD4DFgGGBZSrFmWaWmcCI8P0Mm2txMPa988KGWcbclP2AV26/q/nR2x45KDkZC4LFKQE1ahErD5m6/da1icKHICi/ldLfg49DMK++YcV#Turn on/of validation of time based constraints in the authentication response. Validation time based constraints often leads to problems. Time based constraints will be ignored if set to true.external.auth.saml.assertion.time.disable = trueDie folgenden Konfigurationseigenschaften müssen angepasst werden:
- extern.auth.saml.sp.identifier
- external.auth.saml.ip.identifier
- external.auth.saml.ip.endpoint
- external.auth.saml.certificate.base64
- external.auth.show.login.mask
external.auth.saml.sp.identifier ist in der Single Sign-On-Konfiguration der Enterprise Application zu finden („Identifier (Entity ID)“).
external.auth.saml.ip.identifier ist in der Single-Sign-On-Konfiguration der Unternehmensanwendung zu finden („Azure AD Identifier“). Er kann auch in der Federation-Metadaten-Xml-Datei gefunden werden (Element „EntityDescriptor“ → Attribut „entityID“).
external.auth.saml.ip.endpoint ist in der Single Sign-On Konfiguration der Enterprise Application zu finden („Login URL“). Das folgende Element muss sich in der xml-Datei befinden. Normalerweise wird es irgendwo am Ende der Datei platziert.
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/bb3b64e1-cd0c-4d0c-a85b-fabcabfef245/saml2"/>
Der Wert des Attributs „Location“ muss als Wert verwendet werden.
Der Wert für die Eigenschaft external.auth.saml.certificate.base64 ist auch in den Verbands-Metadaten xml zu finden. Folgender Beispielinhalt enthält den erforderlichen öffentlichen Schlüssel im base64-Format. Kopieren Sie einfach den Textinhalt des Elements „X509Certificate“.
<KeyInfo> <X509Data> <X509Certificate>MIIC8DCCAdigAwIBAgIQX/61cnLjwoFEnlIiLnHL3DANBgkqhkiG9w0BAQsFADA0MTIwMAYDVQQDEylNaWNyb3NvZnQgQXp1cmUgRmVkZXJhdGVkIFNTTyBDZXJ0aWZpY2F0ZTAeFw0yMDAzMjYxNTQ4MDBaFw0yMzAzMjYxNTQ4MDBaMDQxMjAwBgNVBAMTKU1pY3Jvc29mdCBBenVyZSBGZWRlcmF0ZWQgU1NPIENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApaYHuJr1TB5NEEmuyTFRW54N6OyoNu7LuB3yVZEUspoxWX3SW1mzfJa1f4+WV9y9SXqehzxR1IdVUyubERmsSAVMBIBeEN/8fk17aTGi4+FaWH8S5OvYmI8V/HRXFcyJxXCCeY6pcRip7UEK4Y3AnNIAbEgxMNIx4LRemYtmYEOG2FD8Gjeu7C58VtOJsi5Z0AZHyK5rVed8Fm9qZBWr5NwOx500jTm1cAwdZS45+89l9nd6g1FNpNO58dExbiq1zbqs5UCcNyNP0Ga3k9ToL1QvFDNOQj7W/KTSwgCDhCN9WF3+889V2OUD0jcCUkBFH5iGsiFYJPSWK+6GoQQhjQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAJG9VslGHELW6o/gz/nHaVDF1/XXfRXlGaf/knI1dCjwPRoywjaDb3hIYW7gdhnYrhjsgl4Aszy8+voLUnf73Jh7w8Izcvy6fl05h1IfhTr4oVvLtuPB6AP3qsfG2zFRkx1teJd/DlCv9AGjr2A2d3iUL1GexwB/zC34V4RDZmU1PlkuR/lUx4NC+LlKBhdYlf0Irl5O6g2DkzC3YB1/nwGcG5trsNdNsifl/8pJkJUnYKpD4DFgGGBZSrFmWaWmcCI8P0Mm2txMPa988KGWcbclP2AV26/q/nR2x45KDkZC4LFKQE1ahErD5m6/da1icKHICi/ldLfg49DMK++YcV </X509Certificate> </X509Data> </KeyInfo>Indem external.auth.show.login.mask auf false gesetzt wird, wird die Login-Maske für iAGENT abgeschaltet.
Ab iAGENT v 13 können diese Einstellungen auch in der „Administration->Systemeinstellungen->System->Externe Authentifizierung“ vorgenommen werden.