Wdrożenie obsługi wielu tenantów
Podsumowanie:Podczas instalacji nowej witryny nAxiom na serwerze IIS (Windows) tworzony jest login i baza danych administratora tenantów oraz login i baza danych pierwszego tenanta. W przypadku wdrażania platformy nAxiom jako zestawu kontenerów, konieczne jest powołanie pierwszego tenanta, co szczegółowo opisano w osobnym artykule.
Podczas instalacji nowej witryny nAxiom na serwerze IIS (Windows) tworzony jest login i baza danych administratora tenantów oraz login i baza danych pierwszego tenanta. W przypadku aktualizacji witryny z wersji nAxiom wcześniejszej niż 1.11, pierwszy tenant jest tworzony na podstawie dotychczasowej konfiguracji (pliki appsettings.json poszczególnych serwisów). Szczegóły instalacji opisano w Przewodniku instalacji .
Podczas aktualizacji parametry połączenia z bazą danych dla pierwszego tenanta są pobierane z pliku appsettings.json serwisu api.
Najważniejsze kwestie, o których należy pamiętać, to:
-
Aby umożliwić połączenia https dla wielu tenantów wymagany jest certyfikat SSL typu wildcard na poziomie bazowego adresu URL witryny nAxiom. Ten adres jest określany w polu
Hostw kroku konfiguracji serwera IIS podczas instalacji i zapisywany w pliku appsettings.json serwisu api. Przykładowo:
| Adres bazowy | Certyfikat dla |
|---|---|
| domena.com | domena.com, *.domena.com |
| sub.domena.com | sub.domena.com, *.sub.domena.com |
| test.sub.domena.com | test.sub.domena.com, *.test.sub.domena.com |
- Instalacja serwisów tenantsapi i tenantsadmin musi być włączona (ustawienie domyślne).
- Jeśli baza danych administratora tenantów nie istnieje, wymagane jest podanie poświadczeń administratora bazy danych (sysadmin albo co najmniej dbcreator i securityadmin).
- Minimalny wymagany zestaw ról dla loginu do bazy administratora tenantów to dbcreator, securityadmin i public.
W przypadku wdrażania platformy nAxiom jako zestawu kontenerów, konieczne jest powołanie pierwszego tenanta. Można to zrobić na dwa sposoby, które szczegółowo opisano w artykule Wdrożenie nAxiom z obrazów Docker . Poniżej wypunktowano najważniejsze informacje.
- Parametry połączenia z serwerem bazy danych dla bazy administratora tenantów podaje się w pliku appsettings-custom.json dla serwisu tenant-api.
- W celu utworzenia pierwszego tenanta w aplikacji TenantAdminSPA należy uruchomić tylko kontenery serwisów tenant-admin i tenant-api, następnie należy zalogować się jako administrator tenantów (login: tenantsadmin, hasło jest dostarczane z pakietem instalacyjnym) do aplikacji TenantAdminSPA pod adresem https://<bazowy_URL_nAxiom>/tenantsadmin i tam zdefiniować pierwszego tenanta zgodnie z opisem w dalszej części tego artykułu.
- Alternatywnie, można przygotować pliki konfiguracyjne appsettings.json serwisów dotnetowych, dodać do ich nazw nazwy serwisów jako przedrostek (np. api_appsettings.json) i skopiować do folderu o nazwie toMigrate. Jeśli podczas uruchamiania pełnego zestawu kontenerów nAxiom taki folder zostanie wykryty w katalogu głównym wdrożenia, na podstawie plików konfiguracyjnych zostanie utworzony pierwszy tenant.