Azure App Service Container
Wdróż FoxIDs w swoim tenancie Azure jako prywatną chmurę.
Instalacja FoxIDs jest jak wiadro: nie ma zewnętrznych zależności i łatwo osiągnąć bardzo wysoką dostępność przy niewielkim wysiłku.
FoxIDs aktualizuje się przez aktualizację dwóch obrazów Docker www.foxids.com/foxids:x.x.x i www.foxids.com/foxidscontrol:x.x.x
na nową wersję. Nowe wydania FoxIDs są backward compatible. Przed aktualizacją sprawdź informacje o wydaniu. Znajdziesz tam również aktualną wersję obrazu Docker.
Do uzyskania dostępu do wydań FoxIDs wymagana jest ważna licencja. Stamtąd możesz wygenerować secret do uwierzytelniania w rejestrze obrazów Docker pod adresem www.foxids.com, który używa uwierzytelniania Basic.
FoxIDs jest wdrażany w grupie zasobów FoxIDs (nazwa opcjonalna), gdzie musisz mieć rolę Owner lub Contributor oraz User Access Administrator na poziomie subskrypcji lub grupy zasobów.
Możesz wykonać małe wdrożenie do Azure o niskim zużyciu zasobów, w cenie ok. €80 do €100 miesięcznie.
Wdrożenie kontenerowe Azure obejmuje:
- Dwie App Services: jedna dla witryny FoxIDs i jedna dla witryny FoxIDs Control (Client i API). Obie App Services są hostowane w tym samym planie App Service na Linux.
- FoxIDs jest wdrożony z dwóch obrazów Docker
www.foxids.com/foxids:x.x.xiwww.foxids.com/foxidscontrol:x.x.x. - Key Vault. Certyfikaty i sekrety są przechowywane i obsługiwane w Key Vault.
- Cosmos DB. Zawiera wszystkie dane, w tym tenanty, środowiska i użytkowników. Cosmos DB to baza NoSQL, a dane są zapisywane jako dokumenty JSON.
- Redis cache. Przechowuje sekwencje (np. logowanie i wylogowanie), cache danych dla wydajności oraz liczniki do ochrony uwierzytelniania przed różnymi atakami.
- Application Insights i Log Analytics workspace. Logi są wysyłane do Application Insights i analizowane w Log Analytics workspace.
- VLAN z podsieciami.
- Podsieć dla App Services, Cosmos DB i Key Vault.
- Podsieć z Private Link do Redis.
Alternatywą jest wdrożenie FoxIDs z Kubernetes (K8s) w Azure Kubernetes Service (AKS).
Parametry w ARM template
Ustaw parametry podczas wdrożenia, albo pobierz ARM templates tutaj i zaktualizuj parametry w azuredeploy.json lub azuredeploy-small.json:
foxidsVersion- Wersja FoxIDsdockerRegistryCustomerId- Nazwa użytkownika, Twój identyfikator klientadockerRegistryPullSecret- Hasło, Twój pull secret
Możesz także wdrożyć z linii poleceń, podając parametry bezpośrednio. Nazwa użytkownika to Twój identyfikator klienta, a hasło to Twój pull secret:
az deployment group create --resource-group FoxIDs --template-file azuredeploy.json --parameters foxidsVersion=<foxids-version> dockerRegistryCustomerId=<customer-id> dockerRegistryPullSecret=<pull-secret>
Wysyłanie e-maili przez SendGrid lub SMTP
FoxIDs obsługuje wysyłanie e-maili przez SendGrid i SMTP jako dostawcę e-maili.
Pierwsze logowanie i użytkownicy administratorzy
Po pomyślnym wdrożeniu otwórz FoxIDs Control Client pod adresem https://foxidscontrolxxxxxxxxxx.azurewebsites.net (App Service zaczynający się od foxidscontrol...), co przeniesie Cię do tenanta master.
Domyślny użytkownik administratora to admin@foxids.com z hasłem FirstAccess! (przy pierwszym logowaniu musisz zmienić hasło)

