Vidéo: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Autoriser un utilisateur à accéder aux informations ou à la base de données est une chose, mais avant cela, vous devez être sûr que le système "sait" que l'utilisateur est qui elle dit qu'elle est. C'est là qu'intervient l'authentification. L'authentification peut avoir lieu dans une base de données particulière ou être déléguée à un service externe - ainsi, le terme Identité et gestion des accès (IdAM).
Lorsque les bases de données relationnelles ont été introduites, il n'y avait que peu de normes autour de l'authentification - c'est pourquoi la plupart des bases de données relationnelles sont toujours utilisées avec des noms d'utilisateurs et des mots de passe internes. La plupart des bases de données NoSQL adoptent cette approche, avec seulement quelques standards d'authentification externes.
Le standard le plus courant est le protocole LDAP (Lightweight Directory Access Protocol). Fait intéressant, la plupart des systèmes LDAP sont construits au-dessus des bases de données relationnelles qui contiennent les informations sur les systèmes!
Les bases de données NoSQL sont une invention moderne. Ils sont apparus à un moment où il existe des mécanismes et des normes d'authentification et d'autorisation, et si beaucoup ont un moyen de s'intégrer avec eux.
Où commencer? Intégrez-vous votre base de données NoSQL avec un seul produit IdAM, ou essayez-vous d'écrire beaucoup d'intégrations de sécurité (potentiellement inutilisées), et vous risquez de mal les faire? Il est tentant de s'attendre à ce que les bases de données NoSQL soient en avance sur la courbe, mais soyons réalistes. Aucun développeur de logiciel ne peut éventuellement prendre en charge tous les différents systèmes de sécurité existants.
Chaque base de données NoSQL dispose à la place de son propre schéma d'authentification interne et prend généralement en charge le branchement de votre propre fournisseur personnalisé. Les bases de données NoSQL fournissent un mécanisme de plugin comme première étape avant d'utiliser ce mécanisme pour implémenter des standards spécifiques.
Bien que le manque d'intégrations de systèmes de sécurité soit une faiblesse du point de vue d'un exercice de cocher des cases, fournir un mécanisme de plugin permet en fait à ces bases de données d'être suffisamment flexibles pour s'intégrer avec n'importe quel système de sécurité.
Heureusement, LDAP est l'une des premières options que les fournisseurs NoSQL intègrent. Sur la plate-forme Java, ceci peut être présenté comme support de la norme JAAS (Java Authentication and Authorization Standard). Il s'agit d'une architecture connectable, et l'un de ses plug-ins couramment utilisés est le support de serveur d'annuaire LDAP.
Lors de la sélection d'une base de données NoSQL, ne vous inquiétez pas du fait que certains ne prennent pas en charge votre service d'authentification exact. Tant que le logiciel peut être adapté relativement rapidement en utilisant le mécanisme de plugin de sécurité de la base de données, ce sera parfait.Les capacités du produit sont plus importantes, à condition qu'elles prennent en charge les plug-ins de sécurité.
C'est ici qu'il est utile d'avoir les ressources d'une entreprise commerciale pour soutenir votre base de données NoSQL - écrire ces intégrations de sécurité vous-même peut prendre plus de temps pour vos ingénieurs logiciels et même introduire des bogues de sécurité. Les entreprises commerciales ont les ressources et l'expérience de fournir ces intégrations aux clients.