Utilisation des services Web pour la gestion des groupes

npc offre un ensemble d'API qui vous permettent d'automatiser les tâches de provisionnement et de configuration. Les services Web incluent les tâches les plus répétitives et celles dont l'exécution est particulièrement longue. Certaines de ces API consistent en des services Web conformes au modèle Representational State Transfer (REST).
capm360
NetOps Portal
offre un ensemble d'API qui permettent d'automatiser les tâches de provisionnement et de configuration. Les services Web incluent les tâches les plus répétitives et celles dont l'exécution est particulièrement longue. Certaines de ces API consistent en des services Web conformes au modèle Representational State Transfer (REST).
Ce cas d'utilisation décrit les procédures qu'un administrateur peut déployer pour créer et gérer des groupes ou des collections à l'aide des services Web REST de
NetOps Portal
. Vous pouvez ajouter et supprimer plusieurs groupes ou sous-groupes. Vous pouvez ajouter des éléments aux groupes et créer des règles de groupe pour les remplir. Vous pouvez également exporter et importer des définitions de groupe.
Ce scénario d'utilisation indique les étapes à effectuer lors de l'utilisation d'un client REST, d'une application d'interface utilisateur de services Web générique. Les exemples de ce scénario d'utilisation contiennent des URI qui sont construits à l'aide du port de serveur par défaut (port 8181).
Création de groupes à l'aide d'un programme
L'administrateur global peut utiliser les services Web REST de CA
NetOps Portal
pour créer et remplir des groupes. Les groupes sont toujours associés à une définition de client hébergé. Si vous ne déployez pas l'hébergement multiclient, les groupes sont associés au client hébergé par défaut. Dans le cas contraire, les tâches de gestion de groupes s'appliquent uniquement au client hébergé actuel.
Le service Web offre deux méthodes d'identification des groupes :
  • A l'aide du
    chemin de groupe
    complet qui identifie le groupe comme sous-groupe du groupe de premier niveau ou racine par défaut (Tous les groupes). Le groupe proprement dit est un nœud dans l'
    arborescence Groupes
    qui s'étend hiérarchiquement à partir du groupe racine.
  • A l'aide de l'
    ID de groupe
    , une valeur numérique assignée en interne qui identifie un nœud. Aucun identificateur n'est assigné au
    chemin
    d'un groupe.
    Utilisez cette méthode pour identifier des groupes imbriqués dans plusieurs conteneurs pour éviter de saisir le chemin de groupe complet.
Vous pouvez créer des règles pour ajouter des unités surveillées à des groupes automatiquement. Vous pouvez également ajouter des sous-groupes à vos groupes.
Obtention des informations d'identification pour un groupe
Vous pouvez utiliser le chemin de groupe ou l'ID de groupe pour permettre à un groupe d'identifier ce groupe lorsque vous voulez le mettre à jour. Le chemin de groupe indique l'emplacement d'un groupe dans l'arborescence Groupes. Il est généralement recommandé d'utiliser l'ID du groupe pour récupérer des informations sur le groupe et gérer un groupe plutôt que d'utiliser le chemin de groupe, qui peut être long.
Procédez comme suit :
  1. Configurez un client REST avec une connexion au serveur CA
    NetOps Portal
    .
  2. Utilisez le format suivant pour l'URL dans le client REST :
    http://
    PC_host
    :8181/pc/center/webservice/groups/
    idName
    /
    idValue
    • idName
      Valeur prise en charge pour spécifier un groupe. Vous pouvez récupérer des valeurs possibles en effectuant une opération GET sur l'URL suivante :
      http://
      PC_host
      :8181/pc/center/webservice/groups/idNames
      Utilisez l'un des paramètres suivants pour
      idName
      :
      • groupItemId
        : ID interne affecté au groupe.
      • groupPath
        : chemin d'accès au groupe, chaque groupe étant délimité par des barres obliques codées (%2F).
    • idValue
      Valeur utilisée pour spécifier un groupe, selon le nom d'ID. Dépend de la valeur du champ
      idName
      , comme suit :
      groupItemId
      : ID du groupe attendu.
      groupPath
      : chemin d'accès au groupe attendu, chaque groupe étant précédé et délimité par des barres obliques codées (%2F).
    Exemple :
    Pour afficher les détails et les définitions de règle d'un groupe donné, envoyez une demande GET au parent de ce groupe. L'appel suivant récupère les détails et les définitions de règle pour les groupes inclus dans un groupe spécifique nommé
    ParentGroup
    sous
    Tous les groupes
    :
    http://
    PC_host
    :8181/pc/center/webservice/groups/groupPath/All%20Groups%2fParentGroup
  3. Sélectionnez la
    méthode HTTP
    GET
    .
  4. Fournissez un nom d'utilisateur et un mot de passe valides dans l'en-tête de demande d'un compte d'utilisateur disposant d'un accès en tant qu'administrateur global à CA
    NetOps Portal
    .
  5. Exécutez la méthode.
    Le fichier XML renvoyé contient l'identificateur de l'élément de groupe.
    Vous pouvez utiliser cette méthode pour obtenir le chemin complet du groupe.
