Azure App Service Container
Deploy FoxIDs in je Azure tenant als je eigen private cloud.
Een FoxIDs installatie is als een bucket, er zijn geen externe dependencies en het is eenvoudig om met weinig moeite een zeer hoge uptime te bereiken. FoxIDs wordt geüpdatet door de twee App Services te updaten naar de nieuwe FoxIDs versie. Nieuwe FoxIDs releases zijn backwards compatible, raadpleeg de release notes voordat je update.
FoxIDs wordt gedeployed in de resource group FoxIDs (optionele naam) waarvoor je Owner of Contributor en User Access Administrator moet zijn op subscription- of resource group niveau.
Je kunt een kleine deployment naar Azure doen met laag resourceverbruik tegen een Azure prijs van circa €80 tot €100 per maand.
De Azure container deployment omvat:
- Twee App Services: één voor de FoxIDs site en één voor de FoxIDs Control site (Client en API). Beide App Services worden gehost in hetzelfde Linux App Service plan.
- FoxIDs wordt gedeployed met Docker containers van Docker Hub en beide App Services zijn geconfigureerd met continuous deployment.
- Key Vault. Certificaten en secrets worden opgeslagen en beheerd in Key Vault.
- Cosmos DB. Bevat alle data inclusief tenants, omgevingen en gebruikers. Cosmos DB is een NoSQL database en data wordt opgeslagen in JSON documenten.
- Redis cache. Bevat sequenties (bijv. login en logout), data cache om performance te verbeteren en counters om authenticatie te beveiligen tegen verschillende aanvallen.
- Application Insights en Log Analytics workspace. Logs worden naar Application Insights gestuurd en in Log Analytics workspace gequeryd.
- VLAN met subnetten.
- Subnet voor App Services, Cosmos DB en Key Vault.
- Subnet met Private Link naar Redis.
Een ander alternatief is om FoxIDs met Kubernetes (K8s) te deployen in Azure Kubernetes Service (AKS).
E-mails verzenden met Sendgrid of SMTP
FoxIDs ondersteunt het verzenden van e-mails met SendGrid en SMTP als email provider.
Eerste login en admin users
Na een succesvolle deployment open je FoxIDs Control Client op https://foxidscontrolxxxxxxxxxx.azurewebsites.net (de App Service die begint met foxidscontrol...) wat je naar de master tenant brengt.
De standaard admin gebruiker is admin@foxids.com met wachtwoord FirstAccess! (je moet het wachtwoord wijzigen bij de eerste login)

Ga optioneel naar het tabblad Users en maak meer admin users aan en geef de gebruikers de admin role met waarde foxids:tenant.admin.

Je moet de applicatieregistraties en authenticatiemethoden configuratie in de master tenant in het algemeen niet wijzigen, tenzij je zeker weet wat je doet.
Ga in plaats daarvan verder met de volgende stap om een main tenant te maken.
Main tenant maken
Maak een main tenant voor je omgevingen.
Overweeg custom domains voordat je de
maintenant maakt.
Klik New Tenant en maak de main tenant.

