Zugreifen auf eine freigegebene Datei (UNC) von einer nicht vertrauenswürdigen Remote-Domäne mit Anmeldeinformationen

Wir haben in eine interessante situation, die Bedürfnisse zu lösen, und meine Recherchen haben aufgedeckt nill. Ich rufe deshalb die öffentlichkeit um Hilfe.

Das Problem ist dieses: wir müssen den programmgesteuerten Zugriff auf eine freigegebene Datei, die nicht in unserer Domäne und nicht in einer vertrauenswürdigen externen Domäne über remote-file-sharing /UNC. Natürlich, wir müssen Anmeldeinformationen eingeben, um die remote-Maschine.

Normalerweise löst man dieses problem in einer von zwei Möglichkeiten:

  1. Anzeigen der Datei-Freigabe als Laufwerk und die Anmeldeinformationen an, die Zeit. Dies erfolgt in der Regel die NET USE Befehl oder die Win32-Funktionen, die doppelte NET USE.
  2. Auf die Datei mit einem UNC-Pfad, als ob der remote-computer auf die Domäne und sicherzustellen, dass das Konto, unter dem das Programm ausgeführt wird, wird verdoppelt (inklusive Passwort) auf dem remote-Rechner als lokale Benutzer. Im Grunde nutzen die Tatsache, dass Windows automatisch die Versorgung der Anmeldeinformationen des aktuellen Benutzers, wenn der Benutzer versucht, Zugriff auf eine freigegebene Datei.
  3. Don ' T verwenden remote-file-sharing. Verwenden Sie FTP (oder irgendeinem anderen Wege) zu übertragen Sie die Datei, arbeiten Sie vor Ort und übertragen Sie Sie anschließend wieder.

Für verschiedene und verschiedene Gründe, unsere security /Netzwerk Architekten abgelehnt haben die beiden ersten Ansätzen. Der zweite Ansatz ist offensichtlich ein Sicherheitsproblem; wenn der remote-computer kompromittiert wird, kann der lokale computer ist nun in Gefahr. Der erste Ansatz ist unbefriedigend, weil die neu eingehängten Laufwerk ist eine gemeinsame Ressource zur Verfügung, um andere Programme auf dem lokalen computer während der file-Zugriff durch das Programm. Obwohl es durchaus möglich ist, stellen Sie diese temporär, es ist immer noch ein Loch in Ihrer Meinung.

Sind Sie offen für die Dritte option, aber die remote-Netzwerk-admins bestehen auf SFTP statt FTPS und FtpWebRequest nur FTPS unterstützt. SFTP ist die mehr firewall-freundliche option und es gibt ein paar Bibliotheken, die ich benutzen könnte für diesen Ansatz, aber ich würde es vorziehen, zu reduzieren, meine Abhängigkeiten, wenn ich kann.

Habe ich gesucht, MSDN, entweder für eine verwaltete oder eine win32-Nutzung von remote-file-sharing, aber ich konnte nicht kommen mit etwas sinnvolles.

Und so Frage ich: gibt es einen anderen Weg? Habe ich einmal eine super-geheime win32-Funktion, die tut, was ich will? Oder muss ich verfolgen eine Variante von option 3?

InformationsquelleAutor der Frage Randolpho | 2009-03-18

Schreibe einen Kommentar