Dans l'exemple suivant, le code XML renvoyé inclut des informations sur le groupe système Inventory :
<?xml version="1.0" encoding="UTF-8"?> <GroupTree id="5" inheritDefault="true" path="Inventory"> <Group desc="This group contains groups for the various item types that are associated with all data sources." id="12" inherit="false" location="" name="All Items" type="automatic group"> <Group desc="Includes networks from all Application Delivery Analysis data sources." id="40" inherit="true" location="" name="Application Delivery Analysis Networks" type="automatic group" /> <Group desc="This group contains all the applications reported by each data source." id="41" inherit="true" location="" name= "Applications" type="automatic group" /> <Group desc="This group contains all the device components reported by each data source." id="113" inherit="true" name="Device Components" type="automatic group" /> <Group desc="This group contains all the VMware ESX hosts reported by each data source." id="35" inherit="true" location="" name="ESX Hosts" type="automatic group" /> <Group desc="Includes interfaces from all data sources." id="50" inherit="true" location="" name="Interfaces" type="automatic group" /> <Group desc="This group contains all the pingable devices reported by each data source." id="114" inherit="true" name="Pingable Devices" type="automatic group" /> <Group desc="Includes routers from all data sources." id="31" inherit="true" location="" name="Routers" type="automatic group" /> <Group desc="Includes servers from all data sources." id="32" inherit="true" location="" name="Servers" type="automatic group" /> <Group desc="Includes switches from all data sources." id="33" inherit="true" location="" name="Switches" type="automatic group" /> <Group desc="This group contains all the virtual machines reported by each data source." id="34" inherit="true" location="" name="Virtual Machines" type="automatic group" /> <Group desc="This group contains all the voice interfaces reported by each data source." id="51" inherit="true" location="" name= "Voice Interfaces" type="automatic group" /> <Group desc="This group contains all the voip locations reported by each data source." id="52" inherit="true" location="" name= "VoIP Locations" type="automatic group" /> </Group> <Group desc="Includes every data source that has reported configuration information to the performance center." id="4" inherit="false" location="" name="Data Sources" type="automatic group"> <Group desc="Contains configuration information reported to the performance center by Data Aggregator" id="115" inherit="true" name="da" type="system group" /> <Group desc="Contains configuration information reported to the performance center by Event Manager" id="100" inherit="true" name="[email protected]" type="system group"> <Group desc="Devices created by event manager" id="101" inherit= "true" name="Devices" type="system group" /> </Group> </Group>
Les résultats ci-dessus indiquent que l'ID de groupe pour le groupe Inventaire est 5 :
<GroupTree id="5" inheritDefault="true" path="Inventory">
Vous pouvez utiliser cette valeur pour obtenir le chemin de groupe complet. Entrez l'URL suivante :
http://
PC_host
:8181/pc/center/webservice/groups/groupItemId/5
A partir de ce résultat, vous constatez que le chemin complet du groupe Inventaire est /All Groups/Inventory. Tous les sous-groupes du groupe système Inventaire sont également renvoyés.
Vous pouvez alors utiliser les valeurs qui sont renvoyées pour le paramètre de nom de groupe pour créer un chemin de groupe pour un sous-groupe, comme dans l'exemple suivant :
/All%20Groups/Inventory/Device%20Components
L'URL permettant d'obtenir l'ID de groupe à partir du chemin de groupe ressemble à l'exemple suivant :
http://
PC_host
:8181/pc/center/webservice/groups/groupPath/All%20Groups%2FInventory%2FDevice%20Components
Lorsque vous spécifiez un chemin de groupe dans l'URL, utilisez la valeur codée du signe de pourcentage en tant que barres obliques (%2F, comme dans l'exemple ci-dessus) pour délimiter chaque groupe dans le chemin. Cette condition est requise, car les barres obliques non codées sont réservées en tant que caractère de délimitation pour les segments de chemin dans la syntaxe d'URL.
Obtention d'une liste de membres de groupe
Utilisez le service Web groups pour obtenir une liste des sous-groupes et des éléments qui sont des membres directs du groupe spécifié. Le code XML renvoyé affiche des informations sur le groupe spécifié en tant qu'élément parent et sépare les groupes et les éléments dans leurs propres éléments distincts.
La liste renvoyée n'inclut pas les éléments ajoutés au groupe en tant qu'enfants d'un élément géré directement ajouté au groupe. Par exemple, si un routeur est un membre direct d'un groupe, la liste n'inclut pas les interfaces qui appartiennent à ce routeur.
Pour obtenir une liste des membres pour un groupe pour lequel vous disposez de l'ID ou du nom, entrez l'URL de base suivante :
http://
PC_host
:8181/pc/center/webservice/groups/
idName
/idValue/items
  • idName
    Nom d'ID pris en charge pour spécifier un groupe. Vous pouvez récupérer des valeurs possibles en effectuant une opération GET sur l'URL suivante :
    http://
    hôte_PC
    :8181/pc/center/webservice/groups/idNames.
    Utilisez un des paramètres suivants pour
    idName
    :
    • groupItemId
      : ID interne affecté au groupe.
    • groupPath
      : chemin d'accès au groupe, chaque groupe étant délimité par des barres obliques codées (%2F).
    • idValue
      Valeur utilisée pour spécifier un groupe, selon le nom d'ID. Dépend de la valeur du champ
      idName
      , comme suit :
      • groupItemId
        : ID du groupe attendu.
      • groupPath
        : chemin d'accès au groupe attendu, chaque groupe étant précédé et délimité par des barres obliques codées (%2F).