Log in op de main tenant waar je kunt beginnen met het configureren van je applicaties en authenticatiemethoden.
Custom domains
Custom domains worden geconfigureerd met custom primary domains en een custom domain op de main tenant.
Custom primary domains
De primaire domeinen van de FoxIDs en FoxIDs Control sites kunnen worden aangepast. De nieuwe primaire custom domains kunnen op de App Services worden geconfigureerd of via een reverse proxy.
Belangrijk: wijzig het primaire domein voordat je tenants toevoegt.
Domeinen:
- Het standaarddomein van de FoxIDs site is
https://foxidsxxxx.azurewebsites.neten kan worden gewijzigd naar een custom primary domain zoals bijv.https://somedomain.comofhttps://id.somedomain.com - Het standaarddomein van de FoxIDs Control site is
https://foxidscontrolxxxx.azurewebsites.neten kan worden gewijzigd naar een custom primary domain zoals bijv.https://control.somedomain.com
De FoxIDs site ondersteunt één primary domain en meerdere custom domains die aan tenants anders dan de master tenant zijn gekoppeld. De FoxIDs Control site ondersteunt slechts één primary domain.
Configureer nieuwe primaire custom domains:
Log in op FoxIDs Control Client met het standaard/oude primary domain. Selecteer het tabblad
Applicationsen klik daarnaOpenID Connect - foxids_control_clienten klik Show advanced.- Voeg de nieuwe primary custom domain URL van de FoxIDs Control site toe aan de lijst
Allow CORS originszonder trailing slash. - Voeg de login en logout redirect URI's van de FoxIDs Control Client site toe aan de lijst
Redirect URIs, inclusief de trailing/master/authentication/login_callbacken/master/authentication/logout_callback.
Als je tenants hebt toegevoegd voordat je het primaire domein wijzigde, moet de
OpenID Connect - foxids_control_clientconfiguratie in elke tenant worden uitgevoerd.- Voeg de nieuwe primary custom domain URL van de FoxIDs Control site toe aan de lijst
De custom primary domains worden op elke App Service geconfigureerd of via een reverse proxy. Afhankelijk van de reverse proxy die je gebruikt, kan het nodig zijn om de domeinen ook op elke App Service te configureren:
- Als je het op App Services configureert: voeg de custom primary domains toe in de Azure portal op de FoxIDs App Service en de FoxIDs Control App Service onder het tabblad
Custom domainsdoor opAdd custom domainte klikken. - Als je het op een reverse proxy configureert: de custom primary domains worden via de reverse proxy ontsloten.
- Als je het op App Services configureert: voeg de custom primary domains toe in de Azure portal op de FoxIDs App Service en de FoxIDs Control App Service onder het tabblad
Configureer vervolgens de nieuwe primary custom domains voor de FoxIDs site in de FoxIDs App Service onder het tabblad
Environment variables:- De instelling
Settings__FoxIDsEndpointwordt gewijzigd naar het nieuwe primary custom domain van de FoxIDs site.
- De instelling
Configureer daarna de nieuwe primary custom domains voor de FoxIDs site en de FoxIDs Control site in de FoxIDs Control App Service onder het tabblad
Environment variables:- De instelling
Settings__FoxIDsEndpointwordt gewijzigd naar het nieuwe primary custom domain van de FoxIDs site. - De instelling
Settings__FoxIDsControlEndpointwordt gewijzigd naar het nieuwe primary custom domain van de FoxIDs Control site.
- De instelling
Custom domain op main tenant
Je kunt een kortere en mooiere URL bereiken waarbij het tenant element uit de URL wordt verwijderd door het custom primary domain van de FoxIDs site op de main tenant te configureren als custom domain.
Custom domains worden ondersteund als de FoxIDs site achter een reverse proxy staat die domain rewrite kan doen.
Of als alternatief ondersteunt FoxIDs custom domains door het HTTP request domein te lezen en het domein als custom domain te gebruiken als de instelling Setting__RequestDomainAsCustomDomain op true staat in de FoxIDs App Service Environment variables.
In dit geval moet de FoxIDs App Service met het custom domain worden geconfigureerd.
Het domein wordt geconfigureerd op de main tenant en gemarkeerd als verified in de master tenant.

Reverse proxy
Het wordt aanbevolen om zowel de FoxIDs Azure App Service als de FoxIDs Control Azure App Service achter een reverse proxy te plaatsen.
Azure Front Door
Azure Front Door kan als reverse proxy worden geconfigureerd. Azure Front Door rewritet standaard domeinen.
Zet caching NIET aan. De
Accept-Languageheader wordt niet doorgestuurd als caching is ingeschakeld. De header is nodig voor FoxIDs om cultures te ondersteunen.
Configuratie:
- Voeg een Azure Front Door endpoint toe voor zowel de FoxIDs App Service als de FoxIDs Control App Service
- In de Networking sectie van de App Services: zet access restriction aan om alleen verkeer van Azure Front Door toe te laten
- Voeg de instelling
Settings__TrustProxyHeaderstoe met waardetruein de FoxIDs App ServiceEnvironment variables - Zet Session affinity uit
- Configureer optioneel WAF policies
Alternatieve reverse proxy
Je kunt optioneel een alternatieve reverse proxy kiezen.
Toegang beperken
Beperk optioneel toegang als je een andere reverse proxy gebruikt dan Azure Front Door.
Zowel de FoxIDs als de FoxIDs Control sites kunnen toegang beperken op basis van de X-FoxIDs-Secret HTTP header.
De access restriction wordt geactiveerd door een secret met de naam Settings--ProxySecret in Key Vault toe te voegen.
Geef je IP adres toegang via de Key Vault firewall

Geef je gebruiker List en Set rechten in Access policies.

Voeg de
Settings--ProxySecretsecret toe
Verwijder na succesvolle configuratie je IP adres en rechten.
De App Services moeten opnieuw worden gestart om de secret te lezen.
Nadat de reverse proxy secret in Key Vault is geconfigureerd, moet de reverse proxy de X-FoxIDs-Secret HTTP header toevoegen in alle backend calls naar FoxIDs om toegang te krijgen.
Standaardpagina opgeven
Een alternatieve standaardpagina kan worden geconfigureerd voor de FoxIDs site met de instelling Settings__WebsiteUrl, bijvoorbeeld met de waarde https://www.foxidsxxxx.com in de FoxIDs App Service Environment variables.
Problemen oplossen bij deployment
Key Vault soft deleted
Als je een eerdere deployment hebt verwijderd, is de Key Vault alleen soft deleted en bestaat deze nog enkele maanden met dezelfde naam. In dit geval kun je een 'ConflictError' krijgen met de foutmelding 'Exist soft deleted vault with the same name.'.
De oplossing is om de oude Key Vault te verwijderen (purge), waardoor de naam vrijkomt.