V-Realize Automation (VRA), ehemals V-Cloud Automation Center, ist eine Automatisierungssoftware für virtuelle Umgebungen, entwickelt von VM-Ware. V-Realize stellt ein sicheres Portal zur Verfügung, in dem Nutzer neue IT-Services anfordern und spezifische Cloud- und IT-Ressourcen verwalten können. Unter Einsatz einer REST-API (Representational State Transfer – Application Programming Interface) können Applikationsentwickler virtuelle und physikalische Maschinen in virtuellen, physikalischen und Cloud-Umgebungen bereitstellen und automatisieren.

Client-Apps und Web-Services entwickeln

Bild 1: Ein typischer Spezifikationsentwurf eines Szenarios (Blueprint) enthält eine oder mehrere physikalische, virtuelle oder Cloud Machines.

Bild 1: Ein typischer Spezifikationsentwurf eines Szenarios (Blueprint) enthält eine oder mehrere physikalische, virtuelle oder Cloud Machines. Analog Devices

Dieser Beitrag enthält eine Schritt-für-Schritt-Anleitung für REST-APIs von V-Realize Automation und zeigt, wie sich entsprechende Services und Ressourcen nutzen lassen. Entwickler erfahren, wie man HTTP-Bearer-Tokens für Authentifizierung und Autorisierung erstellt und wie REST-API-Service-Aufrufe zu konstruieren sind. Das Ganze läuft in folgenden Schritten ab:

  • Einsatz einer Virtual Machine (VM), ausgehend von einem Blueprint
  • Überwachung des Status der Anfrage (Request) durch Implementierung
  • Rückgabe von Netzwerk-Informationen über die bereitgestellte virtuelle Maschine am Ende des Prozesses

Eckdaten

V-Realize Automation löst als neue Automatisierungssoftware für virtuelle Umgebungen den alten V-Cloud Director ab. Der Entwickler VM-Ware stellt ein sicheres Portal zur Verfügung, in dem Nutzer neue IT-Services anfordern und spezifische Cloud- und IT-Ressourcen verwalten können. Unter Einsatz einer REST-API können Applikationsentwickler virtuelle und physikalische Maschinen in virtuellen, physikalischen und Cloud-Umgebungen bereitstellen und automatisieren.

Die folgende Abhandlung wendet sich an Applikationsentwickler und Software-Ingenieure, die Client-Applikationen, Web-Schnittstellen und Web-Services entwickeln, welche mit dem V-API-Endpunkt verbunden sind, um V-Sphere Automation SDK von VM-Ware für REST Services zu nutzen. Angesprochen sind auch diejenigen, die VRA zum Verwalten ihrer Ressourcen nutzen möchten, aber die Bereitstellung einer Ressource wünschen, die sich in ihre aktuellen Prozesse einfügt.

VM-Ware verkündete, dass V-Cloud Director nicht mehr länger Teil der Lizenz in der Generation 6.x der V-Cloud Suite sein wird. V-Cloud Director ist am Ende seiner Lebensdauer für Unternehmenskunden angekommen. V-Cloud Director wird im Rahmen des VM-Ware Service Provider Programms (VSPP) im Cloud Bundle weiterhin zur Verfügung stehen.

V-Realize Automation ist der Nachfolger für diejenigen, die derzeit V-Cloud Director nutzen. Die neue Sofware beschleunigt die Implementierung und die Verwaltung von Applikationen und Rechenservices.

REST-API anstatt SOAP

SOAP (Simple Object Access Protocol) und REST sind beide Webservice-Kommunikationsprotokolle. REST arbeitet über eine einzelne konsistente Schnittstelle, um bestimmte Ressourcen anzusprechen. Seine häufigste Verwendung erfolgt beim Einsatz einer öffentlichen API über das Internet. Dagegen zeigt SOAP Komponenten von Applikationslogik als Services anstelle von Daten. Genannt seien hier einige Vorteile, denn REST

  • bietet eine größere Vielfalt an Datenformaten, während SOAP nur XMLerlaubt,
  • gewährleistet eine einfache Zusammenarbeit mit JSON (das normalerweise besser mit Daten arbeitet und schnelleres Parsing bietet)
  • ermöglicht ein bessere Unterstützung für Browser Clients durch Daten im JSON-Format
  • bietet erstklassige Leistungsfähigkeit, insbesondere durch Caching für Informationen, die sich nicht ändern und nicht dynamisch sind
  • ist das am häufigsten verwendete Protokoll für wichtige Services wie Yahoo, Ebay, Amazon und Google
  • arbeitet im Allgemeinen schneller und benötigt weniger Bandbreite. REST lässt sich auch leichter in bestehende Websites integrieren und zwar ohne die Site-Infrastruktur überarbeiten zu müssen. Dies ermöglicht Entwicklern schneller zu arbeiten, anstatt Zeit mit dem Umschreiben einer Site zu verbringen. Stattdessen können sie Funktionalität einfach hinzufügen.

Verwendung der REST-API unter V-Realize Automation

Bild 2: Fünf Schritte, um einen Blueprint anzufordern und zu implementieren.

Bild 2: Fünf Schritte, um einen Blueprint anzufordern und zu implementieren. Analog Devices

Zunächst bedarf es der Spezifikation eines Szenarios (Blueprint, Bild 1), welche eine oder mehrere physikalische, virtuelle oder Cloud Machines enthält, inklusive Netzwerk-Konfigurationen und die jeweilige Lifecycle-Information. In einem typischen Software-Entwicklungsprozess rufen Nutzer die REST-API auf, um einen Blueprint zu bereitzustellen.

