Comment permettre l'authentification dans MongoDB

Comment permettre l'authentification dans MongoDB

Avoir la possibilité d'authentifier les utilisateurs avec votre base de données est une fonctionnalité de sécurité importante. Cela est particulièrement vrai lorsque cette base de données stockait des informations sensibles, telles que les comptes d'utilisateurs pour un site Web ou des données d'entreprise.

Avec l'authentification activée sur votre instance MongoDB, vous pouvez définir des règles spécifiques sur ce que les comptes d'utilisateurs sont autorisés à faire et quel type d'accès ils ont. Cela signifie également que vous pouvez également verrouiller certaines fonctionnalités afin que seuls les utilisateurs autorisés aient accès à eux.

Dans cet article, nous vous montrerons comment permettre l'authentification dans MongoDB afin que seuls les utilisateurs autorisés puissent accéder à la base de données et à son contenu.

Créer un utilisateur administrateur

Nous allons d'abord créer un utilisateur pour gérer tous les utilisateurs et bases de données, puis nous créerons un propriétaire de base de données MongoDB avec des privilèges de lecture et d'écriture sur une instance de base de données.

Pour gérer tous les utilisateurs et bases de données, créez un utilisateur d'administration sur votre serveur MongoDB. À l'aide de Mongo Shell, passez à la base de données Admin et créez un utilisateur.

"> Utiliser l'administrateur  "> db.createUser ("user": "admin", "pwd": "admin_password", "rôles": ["rôle": "root", "db": "admin"])  

Vérifiez la commande Authentication, Exécutez sur Mongo Shell:

"> db.auth ("admin", "admin_password")  

Le résultat «1» est pour une authentification réussie.

Créer un utilisateur spécifique à la base de données

Maintenant, configurez un utilisateur pour la base de données de votre application. Utilisez la commande «Utiliser» pour sélectionner votre base de données, puis créer un utilisateur avec les commandes suivantes. Vous devez modifier le nom de la base de données, le nom d'utilisateur et le mot de passe par ceux énumérés ci-dessous.

"> Utilisez MyDB  "> db.CreateUser ("utilisateur": "db_user", "pwd": "your_password", "rôles": ["rôle": "dbowner", "db": "mydb"])  

Vérifiez la commande Authentication, Exécutez sur Mongo Shell:

"> db.auth ("db_user", "your_password")  

Le résultat «1» est pour une authentification réussie.

Permettant l'authentification sur MongoDB

Vous venez de créer un utilisateur pour votre base de données. Maintenant, retournez le commutateur d'authentification pour appliquer la connexion. Pour appliquer l'authentification sur votre serveur MongoDB, modifiez / etc / mongod.confli Dans votre éditeur de texte préféré.

sudo vim / etc / mongod.confli  

Ajouter / modifier les lignes ci-dessous au fichier de configuration

Sécurité: Autorisation: activé 

Enregistrez votre fichier et fermez.

Puis redémarrez l'instance MongoDB pour appliquer les modifications.

sudo systemctl redémarrer mongod  

Terminé!

Conclusion

Vous avez sécurisé votre serveur MongoDB en permettant une authentification appropriée sur les bases de données. MongoDB rejettera toutes les demandes sans authentification. Il est également recommandé de restreindre le port de MongoDB 27017 via un pare-feu, qu'il soit fourni par l'hébergement cloud ou le pare-feu inbuild du système.