Opcjonalnie przejdź do zakładki Users i utwórz dodatkowych administratorów oraz nadaj użytkownikom rolę admin role z wartością foxids:tenant.admin.

Zasadniczo nie należy zmieniać konfiguracji rejestracji aplikacji i metod uwierzytelniania w tenancie master, chyba że masz pełną pewność co do skutków.
Zamiast tego przejdź do następnego kroku i utwórz tenant main.
Utwórz tenant main
Utwórz tenant main dla swoich środowisk.
Rozważ domeny niestandardowe przed utworzeniem tenanta
main.
Kliknij New Tenant i utwórz tenant main.

Zaloguj się do tenanta main, gdzie możesz zacząć konfigurować aplikacje i metody uwierzytelniania.
Domeny niestandardowe
Domeny niestandardowe konfiguruje się za pomocą niestandardowych domen głównych oraz domeny niestandardowej na tenancie main.
Niestandardowe domeny główne
Główne domeny witryn FoxIDs i FoxIDs Control można dostosować. Nowe niestandardowe domeny główne można skonfigurować w App Services lub za pomocą reverse proxy.
Ważne: zmień domenę główną przed dodaniem tenantów.
Domeny:
- Domyślna domena witryny FoxIDs to
https://foxidsxxxx.azurewebsites.net, którą można zmienić na niestandardową domenę główną, np.https://somedomain.comlubhttps://id.somedomain.com - Domyślna domena witryny FoxIDs Control to
https://foxidscontrolxxxx.azurewebsites.net, którą można zmienić na niestandardową domenę główną, np.https://control.somedomain.com
Witryna FoxIDs obsługuje jedną domenę główną i wiele domen niestandardowych połączonych z tenantami innymi niż master. Witryna FoxIDs Control obsługuje tylko jedną domenę główną.
Skonfiguruj nowe niestandardowe domeny główne:
Zaloguj się do FoxIDs Control Client przy użyciu domyślnej/starej domeny głównej. Wybierz zakładkę
Applications, następnie kliknijOpenID Connect - foxids_control_clienti kliknijShow advanced.- Dodaj URL nowej niestandardowej domeny głównej witryny FoxIDs Control do listy
Allow CORS originsbez końcowego ukośnika. - Dodaj adresy URL przekierowań logowania i wylogowania nowej niestandardowej domeny głównej FoxIDs Control Client do listy
Redirect URIs, wraz z końcowym/master/authentication/login_callbacki/master/authentication/logout_callback.
Jeśli dodano tenanty przed zmianą domeny głównej, konfigurację
OpenID Connect - foxids_control_clienttrzeba wykonać w każdym tenancie.- Dodaj URL nowej niestandardowej domeny głównej witryny FoxIDs Control do listy
Niestandardowe domeny główne są konfigurowane w każdej App Service lub przez reverse proxy. W zależności od reverse proxy może być konieczne skonfigurowanie domen również w App Services:
- Jeśli konfigurujesz w App Services: dodaj niestandardowe domeny główne w portalu Azure w FoxIDs App Service i FoxIDs Control App Service w zakładce
Custom domains, klikającAdd custom domain. - Jeśli konfigurujesz w reverse proxy: niestandardowe domeny główne są wystawiane przez reverse proxy.
- Jeśli konfigurujesz w App Services: dodaj niestandardowe domeny główne w portalu Azure w FoxIDs App Service i FoxIDs Control App Service w zakładce
Następnie skonfiguruj nowe niestandardowe domeny główne witryny FoxIDs w FoxIDs App Service w zakładce
Environment variables:- Ustawienie
Settings__FoxIDsEndpointzmień na nową niestandardową domenę główną witryny FoxIDs.
- Ustawienie
I skonfiguruj nowe niestandardowe domeny główne witryny FoxIDs oraz FoxIDs Control w FoxIDs Control App Service w zakładce
Environment variables:- Ustawienie
Settings__FoxIDsEndpointzmień na nową niestandardową domenę główną witryny FoxIDs. - Ustawienie
Settings__FoxIDsControlEndpointzmień na nową niestandardową domenę główną witryny FoxIDs Control.
- Ustawienie
Domena niestandardowa w tenancie main
Możesz uzyskać krótszy i ładniejszy URL bez segmentu tenanta, konfigurując niestandardową domenę główną witryny FoxIDs w tenancie main jako domenę niestandardową.
Domeny niestandardowe są obsługiwane, jeśli witryna FoxIDs jest za reverse proxy, które potrafi przepisywać domeny.
Alternatywnie FoxIDs obsługuje domeny niestandardowe przez odczyt domeny z żądania HTTP i użycie tej domeny jako domeny niestandardowej, jeśli ustawienie Setting__RequestDomainAsCustomDomain ma wartość true w Environment variables FoxIDs App Service.
W takim przypadku FoxIDs App Service musi być skonfigurowany z domeną niestandardową.
Domena jest konfigurowana w tenancie main i oznaczana jako zweryfikowana w tenancie master.

