Astuces et astuces: configuration de l'API

Astuces et astuces: configuration de l'API

35216
Created On 09/25/18 18:56 PM - Last Modified 06/10/23 00:48 AM


Resolution


Vous pouvez faire beaucoup de choses cool avec l'API. Une des tâches les plus courantes qu'un administrateur peut effectuer est l'accès, la mise à jour et la modification de la configuration du pare-feu par le biais de certains scripts créatifs tout en tirant parti de la facilité d'utilisation de l'API.

 

Tout comme l'interface graphique et le CLI, l'accès à l'API nécessite une authentification. Un jeton d'Authentification peut être généré avec la commande ci-dessous en utilisant le nom d'utilisateur et le mot de passe de chaque administrateur. Nous ne recommandons pas de partager ce jeton.

https://hostname >/API/? type = keygen & user =nom d'utilisateur >& password =mot de passe >        

 

Le jeton résultant peut ensuite être injecté dans n'importe quelle commande API comme un jeton d'Authentification comme ceci:

/API/? type = config & action = get& Key =<key>& XPath =/config</key> 

 

La commande ci-dessus retournera le fichier de configuration entier, mais vous pouvez également filtrer le XPath vers le bas à un sous-ensemble plus petit et plus spécifique de la configuration:

/API/? type = config & action = Get & XPath =/config/Devices
/API/? type = config & action = Get & XPath =/config/MGT-config
/API/? type = config & action = Get & XPath =/config/Predefined
/API/? type = config & action = Get & XPath =/config/shared

Si vous regardez le XML de configuration, le XPath aura plus de sens:

Xpath

 

 

Vous pouvez utiliser la fonction de navigation de l'API pour examiner toutes les options XPath possibles, de sorte que vous pouvez construire un filtre plus étroit pour répondre à vos besoins:

/php/Rest/Browse.php/config

 

Pour ajouter de nouveaux objets, utilisez l'action'set'ou'delete'pour supprimer un objet ou'editer'pour changer un objet:

/API/? type = config & action =Set& Key =<key>& XPath =/config/Devices/Entry/VSys/Entry/Address & élément =<entry name='test'><description>My DESC</description><ip-netmask>1.1.1.1</ip-netmask> </entry> </key>  
/API/? type = config & action =Delete& Key =<key>and XPath =/config/Devices/Entry/VSys/Entry/Address & Element =<entry name='test'> </entry> </key>  

Comme vous le voyez, lorsque vous commencez à effectuer des opérations plutôt simples, l'URL commence à devenir assez complexe rapidement. Une autre façon cool de déterminer quels XPaths utiliser pour certaines opérations est en utilisant le mode de débogage CLI:

 

> Debug CLI on
(Leaf-Tag: CLI valeur: on)
((EOL-matched:. #t) (CLI-Handler:. Debug-CLI-Handler) (contexte-inséré-à-fin-p:. #f))

> configure
()
((Context-inserted-at-end-p:. #t))
saisie du mode de configuration
[Edit]

# set address "test55" Description "objet API" IP-masque de 10.0.0.1
(conteneur-Tag: Address Container-Tag: Entry Key-Tag: nom valeur: test55 Leaf-Tag: description valeur: API objet Leaf-Tag: IP-netmask valeur: 10.0.0.1)
((EOL-matched:. #t) (XPath-prefix:. /config/Devices/Entry [@name = 'localhost. localdomain']/VSys/Entry [@name = 'vsys1 ']) (Context-inserted-at-end-p:. #f))
(Address (entry (@ (Name test55)) (Description API Object) (IP-netmask 10.0.0.1)))
(entry (@ (Name test55)) (objet API de Description) (IP-netmask 10.0.0.1))

il s'agit du XPath dans la commande Set au-dessus de l'
<request cmd="set" obj="/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/address/entry[@name='test55']" cookie="1285104864936584">
<description>objet API</description><ip-netmask>10.0.0.1 </ip-netmask>Il s'agit de l'élément dans la commande Set ci-dessus 2016-02-16 16:38:32 commande a réussi [Edit] #
</request>


<response status="success" code="20"><msg></msg></response>


 

Si le système est Multivsys, le XML devra être ajusté pour refléter le VSys approprié, ainsi le XPath devient:

/config/Devices/Entry [@name = 'localhost. localdomain']/VSys/Entry [@name = 'vsys1 ']/

 

Si vous n'avez pas encore peur, S'il vous plaît aller visiter notre Forum de discussion API où vous trouverez beaucoup de sujets intéressants en cours de discussion sur le monde réel des cas d'utilisation et des moyens astucieux pour automatiser les opérations en utilisant python ou perl.

 

S'Il vous plaît laissez un commentaire ou un comme si vous avez trouvé cette information utile.

 

Merci !

 

Tom



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClS1CAK&lang=fr&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language