Die REST-API ist für einen Katalogdienst (Catalogs Service) konzipiert. Zum Beispiel kann ein Endverbraucher ein Katalogobjekt anfordern und die REST-API dementsprechend aufrufen.

Die Techniken, welche die Trusted Security Solutions Group (TSS) von Analog Devices derzeit entwickelt, sind für Entwickler bestimmt, die V-Realize Automation programmatisch verwalten möchten, um VMs für die Software-Entwicklung bereitzustellen. Die Prozedur zur Anforderung eines Katalogobjekts per REST-API von VRA ist durch die folgenden fünf Schritte erreichbar (siehe auch Bild 2):

Schritt 1: Erwerb eines HTTP-Bearer-Tokens für Authentifizierung

  • URL: https://<vrafqdn>/identity/api/tokens
  • Type: Get
  • Type: Post
  • Headers: Content-type: application/json

Schritt 2: Holen der Blueprint-ID mit Blueprint-Namen

  • URL: https://<vrafqdn>/catalog-service/api/consumer/entitledCatalogItems?$filter=name+eq+‘name‘
  • Type: Get
  • Headers:
    Content-type: application/json,
    Authorization: Bearer <token>,
    Accept: application/json

Schritt 3: Holen des JSON-Templates, das erforderlich ist, um das Katalogobjekt anzufordern

  • URL: https://<vrafqdn>/catalog-service/api/consumer/entitledCatalogItems/{id}/requests/template
  • Type: Get
  • Headers:
    Content-type: application/json,
    Authorization: Bearer <token>,
    Accept: application/json

Schritt 4: Anforderung eines Katalogobjektes

  • URL: https://<vrafqdn>/catalog-service/api/consumer/entitledCatalogItems/{id}/requests
  • Type: Post
  • Body: json response received from request template (previous step)

Schritt 5: Prüfen des Request-Status

  • URL: https://<vrafqdn/catalog-service/api/consumer/requests/{requestid}
  • Type: Get

REST-Client-Programme und API-Referenzen

Jede Client-Applikation, die HTTPS-Requests senden kann, ist ein geeignetes Tool zur Entwicklung von REST-Applikationen mit der Automation-API. Eine der häufig verwendeten Open-Source-Software ist CURL (Command Line Tool und Library, curl.haxx.se/) oder Postman Applikation (getpostman.com/)

Eine VRA-Referenzliste führt alle REST-API-Dienstaufrufe (Service Calls) auf. Sie befindet sich als Swagger-Dokument an unterschiedlichen Orten: auf dem Server, falls V-Realize lokal installiert ist (https://{server}/vco/api/docs/index.html) oder als  Web-Ressource von VM-Ware unter pubs.vmware.com/vra-62/index.jsp – com.vmware.vra.restapi.doc/index.html.

Die Real-Life-Software „Cyber Range“ verwenden

Bild 3: Die Real-Life-Software "Cyber Range" interagiert mit VRA über die REST-API.

Bild 3: Die Real-Life-Software „Cyber Range“ interagiert mit VRA über die REST-API. Analog Devices

Die Cyber-Range-Software von Analog Devices gibt Kunden eine erweiterbare virtualisierte Plattform für Cyber-Sicherheitstraining, Modellierung, Simulation und weiterentwickelte Analysen an die Hand. Die Lösung wird auch Kunden wie dem US-Verteidigungsministerium, der Singapore Cyber Security Agency (CSA/SITSA) oder der Kyushu Universität in Japan angeboten.

Um ein Lab oder eine Challenge bereitzustellen, klickt der Anwender den Start-Button. Die Cyber-Range-Software ruft die zugehörige REST-API von VRA auf und diese wiederum ruft den zugehörigen VRA-Blueprint auf. V-Realize beginnt mit der Bereitstellung aller VMs, die zum bestimmten Blueprint gehören. Der VRA-Orchestrator führt Custom Scripts (falls vorhanden) während des Life-Cycles der VMs aus. Die REST-API gibt den Status zur Cyber-Range-Software zurück. Bei erfolgreicher Zustandsüberprüfung (Status Check) erscheint ein Windows- oder Linux-Icon, das einem Hyperlink enthält, um die Konsole zu öffnen.

Schlussbemerkung

V-Realize agiert als Repository von Analog Devices für eine Übungs-Infrastruktur in einer visuelleren, anwenderfreundlichen Umgebung mithilfe von Blueprints. Dies hilft dem Hersteller, Inhalte zeitnah anzupassen oder hinzuzufügen und Anwenderanforderungen zu erfüllen. Zusätzlich nutzt die VRA-Orchestrator-Integration dieser Lösung den Großteil des Codes zur Bereitstellung, indem angeboten wird, gemeinsam automatisierte Aufgaben auf die virtuelle Übungsplattform anzuwenden. Die Ausrichtung auf Java Script hilft dabei, alle Kunden-Skripte in der VM-Ware-Lösung zu verwalten und für verschiedenen Szenarien wiederzuverwenden. Darüber hinaus lässt sich durch den Einsatz der REST-API von VRA zur Bereitstellung eines Blueprints, der Erhalt eines Bereitstellungsstatus oder die Löschung der Blueprints die zur Entwicklung von Software benötigte Zeit erheblich verkürzen.