Azure App Service Container
Déployez FoxIDs dans votre tenant Azure comme votre propre cloud privé.
Une installation FoxIDs est comme un bucket, il n’y a pas de dépendances externes et il est facile d’atteindre un très haut niveau de disponibilité avec peu d’efforts. FoxIDs est mis à jour en mettant à jour les deux App Services vers la nouvelle version de FoxIDs. Les nouvelles versions de FoxIDs sont rétrocompatibles ; veuillez consulter les notes de version avant de mettre à jour.
FoxIDs est déployé dans le groupe de ressources FoxIDs (nom optionnel) où vous devez être Owner ou Contributor et User Access Administrator soit au niveau de l’abonnement soit au niveau du groupe de ressources.
Vous pouvez faire un petit déploiement sur Azure avec une faible consommation de ressources pour un coût Azure d’environ €80 à €100 par mois.
Le déploiement Azure container inclut :
- Deux App Services, un pour le site FoxIDs et un pour le site FoxIDs Control (Client et API). Les deux App Services sont hébergés dans le même plan App Service Linux.
- FoxIDs est déployé avec des conteneurs Docker depuis Docker Hub et les deux App Services sont configurés en déploiement continu.
- Key Vault. Les certificats et secrets sont stockés et gérés dans Key Vault.
- Cosmos DB. Contient toutes les données, y compris tenants, environnements et utilisateurs. Cosmos DB est une base de données NoSQL et les données sont enregistrées dans des documents JSON.
- Cache Redis. Contient les séquences (ex. login et logout), un cache de données pour améliorer les performances et gère les compteurs pour sécuriser l’authentification contre diverses attaques.
- Application Insights et Log Analytics workspace. Les logs sont envoyés à Application Insights et interrogés dans Log Analytics workspace.
- VLAN avec sous-réseaux.
- Sous-réseau pour App Services, Cosmos DB et Key Vault.
- Sous-réseau avec Private Link vers Redis.
Une autre option est de déployer FoxIDs avec Kubernetes (K8s) dans Azure Kubernetes Service (AKS).
Envoyer des e-mails avec Sendgrid ou SMTP
FoxIDs prend en charge l’envoi d’e-mails avec SendGrid et SMTP en tant que fournisseur d’e-mail.
Première connexion et administrateurs
Après le déploiement réussi, ouvrez FoxIDs Control Client sur https://foxidscontrolxxxxxxxxxx.azurewebsites.net (le service d’application commençant par foxidscontrol...) ce qui vous amène au tenant master.
L’utilisateur admin par défaut est admin@foxids.com avec le mot de passe FirstAccess! (vous devez changer le mot de passe à la première connexion)

Optionnellement, allez dans l’onglet Users et créez d’autres administrateurs puis attribuez le role admin avec la valeur foxids:tenant.admin.

Vous ne devez généralement pas changer la configuration des inscriptions d’applications et des méthodes d’authentification dans le tenant master, sauf si vous êtes sûr de ce que vous faites.
À la place, continuez avec l’étape suivante pour créer un tenant main.
Créer le tenant principal
Créez un tenant main pour vos environnements.
Considérez les domaines personnalisés avant de créer le tenant
main.
Cliquez sur New Tenant et créez le tenant main.

