Gestion des utilisateurs et des rôles

Les déploiements Databases for Elasticsearch sont fournis avec l'authentification activée et utilisent les utilisateurs intégrésd' Elasticsearch.

Ajoutez des utilisateurs dans l'interface utilisateur sur la page Accréditations du service, avec le Cloud Databases CLI plug-in, ou l'Cloud Databases API.

Administrateur

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

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

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 la Liste des ressources. Sur le tableau de bord, sélectionnez l'onglet Paramètres, puis saisissez ou générez un nouveau mot de passe administrateur et cliquez sur le bouton Changer le mot de passe.

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

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 d'un déploiement nommé example-deployment, utilisez la commande suivante :

ibmcloud cdb user-password example-deployment admin <newpassword>

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

Le point de terminaison Foundation qui apparaît dans le panneau Vue d'ensemble de la section Détails du déploiement de votre service fournit l' URL base pour accéder à ce déploiement par le biais de l'API. Utilisez-le avec le point de terminaison 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"}` \

Le rôle ibm_superuser

Pour Elasticsearch versions 7.17.7 et ultérieures, tous les utilisateurs, nouveaux et existants, y compris l'utilisateur admin, se verront affecter le rôle ibm_superuser. Le rôle ibm_superuser possède les mêmes privilèges que superuser, sauf que le rôle ibm_superuser ne peut pas accéder aux index masqués, internes ou restreints. La restriction de l'accès aux index masqués empêche les utilisateurs de limiter par inadvertance leur propre accès en fermant les index de sécurité.

Bien que vous soyez autorisé à rétablir ce rôle dans le superuser d'origine, vous ne devez pas le faire. Si vous remplacez ibm_superuser par superuser, vous interrompez l'accès à votre déploiement Elasticsearch.

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

  1. Accédez au tableau de bord de votre service.
  2. Cliquez sur Créances de service pour ouvrir la page.
  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 Ajouter pour fournir les nouvelles données d'identification. Un nom d'utilisateur et un mot de passe, et un utilisateur Elasticsearch 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.

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éé.

Si vous souhaitez que les utilisateurs créés à partir des identifiants de service aient un rôle différent, utilisez l'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

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 les informations d'identification du service, mais vous pouvez les ajouter.

Si vous gérez votre service via le plug-in CLI Cloud Databases, créez un nouvel utilisateur avec cdb user-create. Par exemple, pour créer un nouvel utilisateur pour un déploiement nommé example-deployment, utilisez la commande suivante :

ibmcloud cdb user-create example-deployment <newusername> <newpassword>

Une fois la tâche terminée, extrayez les chaînes de connexion du nouvel utilisateur à l'aide de la commande ibmcloud cdb deployment-connections, qui se présente comme suit:

ibmcloud cdb deployment-connections [--user <userid>] [--password <password>] [--endpoint-type <endpoint type>] [--all] [--only] [--start] [--certroot <path>] [--json]

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

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 les informations d'identification du service, 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/v4/ibm/deployments/{id}/users' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"username":"jane_smith", "password":"newsupersecurepassword"}'

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

Utilisateurs et rôles Elasticsearch

Si les utilisateurs et les rôles intégrés ne conviennent pas à votre environnement, créez des utilisateurs et des rôles directement dans Elasticsearch. 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.