Tips & Trucos: configuración de la API

Tips & Trucos: configuración de la API

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


Resolution


Usted puede hacer un montón de cosas interesantes con la API. Una de las tareas más comunes que puede realizar un administrador es acceder, actualizar y cambiar la configuración del cortafuegos mediante un scripting creativo mientras se aprovecha la facilidad de uso de la API.

 

Al igual que la GUI y la CLI, el acceso a la API requiere autenticación. Se puede generar un token de autenticación con el comando siguiente utilizando el nombre de usuario y la contraseña de cada administrador. No recomendamos compartir este token.

https://hostname >/API/? Type = keygen y User =nombreDeUsuario >& password =contraseña >        

 

El token resultante se puede inyectar en cualquier comando de la API como un token de autenticación como tal:

/API/? Type = config & Action = Get& key =<key>& XPath =/config</key> 

 

El comando anterior devolverá el archivo de configuración completo, pero también puede filtrar el XPath a un subconjunto más pequeño y específico de la configuración:

/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 nos fijamos en el XML de configuración, el XPath tendrá más sentido:

Xpath

 

 

Puede utilizar la función de exploración de la API para buscar todas las opciones XPath posibles, para que pueda crear un filtro más estrecho que se adapte a sus necesidades:

/php/rest/Browse.php/config

 

Para agregar nuevos objetos, utilice la acción ' Set ' o ' delete ' para quitar un objeto o ' Edit ' para cambiar un objeto:

/API/? Type = config & Action =set& key =<key>& XPath =/config/Devices/entry/vsys/entry/Address & Element =<entry name='test'><description>mi DESC</description><ip-netmask>1.1.1.1</ip-netmask> </entry> </key>  
/API/? Type = config & Action =Supr& key =<key>& XPath =/config/Devices/entry/vsys/entry/Address & Element =<entry name='test'> </entry> </key>  

Como ves, cuando empiezas a realizar operaciones bastante sencillas, la URL empieza a ser bastante compleja rápidamente. Otra forma interesante de averiguar qué XPaths utilizar para ciertas operaciones es mediante el modo de depuración de CLI:

 

> debug CLI on
(hoja-Tag: CLI valor: on)
((EOL-emparejado:. #t) (CLI-handler:. debug-CLI-Handler (Context-Inserted-at-end-p:. #f))

> configure
()
((Context-Inserted-at-end-p:. #t))
entrar en modo de configuración
[editar]

# establecer dirección "test55" Descripción "objeto API" IP-máscara de 10.0.0.1
(contenedor-Tag: contenedor de direcciones-Tag: clave de entrada-Tag: nombre valor: test55 hoja-Tag: Descripción valor: API Object Tag: IP-valor de la máscara de máscaras: 10.0.0.1)
((EOL-emparejado:. #t) (XPath-prefix:. /config/Devices/entry [@name = ' localhost. localdomain ']/vsys/entry [@name = ' vsys1 ']) (Context-Inserted-at-end-p:. #f))
(dirección (entrada (@ (Name test55)) (Descripción del objeto API) (IP-máscara de 10.0.0.1)))
(entrada (@ (Name test55)) (Descripción del objeto API) (IP-máscara de 10.0.0.1))

este es el XPath en el comando set sobre el
<request cmd="set" obj="/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/address/entry[@name='test55']" cookie="1285104864936584">
<description>objeto API</description><ip-netmask>10.0.0.1 </ip-netmask>Este es el elemento en el comando set por encima del comando 2016-02-16 16:38:32 tenido éxito [editar] #
</request>


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


 

Si el sistema es multivsys, el XML necesitará ser ajustado para reflejar el vsys apropiado, por lo que el XPath se convierte en:

/config/Devices/entry [@name = ' localhost. localdomain ']/vsys/entry [@name = ' vsys1 ']/

 

Si aún no estás asustado, visita nuestro Foro de discusión de la API donde encontrarás un montón de temas interesantes que se discuten en casos de uso en el mundo real y formas ingeniosas de automatizar operaciones usando Python o Perl.

 

Por favor deje un comentario o un like si usted ha encontrado esta información útil.

 

¡Gracias!

 

Tom



Actions
  • Print
  • Copy Link

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

Choose Language