AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken MSSQL - Zugriff bei integrierter Sicherheit testen
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL - Zugriff bei integrierter Sicherheit testen

Ein Thema von DeddyH · begonnen am 10. Jun 2021 · letzter Beitrag vom 11. Jun 2021
Antwort Antwort
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.251 Beiträge
 
Delphi 12 Athens
 
#1

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 10:33
Du kannst beim Dienst ja sagen, welches Konto er benutzen soll. Mach doch einfach ein Konto so, wie du es testen willst + starten den Dienst mit diesem Konto.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#2

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 10:43
Ich möchte ja, bevor ich den Dienst starte, den Zugriff testen, im Kontext eines Setups und/oder Konfigurationsprogramms. Hier liegt das Hauptproblem. Ein Gedanke war, einfach ein kleines Testprogramm zu schreiben, welches mit übergebenen Daten (Datenbankserver, Name der Datenbank) einen Connect versucht und das Ergebnis zurückmeldet. Dieses Programm könnte ich aus dem Setup heraus unter dem angegebenen Benutzeraccount starten, aber schon das ist ja nicht ganz trivial, vor allem, wenn ich einen Passwort-Prompt vermeiden möchte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
464 Beiträge
 
Delphi 12 Athens
 
#3

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 11:23
Mit FD weiß ich es auch nicht; aber mit ADO geht es ganz einfach:

Delphi-Quellcode:
with TADOConnection.Create(self) do
 try
 ConnectionString:='Provider=SQLOLEDB;Integrated Security=SSPI;OLE DB Services = -2;Initial Catalog=[Name der Datenbank];Data Source=[Name des SQLServers];Current Language=german';
 LoginPrompt:=false;
 Connected:=true;
 except {wenn es nicht geklappt hat} end;
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
464 Beiträge
 
Delphi 12 Athens
 
#4

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 11:23
Sorry, ADOConnection muss am Ende natürlich auch wieder freigegeben werden.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.216 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 11:25
Trivial sicher nicht, aber ich glaube das Auslagern in einen eigenen Prozess ist wahrscheinlich immer noch einfacher als zu versuchen, das in der Setup-Anwendung nachzubilden, mit all der AD-Authentifizierung und allem. Mit runas könnte man Windows wahrscheinlich auch die Eingabe des Passwortes übernehmen lassen, dann muss man sich damit auch nicht herumschlagen.

Und das Tool braucht ja keine Oberfläche, Benutzer und Kennwort könnte man ihm über Kommandozeile oder Umgebungsvariablen mitgeben und der Rückgabewert beim Beenden des Prozesses muss nur sagen "Ging" oder "ging nicht". Oder es loggt halt Dinge wie eine sprechende Fehlermeldung in eine Textdatei.

So ein kleines Testprogramm ließe sich vielleicht auch recyclen für den Fall der Kunde (oder sein Dienstleister) eines Tages was an Servernamen oder Berechtigungen ändert.
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
464 Beiträge
 
Delphi 12 Athens
 
#6

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 11:26
Ups, da habe ich gepennt. Mein Beispiel versucht es ja nur mit dem aktuell angemeldeten User.
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
464 Beiträge
 
Delphi 12 Athens
 
#7

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 11:30
Mir fällt jetzt aber noch etwas anderes ein: Als Kunde würde ich nur ungern meine Windows-Anmeldedaten irgendwo in eine Anwendung eintippen, die nicht Windows selbst ist. Hätte ich kein gutes Gefühl dabei. Ist aber Geschmackssache.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#8

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 12:18
Das ist ja nur eine Option.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#9

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 12:48
"Integrierte Sicherheit" sagt, dass das Konto verwendet wird, welches den Prozess ausführt.

Wenn etwas als Dienst läuft, läuft der Prozess im Dienstkonto. Dieses kannst du auch berechtigen in der DB.
Das alles geht auch ohne AD.
Evtl. musst du das Computerkonto berechtigen, wenn das o.g. Konto nicht geht. Computerkonten heißen so wie der PC mit angehängten $ -> MeinPC$
Du kannst den Dienst natürlich auch in jedem beliebigen Konto laufen lassen. Das kannst du in den Dienst-Einstellungen hinterlegen.

Ich als Benutzer freue mich über jedes Passwort welches ich nicht eingeben muss, schließlich bin ich schon in Windows angemeldet.

Das mit den Dienst und dem Systemkonto klingt erstmal komisch für mich.
Das Hauptprogramm läuft doch im Benutzerkonto. Welchen Grund hast du, dass du einen Services zwischen brauchst?
Wenn der Service notwendig ist, dann müsste der Service auf das Benutzerkonto eine Impersonation durchführen.
Alternativ müsste die Verbindung vom Hauptprogramm authentifiziert werden und die Berechtigungen müssen geprüft werden, um dann mit einen Servicekonto in die DB weiter zu gehen.

Ich erwähne dieses, weil schön ist, dass Benutzerkonto von vorne bis hinten zur Verfügung zu haben. Berechtigungen und Audits gehen dann erheblich leichter. Auch die Rechte sollte imho immer am zu sichernden Objekt liegen z.B. an der Datenbanktabelle, Sicht oder Prozedur. Dadurch können auch Daten einfacher gefiltert werden.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.216 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: MSSQL - Zugriff bei integrierter Sicherheit testen

  Alt 10. Jun 2021, 12:35
Als Kunde würde ich nur ungern meine Windows-Anmeldedaten irgendwo in eine Anwendung eintippen, die nicht Windows selbst ist. Hätte ich kein gutes Gefühl dabei.
Ich auch nicht. Deshalb mein Vorschlag mit dem runas, da sollte Windows selbst die Authentifizierung handeln.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz