Aller au contenu

Authentification et autorisation dans les replica sets et les clusters de shards#

Introduction à l'authentification et l'autorisation#

  • Authentification : vérification de l'identité d'un utilisateur
  • Autorisation : détermination des permissions accordées à un utilisateur
  • Importance pour assurer la sécurité et la confidentialité des données
  • Dans MongoDB, ces concepts s'appliquent aux replica sets et aux clusters de shards

Authentification et autorisation pour les replica sets#

  • Les replica sets nécessitent une configuration sécurisée pour éviter les accès non autorisés
  • Création d'un utilisateur administrateur avec la commande db.createUser()
  • Exemple : db.createUser({user:"admin", pwd:"password", roles:["root"]})
  • Activation de l'authentification en modifiant le fichier de configuration mongod.conf
  • Ajout de l'option security.authorization: enabled
  • Redémarrage de mongod avec la nouvelle configuration

Authentification et autorisation pour les clusters de shards#

  • Les clusters de shards requièrent une configuration similaire à celle des replica sets
  • Utilisation d'un utilisateur administrateur pour gérer l'ensemble du cluster
  • Activation de l'authentification sur chaque shard et le serveur de configuration
  • Exemple de commande pour ajouter un shard avec authentification : sh.addShard("shard1.example.com:27017", {user:"admin", pwd:"password"})

Utilisation de x.509 pour l'authentification#

  • X.509 : standard de certificats numériques pour l'authentification
  • MongoDB Enterprise prend en charge l'authentification x.509
  • Nécessite l'obtention d'un certificat pour chaque membre du replica set ou du cluster
  • Modification du fichier de configuration mongod.conf pour ajouter les options x.509
  • Exemple : net: { ssl: { mode: "requireSSL", PEMKeyFile: "/path/to/ssl/mongodb.pem", CAFile: "/path/to/ssl/ca.pem" } }

Utilisation de SCRAM-SHA pour l'authentification#

  • SCRAM-SHA : mécanisme d'authentification basé sur un échange de défis-réponses
  • Mécanisme par défaut dans MongoDB
  • Création d'un utilisateur avec SCRAM-SHA en utilisant la commande db.createUser()
  • Exemple : db.createUser({user:"example", pwd:"password", roles:["readWrite"]})
  • Utilisation de la commande mongo pour se connecter avec SCRAM-SHA
  • Exemple : mongo --username example --password password --authenticationDatabase admin