Modifier le propriétaire d'un tableau de bord via l'API REST

Les tableaux de bord appartiennent à l'utilisateur connecté qui les a créés. Si un utilisateur ne travaille plus dans votre entreprise, vous devrez peut-être modifier le propriétaire du tableau de bord pour le maintenir à jour.

Pour transférer la propriété d'un tableau de bord, vous avez besoin de l'identifiant du tableau de bord et du nom d'utilisateur du propriétaire du tableau de bord. Vous ne pouvez consulter le nom d'utilisateur du propriétaire d'un tableau de bord que via l'API REST.

Before you begin

  • Vous devez vous connecter au sonde ou console avec un compte doté de privilèges d'administration du système et d'accès pour générer une clé d'API.
  • Vous devez disposer d'une clé d'API valide pour apporter des modifications via l'API REST et suivre les procédures ci-dessous. (Voir Générer une clé API.)
  • Familiarisez-vous avec le Guide de l'API REST ExtraHop pour apprendre à naviguer dans l'explorateur d'API REST d'ExtraHop.

Récupérez les identifiants du tableau de bord

  1. Dans un navigateur, accédez à l'explorateur d'API REST.
    L'URL est le nom d'hôte ou l'adresse IP de votre sonde ou console, suivi de /api/v1/explore/. Par exemple, si votre nom d'hôte est seattle-eda, l'URL est https://seattle-eda/api/v1/explore/.
  2. Cliquez Entrez la clé d'API puis collez ou saisissez votre clé d'API dans Clé d'API champ.
  3. Cliquez Autoriser puis cliquez sur Fermer.
  4. Cliquez Tableau de bord pour afficher les opérations du tableau de bord.
  5. Cliquez GET/Tableaux de bord.
  6. Cliquez Essayez-le puis cliquez sur Envoyer une demande pour envoyer la demande à votre sonde ou à votre console.
  7. Recherchez les tableaux de bord par le nom du tableau de bord ou par le compte utilisateur indiqué dans le "owner" champ. Si votre liste de tableaux de bord est longue, vous pouvez appuyer sur Ctrl-F et rechercher le corps de la réponse.
    Pour notre exemple, nous voulons modifier le "LDAP Server Health" tableau de bord créé par le compte utilisateur pour "marksmith":
    {
        "id": 1876,
        "comment": null,
        "mod_time": 1507576983922,
        "author": "Mark Smith",
        "name": "LDAP Server Health",
        "owner": "marksmith",
        "built-in": false,
        "short_code": "MpXgk",
        "rights": [
          "transfer",
          "view",
          "edit",
          "share",
          "delete"
        ]
    }
  8. Notez le numéro figurant dans le "id" champ pour chaque tableau de bord que vous souhaitez modifier.

Changer le propriétaire du tableau de bord

  1. Faites défiler la page des opérations du tableau de bord jusqu'à la section /dashboards/ {id}.
  2. Cliquez PATCH /tableaux de bords/ {id}.
  3. Cliquez Essayez-le.
    Le schéma JSON est automatiquement ajouté à la zone de texte des paramètres du corps.
  4. Dans la zone de texte du corps, dans le "owner" champ, remplacer string avec le nom d'utilisateur du nouveau propriétaire.
  5. Dans le identifiant dans ce champ, saisissez le numéro que vous avez noté précédemment pour le tableau de bord.
    Dans notre exemple, cette valeur est 1876. (Vous ne pouvez modifier qu' un seul tableau de bord à la fois via l'explorateur d'API REST.)
    Dans la figure suivante, nous avons ajouté le JSON "string" pour le "owner" paramètre du corps zone de texte des paramètres, modifiée "string" à "paulanderson", et tapé "1876" dans le identifiant champ.
  6. Cliquez Envoyer une demande pour envoyer la demande à votre sonde ou à votre console.
    Sous Réponse du serveur, le Code affichages à colonnes 204 si l' opération est réussie. Vous pouvez cliquer GET/Tableaux de bord encore une fois pour vérifier que le "owner" le champ a changé. Notez que vous ne pouvez modifier que le propriétaire du tableau de bord. Vous ne pouvez pas modifier le nom du tableau de bord ou les champs d'auteur via l'API REST.

    Le tableau de bord est désormais disponible sous Mes tableaux de bord dans le système ExtraHop pour le nouvel utilisateur. En tant que nouveau propriétaire, vous pouvez désormais vous connecter à votre système ExtraHop et modifier d'autres propriétés du tableau de bord, telles que le nom ou l' auteur du tableau de bord.

Conseil :Après avoir cliqué Envoyer une demande, l' explorateur d'API REST fournit des scripts pour les opérations dans Curl, Python 2.7 ou Ruby.

Exemple de script Python

Le référentiel GitHub d'ExtraHop contient un exemple de script Python qui recherche tous les tableaux de bord appartenant à un compte utilisateur sur un sonde ou console puis remplace le propriétaire de tous ces tableaux de bord par un autre compte utilisateur.

Important :L'exemple de script python s'authentifie auprès de la sonde ou de la console via une clé API, qui n'est pas compatible avec l'API REST RevealX 360. Pour exécuter ce script avec RevealX 360, vous devez modifier le script pour vous authentifier à l'aide de jetons d'API. Consultez les py_rx360_auth.py script dans le référentiel GitHub d'ExtraHop pour un exemple d'authentification à l'aide de jetons d'API.
  1. Accédez au Référentiel GitHub d'exemples de code ExtraHop et téléchargez le change_dashboard_owner/change_dashboard_owner.py fichier sur votre machine locale.
  2. Dans un éditeur de texte, ouvrez change_dashboard_owner.py archivez et remplacez les variables de configuration suivantes par des informations provenant de votre environnement :

    HÔTE: L'adresse IP ou le nom d'hôte de la sonde ou de la console.

    CLÉ_API: La clé d'API.

    ACTUEL: Le nom d'utilisateur du propriétaire actuel du tableau de bord.

    NOUVEAU: Le nom d'utilisateur du nouveau propriétaire du tableau de bord.

  3. Exécutez la commande suivante :
    python3 change_dashboard_owner.py
    Remarque :Si le script renvoie un message d'erreur indiquant que la vérification du certificat SSL a échoué, assurez-vous que un certificat fiable a été ajouté à votre sonde ou à votre console. Vous pouvez également ajouter verify=False option permettant de contourner la vérification des certificats. Cependant, cette méthode n'est pas sûre et n'est pas recommandée. Le code suivant envoie une requête HTTP GET sans vérification du certificat :
    requests.get(url, headers=headers, verify=False)
Last modified 2024-07-18