IBM Cloud Docs
Gestion des utilisateurs et des rôles

Gestion des utilisateurs et des rôles

Les déploiements Databases for MongoDB sont livrés avec l'authentification activée et utilisent MongoDB's le contrôle d'accès basé sur les rôles.

Ajoutez des utilisateurs dans l'interface utilisateur dans Données d'identification pour le service, à l'aide du plug-in d'interface de ligne de commande Cloud Databases ou de l'API Cloud Databases.

Administrateur

Lorsque vous mettez à disposition un déploiement Databases for MongoDB, un utilisateur admin est automatiquement créé.

Définissez le mot de passe de l'administrateur avant de l'utiliser pour la connexion.

L'utilisateur admin dispose des droits suivants:

  • userAdminAnyDatabase fournit les mêmes privilèges que userAdmin sur toutes les bases de données à l'exception de local et config. userAdminAnyDatabase fournit le pouvoir d'administration à l'administrateur. Il permet d'effectuer l'action listDatabases sur l'ensemble du cluster. Avec userAdminAnyDatabase, créez et accordez des rôles à tout autre utilisateur de votre déploiement, y compris les rôles intégrés MongoDB. Par exemple, pour surveiller votre déploiement, utilisez admin pour vous connecter à l'interpréteur de commandes mongo et accordez le rôle clusterMonitor à n'importe quel utilisateur (y compris lui-même). Utilisez une commande telle que:

    db.grantRolesToUser(
     "admin",
     [
       { role: "clusterMonitor", db: "admin" }
     ]
    )
    
  • readWriteAnyDatabase fournit les mêmes privilèges que readWrite sur toutes les bases de données à l'exception de local et config.

  • dbAdminAnyDatabase fournit les mêmes privilèges que dbAdmin sur toutes les bases de données à l'exception de local et config.

Définition du mot de passe administrateur dans l'interface utilisateur

Définissez votre mot de passe administrateur via l'interface utilisateur en sélectionnant votre instance dans le menu IBM Cloud Liste des ressources. Sélectionnez ensuite Paramètres. Sélectionnez ensuite Modifier le mot de passe de l'administrateur de base de données.

Définition du mot de passe administrateur dans le CLI

Utilisez la commande cdb user-password à partir du plug-in IBM Cloud de l'interface de ligne de commande Cloud Databases pour définir le mot de passe de l'administrateur.

Par exemple, pour définir le mot de passe administrateur de votre déploiement, utilisez la commande suivante :

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

Définition du mot de passe administrateur dans l'API

Le point de terminaison de la fondation qui apparaît dans la section Détails du déploiement du panneau de présentation de votre service fournit l'URL de base pour accéder à ce déploiement via l'API. Utilisez-le avec le noeud final Définir le mot de passe de l'utilisateur spécifié pour définir le mot de passe de l'administrateur.

curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \

Gestion des utilisateurs et des rôles via l'interface utilisateur

  1. Accédez au tableau de bord de votre service.
  2. Cliquez sur Données d'identification de service pour ouvrir la section Données d'identification de service.
  3. Cliquez sur Nouvelles données d'identification.
  4. Choisissez un nom descriptif pour vos nouvelles données d'identification.
  5. (Facultatif) Indiquez si les nouvelles données d'identification utilisent un noeud final public ou privé. Utilisez { "service-endpoints": "public" } / { "service-endpoints": "private" } dans la zone Ajouter des paramètres de configuration en ligne pour générer des chaînes de connexion qui utilisent le noeud final indiqué. L'utilisation du noeud final n'est pas imposée. Elle permet juste de contrôler les noms d'hôte mentionnés dans les chaînes de connexion. Les noeuds finaux publics sont générés par défaut.
  6. Cliquez sur Add pour provisionner les nouvelles informations d'identification. Un nom d'utilisateur et un mot de passe, et un utilisateur MongoDB associé sont générés automatiquement.

Les nouvelles données d'identification apparaissent dans la table et les chaînes de connexion sont disponibles au format JSON dans une zone de type Cliquer pour copier sous Afficher les données d'identification.

La création d'un utilisateur à partir de l'interface de ligne de commande ou de l'API ne remplit pas automatiquement les chaînes de connexion de cet utilisateur dans la section Données d'identification de service. Si vous souhaitez les y ajouter, vous pouvez créer de nouvelles données d'identification avec les informations utilisateur existantes. Entrez le nom d'utilisateur et le mot de passe dans la zone JSON sous Ajouter des paramètres de configuration en ligne. Par exemple, {"existing_credentials":{"username":"Robert","password":"supersecure"}}. En fait, vous envoyez le nom d'utilisateur et le mot de passe, et Service Credentials génère les chaînes de connexion avec les informations d'identification remplies.

Lorsque des données d'identification sont générées à partir d'un utilisateur existant, celui-ci n'est pas vérifié ni créé.

Les utilisateurs que vous créez via Données d'identification pour le service reçoivent les rôles readWriteAnyDatabase et dbAdminAnyDatabase.

Si vous souhaitez affecter un autre rôle aux utilisateurs créés à partir du panneau Données d'identification de services, vous pouvez vous servir du nom d'utilisateur admin pour modifier leur rôle.

Gestion des utilisateurs et des rôles par l'intermédiaire de l'interface de ligne de commande

Les utilisateurs créés dans l'interface de ligne de commande reçoivent les rôles readWriteAnyDatabase et dbAdminAnyDatabase.

Si vous souhaitez que les utilisateurs aient un rôle différent, vous pouvez utiliser l'utilisateur admin pour modifier leur rôle.

Les utilisateurs créés directement à partir de l'interface de programmation n'apparaissent pas dans Service Credentials, mais vous pouvez les ajouter.

  1. Si vous gérez votre service via le plug-in d'interface de ligne de commandeCloud Databases, créez un utilisateur avec cdb user-create. Par exemple, pour créer un nouvel utilisateur pour votre déploiement, utilisez la commande suivante :
ibmcloud cdb user-create <INSTANCE_NAME_OR_CRN> <NEWUSERNAME> <NEWPASSWORD>
  1. Lorsque la tâche est terminée, récupérez les chaînes de connexion du nouvel utilisateur à l'aide de la commande ibmcloud cdb deployment-connections.

  2. MongoDB centralise les données utilisateur dans la base de données admin. Lister tous les utilisateurs et leurs rôles et permissions de base de données dans le shell Mongo en utilisant la commande show users.

ibmcloud cdb deployment-connections --start -u admin mongodb-production
Database Password>>
MongoDB shell version v4.0.3
connecting to: mongodb://....
....
replset:PRIMARY> use admin
switched to db admin
replset:PRIMARY> show users

Gestion des utilisateurs et des rôles via l'API

Les utilisateurs créés dans l'API se voient attribuer les rôles readWriteAnyDatabase et dbAdminAnyDatabase.

Si vous avez besoin que les utilisateurs aient un rôle différent, utilisez l'utilisateur admin pour modifier leur rôle.

Les utilisateurs créés directement à partir de l'API n'apparaissent pas dans Service Credentials, mais vous pouvez les ajouter.

Le fichier Noeud final Foundation affiché dans la section Présentation de votre service fournit l'URL de base permettant d'accéder à ce déploiement via l'API. Pour créer et gérer des utilisateurs, utilisez l'URL de base avec le noeud final /users.

La commande se présente comme suit:

curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/{user_type}
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"user": {"username": "user", "password": "v3ry-1-secUre-pAssword-2"}}' \

Pour extraire les chaînes de connexion d'un utilisateur, utilisez l'URL de base avec le noeud final /users/{userid}/connections.

MongoDB-created

Si les utilisateurs et les rôles intégrés ne conviennent pas à votre environnement, créer des utilisateurs et des rôles directement dans MongoDB. L'administrateur de votre déploiement a le pouvoir de créer n'importe quel rôle ou ensemble de privilèges sur votre déploiement.

Les utilisateurs et les rôles créés directement dans MongoDB n'apparaissent pas dans le panneau _Données d'identification de service _ et ne sont pas intégrés à votre compte IBM Cloud ou à IAM.

Utilisateur ibm

Si vous utilisez l'interpréteur de commandes Mongo pour lister les utilisateurs de votre déploiement, vous remarquerez peut-être un utilisateur nommé ibm. L'utilisateur ibm est le compte root interne qui gère la réplication, les opérations de cluster et d'autres fonctions assurant la stabilité de votre déploiement. La modification ou la suppression de l'utilisateur ibm n'est pas conseillée et perturbe la stabilité de votre déploiement.

Utilisateurs ops_manager pour MongoDB Enterprise Edition

Ops Manager est disponible uniquement dans des déploiements Databases for MongoDB Enterprise Edition. Le type d'utilisateur ops_manager dispose de droits limités. Pour plus d'informations, voir la documentationOps Manager.