Procédez comme suit :
  1. Configurez un client REST avec une connexion au serveur
    NetOps Portal
    .
  2. Utilisez le format suivant pour l'URL dans le client REST :
    http://
    PC_host
    :8181/pc/center/webservice/groups/idName/idValue/items
  3. Sélectionnez la
    méthode HTTP
    GET
    .
  4. Fournissez un nom d'utilisateur et un mot de passe valides dans l'en-tête de demande d'un compte d'utilisateur disposant d'un accès en tant qu'administrateur global à CA
    NetOps Portal
    .
  5. Exécutez la méthode.
    Le code XML renvoyé répertorie les sous-groupes et les éléments gérés qui sont membres du groupe. Le contenu renvoyé est semblable au code suivant :
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <group id="787" name="Test Group" description="" type="group" subType="user"> <groups> <group id="788" name="Test Child Group 1" description="" type="group" subType="user"/> <group id="789" name="Test Child Group 2" description="" type="group" subType="user"/> </groups> <itemTypes> <itemType type="Devices"> <items> <item id="121" name="Austin Switch" description="Cisco IOS Software, Switch 192.168.1.1" type="device" subType="switches" addedBy="BY_USER"/> <item id="124" name="Austin Router" description="Cisco IOS Software, Router 192.168.0.1" type="device" subType="router" addedBy="BY_USER"/> <item id="127" name="Austin Server" description="Linux" type="device" subType="server" addedBy="BY_USER"/> </items> </itemType> <itemType type="Interfaces"> <items> <item id="417" name="eth0/1/0:7" description="Ethernet0/1/0:7" type="interface" subType="physical" addedBy="BY_USER"/> <item id="418" name="eth0/1/0:8" description="Ethernet0/1/0:8" type="interface" subType="physical" addedBy="BY_USER"/> <item id="420" name="eth0/1/0:9" description="Ethernet0/1/0:9" type="interface" subType="physical" addedBy="BY_USER"/> </items> </itemType> </itemTypes> </group>
Obtention de la liste de vos groupes
Vous pouvez uniquement modifier ou supprimer les groupes dont vous êtes le propriétaire Si vous avez créé un groupe, vous êtes le propriétaire de ce groupe. L'administrateur global est le propriétaire de tous les groupes de l'arborescence Groupes. En outre, l'administrateur global et l'administrateur de clients hébergés peuvent modifier votre compte d'utilisateur pour vous donner la propriété d'une branche de l'arborescence Groupes.
Utilisez le service Web users pour obtenir une liste des groupes dont vous êtes le propriétaire. Consultez les descriptions suivantes pour utiliser le service Web users :
Envoyez l'appel suivant pour afficher les paramètres et les opérations disponibles pour le service Web users :
http://
PC_host
:8181/pc/center/rest/users/documentation
Méthodes GET disponibles
  • get groups owned by user
    Récupère une liste de groupes pour l'utilisateur spécifié. Les groupes renvoyés correspondent aux groupes que l'utilisateur spécifié possède et qu'il peut modifier ou supprimer :
    http://
    PC_host
    :8181/pc/center/webservice/users/idName/idValue/groupsOwnedByUser
  • get groups
    Récupère une liste des groupes pour lesquels l'utilisateur spécifié dispose des droits d'affichage. Les groupes renvoyés correspondent aux groupes qui figurent dans l'ensemble d'autorisation de l'utilisateur spécifié. L'utilisateur ne peut pas modifier ou supprimer ces groupes :
    http://
    PC_host
    :8181/pc/center/webservice/users/idName/idValue/groups
  • get id names
    Récupère une liste d'identificateurs que vous pouvez utiliser pour identifier des utilisateurs dans d'autres méthodes de service Web.
    http://
    PC_host
    :8181/pc/center/webservice/users/idNames
    • idValue
      Valeur de la catégorie d'identification. Par exemple, si
      idName
      est
      userID
      , fournissez l'ID d'utilisateur. Si
      idName
      est
      userName
      , fournissez le nom d'utilisateur.
  • get authentication types
    Renvoie une liste d'identificateurs que vous pouvez utiliser pour affecter des types d'authentification à des utilisateurs.
    http://
    PC_host
    :8181/pc/center/webservice/users/authenticationTypes
