Udostępnij za pośrednictwem


Konfigurowanie uprawnień dla wdrożenia kompilacji zespołowej

Autor : Jason Lee

W tym temacie opisano sposób konfigurowania uprawnień umożliwiających serwerowi kompilacji wdrażanie zawartości na serwerach internetowych i serwerach baz danych w ramach zautomatyzowanego procesu kompilacji.

Ten temat stanowi część serii samouczków opartych na wymaganiach dotyczących wdrażania w przedsiębiorstwie fikcyjnej firmy o nazwie Fabrikam, Inc. W tej serii samouczków użyto przykładowego rozwiązania — rozwiązania Contact Manager — do reprezentowania aplikacji internetowej o realistycznym poziomie złożoności, w tym aplikacji ASP.NET MVC 3, usługi Windows Communication Foundation (WCF) i projektu bazy danych.

Metoda wdrażania w centrum tych samouczków jest oparta na metodzie podzielonego pliku projektu opisanego w opisie pliku projektu, w którym proces kompilacji jest kontrolowany przez dwa pliki projektu — jeden zawierający instrukcje kompilacji dotyczące każdego środowiska docelowego i jeden zawierający ustawienia kompilacji i wdrażania specyficzne dla środowiska. W czasie kompilacji plik projektu specyficzny dla środowiska jest scalony z plikiem projektu niezależnego od środowiska w celu utworzenia pełnego zestawu instrukcji kompilacji.

Przegląd zadań

Podczas instalowania usługi kompilacji serwera Team Foundation Server (TFS) 2010 należy określić tożsamość, za pomocą której ma być uruchamiana usługa. Domyślnie jest to konto Usługa sieciowa. Alternatywnie można skonfigurować usługę kompilacji do uruchamiania przy użyciu konta domeny.

Wszystkie zadania wdrażania, które wymagają uwierzytelniania systemu Windows i które planujesz zautomatyzować przy użyciu kompilacji zespołowej, będą uruchamiane przy użyciu tożsamości usługi kompilacji. W związku z tym należy udzielić tożsamości usługi kompilacji wszelkich wymaganych uprawnień na serwerach internetowych i serwerach baz danych.

Uwaga

Konto usługi sieciowej używa konta komputera do uwierzytelniania na innych komputerach. Konta maszyn mają postać [nazwa domeny][nazwa komputera]$— na przykład FABRIKAM\TFSBUILD$. W związku z tym, jeśli usługa kompilacji jest uruchamiana przy użyciu tożsamości usługi sieciowej, należy udzielić wszelkich wymaganych uprawnień tożsamości konta komputera dla serwera kompilacji.

Konfigurowanie uprawnień serwera sieci Web

Zgodnie z opisem w artykule Wybieranie odpowiedniego podejścia do wdrażania w Internecie istnieją dwa główne podejścia, których można użyć, jeśli chcesz wdrożyć pakiety internetowe na zdalnym serwerze sieci Web:

  • Wdróż aplikację z lokalizacji zdalnej, określając docelową usługę internetową Deployment Agent (znaną także jako agent zdalny) na serwerze docelowym.
  • Wdróż aplikację z lokalizacji zdalnej, kierując program obsługi web deploy usług Internet Information Services (IIS) na serwerze docelowym.

Agent zdalny ma dwa kluczowe ograniczenia w tym przypadku:

  • Agent zdalny obsługuje tylko uwierzytelnianie NTLM. Innymi słowy wdrożenie musi używać tożsamości usługi kompilacji — nie można personifikować innego konta.
  • Aby użyć agenta zdalnego, konto, które wykonuje wdrożenie, musi być administratorem na serwerze docelowym.

Te dwa ograniczenia sprawiają, że podejście agenta zdalnego jest niepożądane w przypadku zautomatyzowanego wdrożenia kompilacji zespołowej. Aby użyć tej metody, należy utworzyć konto usługi kompilacji jako administrator na dowolnych docelowych serwerach sieci Web.

Z kolei podejście obsługi web deploy oferuje różne zalety:

  • Program obsługi web deploy obsługuje podstawowe uwierzytelnianie za pośrednictwem protokołu HTTPS, co umożliwia przekazanie poświadczeń alternatywnego konta do narzędzia wdrażania w sieci Web usług IIS (Web Deploy).
  • Docelowe serwery sieci Web można skonfigurować tak, aby umożliwić użytkownikom niebędącym administratorem wdrażanie zawartości w określonych witrynach internetowych usług IIS przy użyciu programu obsługi web deploy.

