Comment les outils Auth0 contribuent à automatiser le déploiement des locataires.
En plus d’adopter des pratiques exemplaires en matière de gestion des changements et d’AQ, les clients qui réussissent intègrent également la gestion des artefacts Auth0 à un processus de déploiement automatisé. Comme indiqué dans la section Architecture, sous prise en charge du SDLC, vous devez veiller à configurer des locataires Auth0 distincts pour les environnements de développement, de test et de production, et à ce que cette configuration soit presque identique d’un environnement à l’autre. L’automatisation du déploiement permet d’y parvenir en veillant à ce que le locataire de chaque environnement soit configuré de la même façon, ce qui réduit le risque de bogues causés par des écarts de configuration entre les environnements.
Quelle que soit la façon dont vous configurez l’automatisation du déploiement, nous vous recommandons d’effectuer des tests unitaires de vos Rules, scripts de base de données personnalisés et Hooks avant le déploiement, puis d’exécuter également des tests d’intégration sur votre locataire après le déploiement. Pour en savoir plus, consultez le guide Assurance qualité.
Auth0 prend en charge plusieurs options d’automatisation du déploiement, et vous pouvez les utiliser conjointement au besoin :
L’outil Auth0 Deploy CLI fournit un script facile à utiliser qui peut vous aider à l’intégrer à votre pipeline existant d’intégration continue et de déploiement continu (CI/CD).
Si vous ne pouvez pas vous intégrer directement à un pipeline CI/CD, ou si vous n’en avez pas, les extensions Source Control d’Auth0 peuvent fournir un processus d’automatisation de base facile à configurer et nécessitant très peu de maintenance.
Notez que l’outil Deploy CLI et les extensions Source Control peuvent tous deux entraîner des changements destructifs ; les modifications manuelles apportées directement dans le tableau de bord entre deux déploiements automatisés pourraient être perdues ! Pour cette raison, si vous utilisez l’un ou l’autre, toutes les modifications doivent être déployées à partir du système de gestion du code source utilisé par l’outil et non effectuées manuellement.
Chaque environnement peut aussi nécessiter une configuration qui lui est propre — les d’application et les seront différents d’un locataire Auth0 à l’autre, par exemple — vous aurez donc besoin d’un moyen d’y faire référence dynamiquement plutôt que d’utiliser des valeurs codées en dur. Auth0 prend en charge la gestion des informations de configuration propres à l’environnement au moyen de l’une des deux approches suivantes :
Auth0 vous permet de configurer des variables accessibles dans l’extensibilité personnalisée; vous pouvez les considérer comme des variables d’environnement pour votre locataire Auth0. Au lieu d’inscrire en dur des références qui changent lorsque vous passez du code entre des environnements de développement, de test et de production, vous pouvez utiliser un nom de variable configuré dans le locataire et utilisé par le code d’extensibilité personnalisée. Ainsi, il est plus facile pour un même code personnalisé de fonctionner, sans modification, dans différents locataires, puisque le code peut référencer des variables qui seront renseignées avec des valeurs propres au locataire au moment de l’exécution :
Pour utiliser des variables dans Actions, consultez Write Your First Action pour apprendre à configurer des secrets dans l’éditeur
Il est recommandé d’utiliser des variables pour stocker les valeurs propres au locataire ainsi que tout secret sensible qui ne devrait pas être exposé dans votre code personnalisé. Si votre code personnalisé est déployé dans GitHub/Gitlab/Bitbucket/VSTS, l’utilisation d’une variable propre au locataire permet d’éviter d’exposer des valeurs sensibles dans votre dépôt.
Nous proposons un guide de planification au format PDF que vous pouvez télécharger et consulter pour en savoir plus sur les stratégies que nous recommandons.Guide de planification de projet B2B IAM
Architecture à organisations multiples (multilocataire)
De nombreuses plateformes B2B mettent en œuvre une certaine forme d’isolation et/ou d’image de marque pour les organisations de leurs clients, ce qui peut complexifier tout système de gestion des identités et des accès (IAM). Si c’est votre cas, nous vous recommandons de prendre le temps de consulter nos recommandations et nos pratiques exemplaires pour ce type d’environnement.Architecture à organisations multiples