EINLEITUNG
Zugriffe auf Webdienste über Benutzername (Login) und Passwort sind sicherheitstechnisch suboptimal, da wer einmal im Besitz dieser Daten ist, sich jederzeit und überall am Dienst anmelden kann. Neuere Ansätze setzen auf Multifaktor Authentifizierungen, z.B. SMS-Verifikation, Authenticator-Apps, etc… Dies funktioniert jedoch für automatisierte Zugriffe im Hintergrund schlecht, da keine reale Person hinter dem Zugriff steht.
Bisher musste man einen technischen User erstellen, und diesem weitreichende Zugriffe gewähren damit TimeSafe die entsprechenden Kalender lesen und schreiben konnte.
Ab Version 22.0.1 können die Zugriffe auf Exchange nun über eine sogenannte „App-Registrierung“ abgesichert werden. Die Vorteile sind:
- Sicherheitsmerkmale sind im Rechner gespeichert und nicht in einer Konfiguration der Anwendung.
- Berechtigungen können für diese App-Registrierung vergeben werden. Es ist nicht notwendig, den User in jedem Kalender zu berechtigen.
FUNKTIONSWEISE
Die Funktionsweise im Überblick. Eine detaillierte Anleitung folgt weiter unten.
Im Azure-Portal wird ein App-Registrierung erzeugt:
- Diese erhält eine Anwendungs-ID (Client-ID) sowie eine Verzeichnis-ID (Mandant-ID, Tenant-ID) über die die Registrierung identifiziert wird.
- Dieser Registrierung werden API-Berechtigungen für Exchange zugewiesen.
- Der Zugriff wird über das Client-Zertifikat von TimeSafe hergestellt.
In TimeSafe wird der Exchange-Abgleich konfiguriert:
- Client-ID und Tenant-ID müssen aus dem Azure-Portal übernommen werden.
- Der Abgleichdienst erzeugt ein Zertifikat und speichert sich den privaten Schlüssel im Zertifikatsspeicher des Servers.
Dieser Lösungsansatz bietet maximale Sicherheit bei minimalem Konfigurationsaufwand.
Da der private Sicherheitsschlüssel nicht exportiert werden kann, muss bei jedem Umzug des Abgleichdienstes auf einen anderen Server ein neues Zertifikat erzeugt werden.
APP-REGISTRIERUNG EINRICHTEN
- TimeSafe Zeiterfassung – Einstellungen aufrufen.
- Unter „Exchange-Abgleich“ Exchange Sicherheit „API-Zugriff“ auswählen.
- Falls das Feld „API Zertifikat (Fingerbadruck)“ leer ist:
Drücken Sie links den Menüpunkt „Einstellungen“ und danach „Protokoll“.
Aktualisieren Sie das Protokoll bis Sie eine „Allgemeine Information“ sehen mit „Neues Zertifikat erstellt“.
Drücken sie wieder auf „Einstellungen“. Nun sollte das Feld Zertifikat sichtbar sein. - Exportieren Sie das Zertifikat in eine Datei.
- Azure-Portal aufrufen: Azure Active Directory Admin Center
- „+ Neue Registrierung“ drücken
- Name z.B. „TimeSafe Zeiterfassung“ vergeben und „Registrieren“ drücken.
- Kopieren Sie die „Anwendungs-ID (Client)“ sowie „Verzeichnis-ID (Mandant)“ in die entsprechenden Felder der TimeSafe – Konfiguration.
- Unter „Zertifikate & Geheimnisse“ laden Sie das exportierte Zertifikat von TimeSafe hoch.
- Unter „API-Berechtigungen“ „+ Berechtigung hinzufügen“.
„Von meiner Organisation verwendete APIs“ wählen und nach „Office 365 Exchange Online“ suchen.
Die gefundene Berechtigung selektieren, „Anwendungsberechtigungen“ wählen und „full_access_as_app“ selektieren.
„Berechtigung hinzufügen“ - Drücken Sie „Administratorzustimmung für … erteilen“. Evtl. muss diese durch Ihren Azure-Administrator erteilt werden.
Kontrollieren Sie das TimeSafe-Protokoll um Fehler und Probleme zu analysieren.
Änderungen im Azure-Portal benötigen hin und wieder einige Zeit bis sie wirksam werden.