W związku z tym wyraźnie lepiej jest kierować program obsługi web deploy podczas automatyzowania wdrażania pakietów internetowych z poziomu kompilacji zespołowej. Jest to zalecany proces:

  1. Utwórz konto domeny o niskim poziomie uprawnień do użycia na potrzeby wdrożenia.
  2. Skonfiguruj program obsługi programu Web Deploy i przyznaj kontu wymagane uprawnienia do wdrażania zawartości w określonej witrynie sieci Web USŁUG IIS, zgodnie z opisem w temacie Konfigurowanie serwera sieci Web na potrzeby publikowania w narzędziu Web Deploy (procedura obsługi web deploy).
  3. Wywołaj narzędzie Web Deploy i określ element docelowy programu obsługi web deploy przy użyciu uwierzytelniania podstawowego i podaj poświadczenia utworzonego konta domeny w celu wykonania wdrożenia.

W przykładowym rozwiązaniu Contact Manager należy określić typ uwierzytelniania (podstawowy lub NTLM), poświadczenia narzędzia Web Deploy oraz adres punktu końcowego (agenta zdalnego lub programu obsługi web deploy) w pliku projektu specyficznym dla środowiska. Te wartości są używane do formułowania i uruchamiania polecenia Web Deploy po wykonaniu pliku projektu. Aby uzyskać więcej informacji, zobacz Wdrażanie pakietów sieci Web.

Aby uzyskać więcej informacji na temat konfigurowania programu obsługi programu Web Deploy, w tym sposobu konfigurowania uprawnień, zobacz Konfigurowanie serwera sieci Web na potrzeby publikowania w narzędziu Web Deploy (program obsługi web deploy). Aby uzyskać więcej informacji na temat konfigurowania agenta zdalnego, zobacz Configuring a Web Server for Web Deploy Publishing (Remote Agent) (Konfigurowanie serwera sieci Web do publikowania w narzędziu Web Deploy (agent zdalny).

Konfigurowanie uprawnień serwera bazy danych

Aby wdrożyć bazę danych w SQL Server, należy wykonać następujące czynności:

  • Utwórz identyfikator logowania dla konta wdrażania w wystąpieniu SQL Server.
  • Udziel uprawnień dbCreator logowania w wystąpieniu SQL Server.
  • Po początkowym wdrożeniu dodaj identyfikator logowania do roli db_owner w docelowej bazie danych. Jest to wymagane, ponieważ w kolejnych wdrożeniach modyfikujesz istniejącą bazę danych zamiast tworzyć nową bazę danych.

Możesz uwierzytelnić się w wystąpieniu SQL Server przy użyciu uwierzytelniania NTLM lub uwierzytelniania SQL Server:

  • Jeśli używasz uwierzytelniania NTLM, musisz przyznać uprawnienia opisane powyżej do konta usługi kompilacji.
  • Jeśli używasz uwierzytelniania SQL Server, musisz przyznać uprawnienia opisane powyżej do konta SQL Server. Musisz również uwzględnić SQL Server nazwę użytkownika i hasło w parametrach połączenia używanych do wdrożenia bazy danych.

Aby uzyskać szczegółowe informacje na temat konfigurowania uprawnień do wdrażania bazy danych, zobacz Konfigurowanie serwera bazy danych na potrzeby publikowania w usłudze Web Deploy.

Podsumowanie

W tym momencie należy poznać wymagane uprawnienia wraz z otwartymi opcjami uwierzytelniania podczas automatyzowania wdrożeń aplikacji internetowych i baz danych z poziomu kompilacji zespołowej. Powinno być również możliwe zaimplementowanie niezbędnych uprawnień na serwerach sieci Web usług IIS i SQL Server serwerach baz danych.

Dalsze informacje

Aby uzyskać więcej informacji na temat konfigurowania środowisk systemu Windows Server do obsługi wdrażania zdalnego, zobacz Konfigurowanie środowisk serwera na potrzeby wdrażania w Sieci Web.