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.

Wdróż do Azure

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.x i www.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 FoxIDs
  • dockerRegistryCustomerId - Nazwa użytkownika, Twój identyfikator klienta
  • dockerRegistryPullSecret - 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)

FoxIDs Control Client - Master tenant

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.

FoxIDs Control Client - Master tenant admin user

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.

FoxIDs Control Client - main tenant

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.com lub https://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:

  1. Zaloguj się do FoxIDs Control Client przy użyciu domyślnej/starej domeny głównej. Wybierz zakładkę Applications, następnie kliknij OpenID Connect - foxids_control_client i kliknij Show advanced.

    • Dodaj URL nowej niestandardowej domeny głównej witryny FoxIDs Control do listy Allow CORS origins bez 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_callback i /master/authentication/logout_callback.

    Jeśli dodano tenanty przed zmianą domeny głównej, konfigurację OpenID Connect - foxids_control_client trzeba wykonać w każdym tenancie.

  2. 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ąc Add custom domain.
    • Jeśli konfigurujesz w reverse proxy: niestandardowe domeny główne są wystawiane przez reverse proxy.
  3. Następnie skonfiguruj nowe niestandardowe domeny główne witryny FoxIDs w FoxIDs App Service w zakładce Environment variables:

    • Ustawienie Settings__FoxIDsEndpoint zmień na nową niestandardową domenę główną witryny FoxIDs.
  4. I skonfiguruj nowe niestandardowe domeny główne witryny FoxIDs oraz FoxIDs Control w FoxIDs Control App Service w zakładce Environment variables:

    • Ustawienie Settings__FoxIDsEndpoint zmień na nową niestandardową domenę główną witryny FoxIDs.
    • Ustawienie Settings__FoxIDsControlEndpoint zmień na nową niestandardową domenę główną witryny FoxIDs Control.

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.

Configure reverse proxy secret

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-Language nie 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__TrustProxyHeaders z wartością true w Environment variables FoxIDs 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.

  1. Nadaj swój adres IP w firewallu Key Vault Configure reverse proxy secret - firewall

  2. Nadaj swojemu użytkownikowi uprawnienia List i Set w Access policies. Configure reverse proxy secret - permissions

  3. Dodaj sekret Settings--ProxySecret Configure reverse proxy secret

  4. 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ę.

Twoja prywatność

Używamy plików cookie, aby poprawić korzystanie z naszych stron internetowych. Kliknij przycisk „Akceptuj wszystkie pliki cookie”, aby wyrazić zgodę na ich użycie. Aby zrezygnować z nieistotnych plików cookie, kliknij „Tylko niezbędne pliki cookie”.

Odwiedź naszą politykę prywatności, aby dowiedzieć się więcej