Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Datenintegration und Datenzugriff » WKL OData-ODBC-Treiber » Anleitungen zum OData-ODBC-Treiber » So melden Sie sich mit persönlichem Schlüssel und zweitem Faktor an

So melden Sie sich mit persönlichem Schlüssel und zweitem Faktor an

Ein persönlicher Schlüssel (beginnt mit wkl_, 53 Zeichen) ist die Anmeldung einer Person am Datendienst, die überall funktioniert – ohne Domäne, ohne VPN und ohne SQL-Kennwort. Verlangt der Dienst zusätzlich einen zweiten Faktor, fragt der Treiber einmal je Sitzung einen Code aus der Authenticator-App ab. Diese Anleitung richtet beides für Access ein.

Lösungsübersicht

Die Verbindung nennt AUTH=KEY und keinen Schlüssel. Den Schlüssel gibt der Benutzer einmal im Anmeldeformular des Treibers ein und lässt ihn in der Windows-Anmeldeinformationsverwaltung speichern; die Access-Datei enthält ihn nie. Verlangt der Dienst einen zweiten Faktor, tauscht der Treiber einen Code gegen eine Sitzung, die für alle Verbindungen des Access-Prozesses gilt.

Umsetzung

  1. Lassen Sie sich einen Schlüssel ausstellen. Das tut die Verwaltung des Datendienstes, als Text oder als Einmal-Link; mit der Selbstbedienung des Dienstes auch die Person selbst (siehe „So legen Sie eine Person an und stellen ihr einen Schlüssel aus“ (Dokumentation der Verwaltungsanwendung)).
  2. Geben Sie die Verbindung ohne Schlüssel an: Wählen Sie beim Einrichten der Datenquelle unter Authentifizierung den Eintrag Persönlicher Schlüssel aus, oder setzen Sie per Code

    ODBC;DRIVER={Wkl OData};URL=https://daten.example.com/odata/v4/fachdaten/dbo/;AUTH=KEY

    Die Adresse muss mit https beginnen oder auf den eigenen Rechner zeigen; sonst sendet der Treiber den Schlüssel nicht und weist die Verbindung ab, bevor etwas gesendet ist (28000; siehe Verbindungszeichenfolge: Ausnahmen).

  3. Geben Sie beim ersten Verbinden den Schlüssel ein. Es erscheint das Formular Anmelden mit dem Hinweis „… Bitte geben Sie Ihren persönlichen Schlüssel ein (beginnt mit wkl_).“ Fügen Sie den Schlüssel ein, aktivieren Sie Schlüssel speichern (Windows-Anmeldeinformationen), und wählen Sie Anmelden aus. Der Treiber legt den Schlüssel unter dem Ziel Wkl.Data.OData.Odbc:(persönlicher Schlüssel)@<Dienststamm> ab, nur für Ihr Windows-Konto, und meldet sich künftig ohne Rückfrage an.

    Formular „Anmelden“ des Treibers mit dem Hinweis, dass der Dienst eine Anmeldung verlangt, einem Feld „Persönlicher Schlüssel“, dem Kontrollkästchen „Schlüssel speichern (Windows-Anmeldeinformationen)“ und den Schaltflächen Optionen, Anmelden und Abbrechen

  4. Geben Sie den zweiten Faktor ein, wenn der Dienst ihn verlangt: Im Dialog Zweiter Faktor auf dem Access-Fenster geben Sie im Feld Code aus der Authenticator-App den sechsstelligen Code ein und wählen Anmelden aus. Einen falschen Code fragt der Treiber mit der Meldung des Dienstes neu ab, höchstens dreimal.

    Dialog „Zweiter Faktor“ mit der Meldung des Dienstes, dem Feld „Code aus der Authenticator-App“ und den Schaltflächen Anmelden und Abbrechen

Ergebnis: Access verknüpft und liest; der Dienst nennt im Protokoll die Person und die Kennung des Schlüssels. Weitere Verknüpfungen desselben Access-Prozesses fragen keinen Code mehr, bis die Sitzung abläuft. Wie lange sie gilt, legt der Dienst fest, nicht der Treiber; beim Datendienst Wkl.Data.Gateway sind es in der Vorgabe 10 Stunden.

Anwendungen ohne Dialog (Skripte, Dienste, ADO.NET ohne Fenster) geben den Schlüssel in PWD und den Code in TOTP mit – oder eine Sitzung, die sie selbst eröffnet haben, in SESSION:

DRIVER={Wkl OData};URL=https://daten.example.com/odata/v4/fachdaten/dbo/;AUTH=KEY;PWD=wkl_…;TOTP=123456

Hinweise

  • Die Sitzung lebt im Prozess, nicht auf der Platte. Nach einem Neustart von Access fragt der Treiber einmal neu. Endet sie während der Arbeit, erscheint der Dialog erneut.
  • Ein Code für Anwendung und Treiber. Eine Access-Anwendung, die selbst einen Code gegen eine Sitzung getauscht hat (etwa mit der VBA-Klasse WklGatewayClient des Datendienstes), übergibt diese mit SESSION=; der Treiber fragt dann nicht noch einmal.
  • Berichte in Excel und Power BI können keinen Code eingeben. Dafür stellt die Verwaltung einen nur lesenden Schlüssel aus, der vom zweiten Faktor ausgenommen ist.
  • Nach „Abbrechen“ fragt der Treiber für denselben Dienst fünf Sekunden lang nicht erneut.
  • Access zeigt bei einem Fehlschlag nur „ODBC-Verbindung fehlgeschlagen“ (3151). Den Grund – etwa „Der persönliche Schlüssel ist abgelaufen.“ – zeigt die Ablaufverfolgung des Treibers und das Protokoll des Dienstes; andere Anwendungen erhalten ihn als Meldung.
  • Gespeicherten Schlüssel ersetzen oder entfernen: Öffnen Sie Systemsteuerung > Anmeldeinformationsverwaltung > Windows-Anmeldeinformationen, und bearbeiten oder entfernen Sie den Eintrag Wkl.Data.OData.Odbc:(persönlicher Schlüssel)@….

Verwandte Themen

de/wiki/data-conectivity/odata-odbc/how-to/sign-in-with-personal-key.txt · Zuletzt geändert: von Wolfgang van der Stille