it-swarm.com.de

Verwendung der Windows-Authentifizierung mit einem Docker-Container für SQL Server

Ich habe alle Beispiele durchgegangen, die ich online finden konnte, um Docker-Container-basierte Anwendungen zu erstellen. Ich möchte zwei Dienste ausführen, die in zwei Docker-Containern ausgeführt werden: 

  1. Ein Windows-Container, auf dem ASP.NET ausgeführt wird
  2. Ein Windows-Container, auf dem SQL Server ausgeführt wird

Einfache Arbeit und viele Beispiele. In allen Beispielen müssen Sie jedoch die SQL-Authentifizierung verwenden und als Umgebungsvariable ein hartcodiertes SA -Passwort angeben, wenn Sie den SQL-Server-Container ausführen. Sie müssen auch das Kennwort SA fest in die Verbindungszeichenfolge im ASP.Net-Code eingeben (oder es auch auf andere Weise in einer Konfigurationsdatei angeben usw.). 

In allen Beispielen ist das Passwort irgendwo hart codiert. 

In den meisten Anwendungen, die wir jetzt entwickeln, verwenden wir stattdessen die Windows-Authentifizierung oder verwenden stattdessen ein gruppiertes verwaltetes Dienstkonto. Soweit ich weiß, können Sie keinen Windows-Container zu einer Domäne hinzufügen. Daher ist der SQL-Server nicht Teil der Windows-Domäne, daher sehe ich hier keine Möglichkeit, die Windows-Authentifizierung zu verwenden.

Gibt es also eine Alternative zu hart codierten Passwörtern? 

10
IProgrammer

Ich habe genau das gleiche Problem. Hier ist das vollständigste Verfahren, das ich gefunden habe. Der Trick besteht darin, gMSA zu verwenden.

Aber, wie JanneRantala am Ende sagt, habe ich das gleiche Problem, wenn ich versuche, einen neuen Benutzer in die Datenbank aufzunehmen:

Meldung 15401, Ebene 16, Status 1, Zeile 3 Windows NT-Benutzer oder Gruppe 'YOUR_DOMAIN\gmsa $' nicht gefunden. Überprüfen Sie den Namen erneut.

1
G. Gomes

Die Windows-Authentifizierung ist in Windocks SQL Server-Containern automatisch aktiviert. Siehe hier für weitere Details. Bei den in Windocks erstellten SQL Server-Containern handelt es sich um benannte SQL Server-Instanzen, die automatisch aus dem Standard-SQL-Dienst erstellt werden, der bereits auf dem Windows Server (2012 R2 oder 2016) installiert ist. Alle Windows-Konten in der Standardinstanz werden in den Containerinstanzen automatisch aktiviert.

1
rameshpa

Hier erfahren Sie, wie es funktioniert. Windows Container - Walkthrough

Dies funktioniert jedoch nicht, wenn Ihre SQL-Anweisung auch in einem Container ausgeführt wird, da der SQL-Server selbst Teil von Active Directory sein muss, um GMSA-Konten verwenden zu können.

0