Connectez-vous au tenant main où vous pouvez commencer à configurer vos applications et méthodes d’authentification.
Domaines personnalisés
Les domaines personnalisés sont configurés avec des domaines principaux personnalisés et un domaine personnalisé sur le tenant principal.
Domaines principaux personnalisés
Les domaines principaux des sites FoxIDs et FoxIDs Control peuvent être personnalisés. Les nouveaux domaines principaux personnalisés peuvent être configurés sur les App Services ou via un reverse proxy.
Important : changez le domaine principal avant d’ajouter des tenants.
Domaines :
- Le domaine par défaut du site FoxIDs est
https://foxidsxxxx.azurewebsites.netet peut être remplacé par un domaine principal personnalisé comme par ex.https://somedomain.comouhttps://id.somedomain.com - Le domaine par défaut du site FoxIDs Control est
https://foxidscontrolxxxx.azurewebsites.netet peut être remplacé par un domaine principal personnalisé comme par ex.https://control.somedomain.com
Le site FoxIDs prend en charge un domaine principal et plusieurs domaines personnalisés qui sont connectés aux tenants autres que le tenant master. Le site FoxIDs Control ne prend en charge qu’un domaine principal.
Configurer de nouveaux domaines principaux personnalisés :
Connectez-vous à FoxIDs Control Client en utilisant l’ancien domaine principal par défaut. Sélectionnez l’onglet
Applications, puis cliquez surOpenID Connect - foxids_control_clientet cliquez surShow advanced.- Ajoutez l’URL du nouveau domaine principal du site FoxIDs Control à la liste
Allow CORS originssans slash final. - Ajoutez les URI de redirection de connexion et de déconnexion du site FoxIDs Control Client pour le nouveau domaine principal personnalisé à la liste
Redirect URIs, incluant les chemins/master/authentication/login_callbacket/master/authentication/logout_callback.
Si vous avez ajouté des tenants avant de changer le domaine principal, la configuration
OpenID Connect - foxids_control_clientdoit être effectuée dans chaque tenant.- Ajoutez l’URL du nouveau domaine principal du site FoxIDs Control à la liste
Les domaines principaux personnalisés sont configurés sur chaque App Service ou via un reverse proxy. Selon le reverse proxy utilisé, vous devrez peut-être aussi configurer les domaines sur chaque App Service :
- Si configuré sur les App Services : ajoutez les domaines principaux personnalisés dans le portail Azure sur l’App Service FoxIDs et l’App Service FoxIDs Control dans l’onglet
Custom domainsen cliquant sur le lienAdd custom domain. - Si configuré sur un reverse proxy : les domaines principaux personnalisés sont exposés via le reverse proxy.
- Si configuré sur les App Services : ajoutez les domaines principaux personnalisés dans le portail Azure sur l’App Service FoxIDs et l’App Service FoxIDs Control dans l’onglet
Configurez ensuite les nouveaux domaines principaux personnalisés du site FoxIDs dans l’App Service FoxIDs sous l’onglet
Environment variables:- Le paramètre
Settings__FoxIDsEndpointest modifié pour le nouveau domaine principal personnalisé du site FoxIDs.
- Le paramètre
Et configurez les nouveaux domaines principaux personnalisés des sites FoxIDs et FoxIDs Control dans l’App Service FoxIDs Control sous l’onglet
Environment variables:- Le paramètre
Settings__FoxIDsEndpointest modifié pour le nouveau domaine principal personnalisé du site FoxIDs. - Le paramètre
Settings__FoxIDsControlEndpointest modifié pour le nouveau domaine principal personnalisé du site FoxIDs Control.
- Le paramètre
Domaine personnalisé sur le tenant principal
Vous pouvez obtenir une URL plus courte et plus élégante où l’élément tenant est supprimé de l’URL. En configurant le domaine principal personnalisé du site FoxIDs sur le tenant principal comme un domaine personnalisé.
Les domaines personnalisés sont pris en charge si le site FoxIDs est derrière un reverse proxy qui peut faire un rewriting de domaine.
Ou alternativement, FoxIDs prend en charge les domaines personnalisés en lisant le domaine de la requête HTTP et en utilisant le domaine comme domaine personnalisé si le paramètre Setting__RequestDomainAsCustomDomain est défini à true dans les Environment variables de l’App Service FoxIDs.
L’App Service FoxIDs doit être configuré avec le domaine personnalisé dans ce cas.
Le domaine est configuré sur le tenant main et marqué comme vérifié dans le tenant master.

Reverse proxy
Il est recommandé de placer l’App Service Azure FoxIDs et l’App Service Azure FoxIDs Control derrière un reverse proxy.
Azure Front Door
Azure Front Door peut être configuré comme reverse proxy. Azure Front Door réécrit les domaines par défaut.
N’activez PAS le cache. L’en-tête
Accept-Languagen’est pas transmis si le cache est activé. L’en-tête est requis par FoxIDs pour prendre en charge les cultures.
Configuration :
- Ajoutez un endpoint Azure Front Door pour l’App Service FoxIDs et l’App Service FoxIDs Control
- Dans la section Networking des App Services, activez la restriction d’accès pour n’autoriser le trafic qu’à partir d’Azure Front Door
- Ajoutez le paramètre
Settings__TrustProxyHeadersavec la valeurtruedans lesEnvironment variablesde l’App Service FoxIDs - Désactivez Session affinity
- Configurez éventuellement des politiques WAF
Alternative reverse proxy
Vous pouvez éventuellement choisir un reverse proxy alternatif.
Restreindre l’accès
Restreignez éventuellement l’accès si vous utilisez un reverse proxy autre qu’Azure Front Door.
Les sites FoxIDs et FoxIDs Control peuvent restreindre l’accès en fonction de l’en-tête HTTP X-FoxIDs-Secret.
La restriction d’accès est activée en ajoutant un secret nommé Settings--ProxySecret dans Key Vault.
Accordez à votre adresse IP l’accès via le pare-feu Key Vault

Accordez à votre utilisateur les autorisations List et Set dans Access policies.

Ajoutez le secret
Settings--ProxySecret
Après la configuration réussie, retirez votre adresse IP et les autorisations.
Les App Services doivent être redémarrés pour lire le secret.
Après la configuration du secret de reverse proxy dans Key Vault, le reverse proxy doit ajouter l’en-tête HTTP X-FoxIDs-Secret dans tous les appels back-end vers FoxIDs pour obtenir l’accès.
Spécifier la page par défaut
Une page par défaut alternative peut être configurée pour le site FoxIDs via le paramètre Settings__WebsiteUrl avec par ex. la valeur https://www.foxidsxxxx.com dans les Environment variables de l’App Service FoxIDs.
Dépannage des erreurs de déploiement
Key Vault supprimé de manière logicielle
Si vous avez supprimé un déploiement précédent, Key Vault n’est supprimé que de manière logicielle et existe encore avec le même nom pendant plusieurs mois. Dans ce cas, vous pouvez rencontrer une erreur 'ConflictError' avec le message 'Exist soft deleted vault with the same name.'.
La solution consiste à supprimer (purger) l’ancien Key Vault, ce qui libérera le nom.