Identité native Cloud
Conseil
Ce contenu est un extrait du livre électronique, Cloud Native .NET apps for Azure (Architecture d’applications .NET natives cloud pour Azure), disponible dans la documentation .NET ou au format PDF à télécharger gratuitement pour le lire hors connexion.
La plupart des applications logicielles doivent avoir une connaissance de l’utilisateur ou du processus qui les appelle. L’utilisateur ou le processus qui interagit avec une application est appelé principal de sécurité, et le processus d’authentification et d’autorisation de ces principaux est appelé gestion des identités ou simplement identité. Les applications simples peuvent inclure toute leur gestion des identités au sein de l’application, mais cette approche ne convient pas parfaitement à de nombreuses applications et à de nombreux types de principaux de sécurité. Windows prend en charge l’utilisation d’Active Directory pour fournir une authentification et une autorisation centralisées.
Cette solution est efficace dans les réseaux d’entreprise, mais elle n’est pas conçue pour être utilisée par les utilisateurs ou les applications qui se trouvent en dehors du domaine AD. Avec la croissance des applications basées sur Internet et l’essor des applications natives cloud, les modèles de sécurité ont évolué.
Dans le modèle d'identité natif cloud actuel, l'architecture est supposée être distribuée. Les applications peuvent être déployées et communiquer avec d'autres applications n'importe où. Les clients peuvent communiquer avec ces applications depuis n’importe où, et en fait, les clients peuvent représenter n’importe quelle combinaison de plateformes et d’appareils. Les solutions d’identité natives cloud utilisent des normes ouvertes pour garantir un accès sécurisé aux applications à partir des clients. Ces clients vont des utilisateurs humains sur PC ou téléphone, à d'autres applications hébergées n'importe où en ligne, en passant par des décodeurs et des appareils IOT exécutant n'importe quelle plateforme logicielle, partout dans le monde.
Les solutions d’identité natives cloud modernes utilisent généralement des jetons d’accès émis par un service/serveur de jetons sécurisé (STS) à un principal de sécurité une fois leur identité déterminée. Le jeton d’accès, généralement un jeton web JSON (JWT), inclut des revendications concernant le principal de sécurité. Ces revendications incluront au minimum l'identité de l'utilisateur, mais peuvent également comporter d'autres revendications utilisables par les applications pour déterminer le niveau d'accès à accorder au principal.
En général, le STS est uniquement responsable de l'authentification du principal. D'autres parties de l'application se chargent de déterminer le niveau d’accès aux ressources.