Tipps & Tricks: API-Konfiguration

Tipps & Tricks: API-Konfiguration

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


Resolution


Mit der API können Sie viele coole Dinge tun. Eine der gängigeren Aufgaben, die ein Administrator ausführen kann, ist der Zugriff, die Aktualisierung und die Änderung der Konfiguration der Firewall durch ein kreatives Scripting, während die Benutzerfreundlichkeit der API genutzt wird.

 

Genau wie die GUI und das CLI erfordert der Zugriff auf die API eine Authentifizierung. Mit dem folgenden Befehl kann ein Authentifizierungs Zeichen mit dem eigenen Benutzernamen und Passwort eines jeden Administrators generiert werden. Wir empfehlen nicht, diesen Token zu teilen.

https://Hostname >/API/? Type = keygen & User =username >& Passwort =Passwort >        

 

Der daraus resultierende Token kann dann in jedem API-Befehl als Authentifizierungs Zeichen wie so injiziert werden:

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

 

Der obige Befehl gibt die gesamte Konfigurationsdatei zurück, aber Sie können den XPath auch auf eine kleinere, spezifischere Teilmenge der Konfiguration filtern:

/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

Wenn Sie sich die Konfiguration XML ansehen, wird der XPath mehr Sinn machen:

Xpath

 

 

Sie können die API-Browse-Funktion nutzen, um alle möglichen XPath-Optionen zu durchsuchen, so dass Sie einen schmaleren Filter erstellen können, der Ihren Bedürfnissen entspricht:

/PHP/Rest/Browse.php/config

 

Um neue Objekte hinzuzufügen, verwenden Sie die ' Set '-Aktion oder ' löschen ', um ein Objekt zu entfernen oder ' bearbeiten ', um ein Objekt zu ändern:

/API/? Type = config & Action =Set& Key =<key>& XPath =/config/Devices/Entry/Vsys/Entry/Address & Element =<entry name='test'><description>My DESC</description><ip-netmask>1.1.1.1</ip-netmask> </entry> </key>  
/API/? Type = config & Action =Löschen& Key =<key>& XPath =/config/Devices/Entry/Vsys/Entry/Address & Element =<entry name='test'> </entry> </key>  

Wie Sie sehen, wenn Sie anfangen, recht einfache Operationen durchzuführen, beginnt die URL schnell ziemlich komplex zu werden. Eine weitere coole Möglichkeit, herauszufinden, welche xpfade für bestimmte Operationen verwendet werden sollen, ist die Verwendung des CLI Debug-Modus:

 

> Debug CLI on
(leaf-Tag: CLI Value: on)
((EOL-aufeinander abgestimmt:. #t) (CLI-Handler:. Debug-CLI-Handler) (Kontext-eingefügt-at-End-p:. #f))

> configure
()
((Kontext-eingefügt-at-End-p:. #t))
Eingabe des Konfigurations Modus
[Bearbeiten]

# Set-Adresse "test55"-Beschreibung "API-Objekt" IP-Netmask 10.0.0.1
(Container-Tag: Adress-Container-Tag: Einstiegs Schlüssel-Tag: namens Wert: test55 leaf-Tag: Beschreibungs Wert: API-Objekt Blatt-Tag: IP-Netmask-Wert: 10.0.0.1)
((EOL-aufeinander abgestimmt:. #t) (XPath-Präfix:. /config/Devices/Entry [@name = ' localhost. localdomain ']/Vsys/Entry [@name = ' vsys1 ']) (Kontext-eingefügt-at-End-p:. #f))
(Adresse (Eintrag (@ (Name test55)) (Beschreibung API Object) (IP-Netmaske 10.0.0.1)))
(Eintrag (@ (Name test55)) (Beschreibung API Object) (IP-Netmaske 10.0.0.1))

Dies ist der XPath im Set-Befehl above
<request cmd="set" obj="/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/address/entry[@name='test55']" cookie="1285104864936584">
<description>API-Objekt</description><ip-netmask>10.0.0.1 </ip-netmask>Dies ist das Element im Set-Befehl oberhalb von 2016-02-16 16:38:32 Befehl [edit] #
</request>


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


 

Wenn das System multivsys ist, muss das XML angepasst werden, um die richtigen Vsys zu reflektieren, also wird der XPath:

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

 

Wenn Sie noch keine Angst haben, besuchen Sie bitte unser API-Diskussionsforum, in dem Sie eine Menge interessanter Themen finden, die über reale Anwendungsfälle diskutiert werden, und raffinierte Möglichkeiten, Operationen mit python oder perl zu automatisieren.

 

Bitte hinterlassen Sie einen Kommentar oder ähnliches, wenn Sie diese Informationen hilfreich gefunden haben.

 

Vielen Dank!

 

Tom



Actions
  • Print
  • Copy Link

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

Choose Language