Reverse proxy
Zaleca się umieszczenie zarówno FoxIDs Azure App Service, jak i FoxIDs Control Azure App Service za reverse proxy.
Azure Front Door
Azure Front Door można skonfigurować jako reverse proxy. Azure Front Door domyślnie przepisuje domeny.
NIE włączaj cache. Nagłówek
Accept-Languagenie jest przekazywany, gdy cache jest włączony. Nagłówek jest wymagany przez FoxIDs do obsługi kultur.
Konfiguracja:
- Dodaj endpoint Azure Front Door zarówno dla FoxIDs App Service, jak i FoxIDs Control App Service
- W sekcji Networking App Services włącz ograniczenie dostępu, aby zezwalać tylko na ruch z Azure Front Door
- Dodaj ustawienie
Settings__TrustProxyHeadersz wartościątruewEnvironment variablesFoxIDs App Service - Wyłącz Session affinity
- Opcjonalnie skonfiguruj zasady WAF
Alternatywne reverse proxy
Możesz opcjonalnie wybrać alternatywne reverse proxy.
Ogranicz dostęp Opcjonalnie ogranicz dostęp, jeśli używasz innego reverse proxy niż Azure Front Door.
Witryny FoxIDs i FoxIDs Control mogą ograniczać dostęp na podstawie nagłówka HTTP X-FoxIDs-Secret.
Ograniczenie dostępu jest aktywowane przez dodanie sekretu o nazwie Settings--ProxySecret w Key Vault.
Nadaj swój adres IP w firewallu Key Vault

Nadaj swojemu użytkownikowi uprawnienia List i Set w Access policies.

Dodaj sekret
Settings--ProxySecret
Po pomyślnej konfiguracji usuń swój adres IP i uprawnienia.
App Services muszą zostać zrestartowane, aby odczytać sekret.
Po skonfigurowaniu sekretu reverse proxy w Key Vault reverse proxy musi dodawać nagłówek HTTP X-FoxIDs-Secret we wszystkich żądaniach do FoxIDs, aby uzyskać dostęp.
Określ stronę domyślną
Alternatywną stronę domyślną dla witryny FoxIDs można skonfigurować za pomocą ustawienia Settings__WebsiteUrl, np. https://www.foxidsxxxx.com, w Environment variables FoxIDs App Service.
Rozwiązywanie problemów wdrożeniowych
Key Vault usunięty miękko
Jeśli usunąłeś wcześniejsze wdrożenie, Key Vault jest tylko „soft deleted” i nadal istnieje z tą samą nazwą przez kilka miesięcy. W takim przypadku możesz otrzymać błąd 'ConflictError' z komunikatem 'Exist soft deleted vault with the same name.'.
Rozwiązaniem jest usunięcie (purge) starego Key Vault, co zwolni nazwę.