So richten Sie die Anmeldung mit einer SQL-Anmeldung ein
Wer SQL Server bisher mit Name und Kennwort erreicht, meldet sich mit derselben Anmeldung am Dienst an. SQL Server prüft das Kennwort selbst, und die Anweisungen laufen unter dieser Anmeldung – Rechte, Spaltenvorgaben und Trigger sehen sie wie bei einer direkten Verbindung.
Lösungsübersicht
Drei Dinge gehören zusammen: das Verfahren in der Konfigurationsdatei (AuthMode mit SqlLogin), der
Schalter an der Datenquelle (SQL-Anmeldungen bzw. AllowSqlLogins) und eine Zuordnung von
Anmeldungen zu Regeln. Die Reihenfolge hängt davon ab, wo Datenquellen und Zuordnungen stehen:
- Mit Verwaltungsspeicher zuerst das Verfahren und ein Neustart, danach Schalter und Zuordnung in der Verwaltung. Die Verwaltung nimmt beides erst an, wenn das Verfahren eingeschaltet ist.
- Ohne Verwaltungsspeicher alle drei Angaben in der Konfigurationsdatei, danach ein Neustart. Fehlt eine davon, startet der Dienst nicht.
Regeln und Antworten: Anmeldung: SQL-Anmeldung.
Umsetzung
Ergänzen Sie in der Konfigurationsdatei
SqlLogininAuthMode, und behalten Sie die Verfahren, die dort schon stehen. Beispiel mit Verwaltungsspeicher:"Security": { "AuthMode": "ApiKey, PersonalKey, SqlLogin" }Ohne Verwaltungsspeicher gibt es keine persönlichen Schlüssel; mit
PersonalKeystartet der Dienst dann nicht. Dort lautet das Beispiel"ApiKey, SqlLogin".- Mit Verwaltungsspeicher: Starten Sie den Dienst jetzt neu. Er startet und meldet im Protokoll, dass die SQL-Anmeldung noch nicht nutzbar ist. Bis Schritt 2 erledigt ist, endet eine Anmeldung mit Name und Kennwort mit
401, ohne dass der Dienst SQL Server fragt. Zwischen Schritt 2 und 3 prüft SQL Server das Kennwort, die Anfrage wird aber abgewiesen, weil der Anmeldung noch keine Regel zugeordnet ist. - Ohne Verwaltungsspeicher: Starten Sie noch nicht neu; die Schritte 2 und 3 gehören in dieselbe Datei.
- Schalten Sie die Datenquelle frei.
- Mit Verwaltungsspeicher: Datenquellen, Datenquelle markieren, in der Maske SQL-Anmeldungen aktivieren, zurück in die Liste wechseln. Die Änderung wirkt sofort.
- Ohne Verwaltungsspeicher:
"AllowSqlLogins": trueam Eintrag der Datenquelle.
- Ordnen Sie Anmeldungen Regeln zu (
*steht für jede Anmeldung). Jede genannte Regel muss es bereits geben.- Mit Verwaltungsspeicher: Zuordnungen, Register SQL-Anmeldungen; siehe „So ordnen Sie SQL-Anmeldungen zu“ (Dokumentation der Verwaltungsanwendung). Die Zuordnung wirkt sofort, ein Neustart ist nicht nötig.
Ohne Verwaltungsspeicher: Tragen Sie die Zuordnungen unter
Securityein, und starten Sie den Dienst neu.Clientnennt dieIdeiner Regel unterSecurity:Clients; fehlt sie, startet der Dienst nicht:"Security": { "SqlLogins": [ { "Login": "*", "Client": "fachdaten-lesen" }, { "Login": "pflege1", "Client": "fachdaten-pflege" } ] }
- Verbinden Sie den Client mit Name und Kennwort – der ODBC-Treiber mit
UIDundPWD– überhttpsoder vom Rechner des Dienstes. - Prüfen Sie: Ein Lesezugriff mit Name und Kennwort antwortet
200, ein falsches Kennwort401. Ist für die Anmeldung die Durchreiche freigegeben, liefert eine eigene AnweisungSELECT SUSER_SNAME()den Namen der Anmeldung. Fehlversuche begrenzt der Dienst: höchstens 5 je Anmeldung und Alias und 20 je Herkunft in einer Minute, danach429, auch mit richtigem Kennwort – beim Ausprobieren also eine Minute warten.
Hinweise
- Nur über eine geschützte Verbindung: HTTPS, ein vertrauter Proxy mit
X-Forwarded-Proto: httpsoder eine Anfrage vom eigenen Rechner. Sonst antwortet der Dienst403, ohne das Kennwort zu versuchen; siehe Fehlerbehebung. - SQL Server braucht die gemischte Authentifizierung. Ein abgelaufenes Kennwort ergibt
401; ändern lässt es sich über den Dienst nicht. - Jede Anmeldung führt einen eigenen Verbindungspool; viele gleichzeitig angemeldete Personen belegen entsprechend viele Verbindungen.
- Eine Sammelanmeldung, die sich Personen mit einem geteilten Kennwort teilen, ist nicht empfohlen – dafür gibt es „So richten Sie Datenbank-Identitäten ein“ (Dokumentation der Verwaltungsanwendung).