Méthodes GET disponibles
  • update role
    Met à jour l'affectation de rôle du compte d'utilisateur spécifié.
    http://
    PC_host
    :8181/pc/center/webservice/users/idName/idValue/role/roleIdName/roleIdValue
  • update time zone
    Met à jour le fuseau horaire du compte d'utilisateur spécifié.
    http://
    PC_host
    :8181/pc/center/webservice/users/idName/idValue/timeZone/newTimeZone
  • set groups
    Met à jour les groupes d'autorisations accordées au compte d'utilisateur spécifié.
    http://
    PC_host
    :8181/pc/center/webservice/users/idName/idValue/groups
  • set administered groups
    Met à jour les groupes du compte d'utilisateur spécifié.
    http://
    PC_host
    :8181/pc/center/webservice/users/idName/idValue/administeredGroup
    Pour ajouter des groupes administrés à un compte d'utilisateur, fournissez un code XML au format suivant :
    <groups> <group ID="5245"/> <group ID="5246"/> <group ID="5247"/> ... </groups>
  • update product privilege per datasource
    Met à jour les droits d'accès au produit du compte d'utilisateur spécifié pour permettre l'accès à l'interface utilisateur d'une source de données.
    http://
    PC_host
    :8181/pc/center/webservice/users/idName/idValue/ds/
    dsId
    /productPrivilege/newProductPrivilege
    • dsId
      Identificateur de la source de données. Pour obtenir la liste des identificateurs de source de données disponibles, consultez la rubrique Paramètres de source de données de base.
      Pour plus d'informations sur les droits d'accès au produit, consultez la section Paramètres des droits sur le produit du compte d'utilisateur.
