2016-12-30 33 views
5

Przeszedłem przez wszystkie przykłady, jakie mogłem znaleźć w Internecie do budowania aplikacji opartych na kontenerach dookólnych. chciałbym, aby uruchomić dwie usługi uruchomione w dwóch pojemnikach Döcker:Sposób korzystania z uwierzytelniania systemu Windows przy użyciu kontenera dokera serwera SQL

  1. Kontener systemu Windows i ASP.NET
  2. pojemniku okna z programem SQL Server

przykłady łatwe zadanie i wiele. Jednak we wszystkich przykładach należy używać uwierzytelniania SQL i dostarczać zakodowane hasło SA jako zmienną środowiskową podczas uruchamiania kontenera serwera SQL. Trzeba również mocno zakodować hasło SA w łańcuchu połączenia w kodzie ASP.Net (lub podać go w jakiś inny sposób w pliku konfiguracyjnym itp.).

Dolna linia we wszystkich przykładach hasło jest trudne zakodowane gdzieś.

W większości aplikacji, które teraz rozwijamy, zamiast tego korzystamy z uwierzytelniania systemu Windows lub zamiast tego korzystamy z grupowego konta usług zarządzanych. Ale o ile wiem, nie można dodać kontenera Windows do domeny, więc serwer SQL nie jest częścią domeny Windows, więc nie widzę sposobu na użycie uwierzytelniania systemu Windows tutaj.

Czy ktoś ma w ten sposób alternatywę dla haseł o kodach twardych?

Odpowiedz

1

Mam do czynienia dokładnie z tym samym problemem. Here to najbardziej kompletna procedura, jaką znalazłem. Sztuką jest użycie gMSA.

Ale, jak JanneRantala mówi na koniec, mam ten sam problem podczas próby dodania nowego użytkownika w bazie danych:

Msg 15401, Level 16, State 1, Linia 3 Okna Nie znaleziono użytkownika lub grupy NT "YOUR_DOMAIN \ gmsa $". Sprawdź nazwę ponownie.

+1

Dzięki. Czytałem również o gMSA, ale nie mogę w pełni zrozumieć, jak działa uwierzytelnianie. Podobny problem dotyczy uwierzytelniania systemu Windows na serwerze IIS. Mam nadzieję, że ewoluuje odpowiednia dokumentacja, ponieważ ta wspaniała technologia ewoluuje w środowisku Windows. – IProgrammer

0

Oto instrukcja jak to zrobić. Windows Containers Walkthrough

Nie działa to jednak, jeśli SQL działa również w kontenerze, ponieważ sam serwer SQL musi być częścią Active Directory, aby móc korzystać z kont GMSA.

+2

Dzięki. Już to przygotowałem. Ale to jest właśnie problem, który próbuję rozwiązać. Chcę, aby cała aplikacja działała w kontenerach - zarówno sql, jak i IIS. – IProgrammer

+0

Jeśli są one uruchomione w różnych pojemnikach, to nigdy nie będzie to możliwe. Jeśli działają w pojedynczym pojemniku, prawdopodobnie istnieje sposób obejścia tego. Nie musisz też kodować w zbiorniku żadnych danych, jeśli jest to twoja główna uwaga, możesz przekazywać sekrety za pomocą zmiennych środowiskowych po uruchomieniu kontenera –

+0

Dzięki GSA.Po przeczytaniu komentarza przeczytałem i wydaje mi się, że może to być dobra droga do przodu: https://www.ctl.io/developers/blog/post/tutorial-protecting-sensitive-info-docker – IProgrammer

1

Autoryzacja systemu Windows jest automatycznie włączona w kontenerach Windocks SQL Server. Aby uzyskać więcej informacji, patrz here. Kontenery SQL Server utworzone w Windokach to instancje nazwane przez program SQL Server utworzone automatycznie z domyślnej usługi SQL, która jest już zainstalowana na serwerze Windows (2012 R2 lub 2016). Wszystkie konta systemu Windows w instancji domyślnej są automatycznie włączone w instancjach kontenera.