Méthodes POST disponibles
  • create
    Crée un compte d'utilisateur. Le nouveau rôle est associé au client hébergé de l'utilisateur connecté. Les paramètres incluent une affectation de rôle.
    http://
    PC_host
    :8181/pc/center/webservice/users/role/roleIdName/roleIdValue
  • create in tenant
    Crée un compte d'utilisateur dans le client hébergé spécifié, avec l'affectation de rôle spécifiée.
    http://
    PC_host
    :8181/pc/center/webservice/users/tenant/tenantIdName/tenantIdValue/role/roleIdName/roleIdValue
Création de groupes à l'aide des services Web
Utilisez un client REST pour créer et configurer un groupe associé au client hébergé par défaut à l'aide du service Web des groupes. Les étapes de création de groupes dans un client hébergé personnalisé sont légèrement différentes. Vous pouvez fournir l'ID de groupe ou le chemin de groupe comme paramètres.
URL de base permettant de créer un groupe :
http://
PC_host
:8181/pc/center/webservice/groups/
useIds
/
allowDeletes
/items
  • useIds
    Indique que le paramètre
    groupItemId
    est utilisé pour identifier le groupe. Indique si l'attribut id fourni d'un groupe doit être utilisé pour l'identifier. La valeur false indique que le service Web groups n'essaye pas d'utiliser les ID des groupes pour créer des groupes. Les ID sont assignés en interne, c'est pourquoi ils ne permettent pas d'identifier de manière fiable les groupes qui ont été exportés et réimportés.
  • allowDeletes
    Active la suppression du groupe que vous créez. Permet au service Web de groupes de mettre à jour les règles définies dans les groupes existants écrasés par ce document XML.
Exemple
:
http://
PC_host
:8181/pc/center/webservice/groups/groupPath/All%20Groups%2FAustin
Procédez comme suit :
  1. Configurez un client REST avec une connexion au serveur
    NetOps Portal
    .
  2. Utilisez le format suivant pour l'URL dans le client REST :
    http://
    PC_host
    :8181/pc/center/webservice/groups/false/false
  3. Sélectionnez
    POST
    comme
    méthode HTTP
    .
  4. Fournissez un nom d'utilisateur et un mot de passe valides dans l'en-tête de demande d'un compte d'utilisateur disposant d'un accès en tant qu'administrateur global à CA
    NetOps Portal
    .
  5. Sélectionnez
    application/xml
    comme configuration pour
    Body Content-type
    .
  6. Ajoutez le code XML suivant dans la section de texte Body (Corps) et remplacez les valeurs par les valeurs que vous voulez utiliser pour le nouveau groupe :
    <GroupTree path="/All Groups"> <Group name="Group Name" desc="Description of the group" inherit="true" type="user group"/> </GroupTree>
    • inherit (Hériter)
      Indique si le groupe inclut les éléments enfants des membres du groupe. Par exemple, si l'attribut inherit est défini sur true, les interfaces d'unité sont des membres du groupe si l'unité a été ajoutée au groupe.
    • type
      Indique le type de groupe. Les valeurs suivantes sont prises en charge.
      Valeurs :
      • groupe d'utilisateurs
        (valeur par défaut)
        Groupe créé par un utilisateur
      • site
        Groupe créé par un utilisateur et qui représente un site physique
    Par exemple, fournissez le code XML suivant :
    <GroupTree path="/All Groups"> <Group name="USA" desc="Group to represent the entire United States" inherit="true" type="user group"/> </GroupTree>
  7. Exécutez la méthode.
    Un nouveau groupe (USA) est créé sous le groupe par défaut Tous les groupes dans l'arborescence Groupes.
  8. Répétez les étapes précédentes pour créer un groupe de sites. Fournissez le code XML suivant pour un groupe de sites :
    <Group name="USA-Site" desc="Site group to represent the entire United States" inherit="true" type="site group" location="North America"/>
  9. Répétez ces étapes pour créer autant de groupes et de groupes de sites que nécessaire.
  10. Utilisez une procédure similaire pour créer des sous-groupes. Ajoutez le code XML suivant dans la section de texte Body (Corps) :
    <GroupTree path="/All Groups/USA"> &