Central MSP & Advanced - Moritz Wuerich // 16. Oktober 2018 - Read-Only
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Central MSP & Advanced 1. Überblick & Einordnung 2. MSP-Modus – Anwendungen – Demo 3. Arbeiten mit der API – Möglichkeiten & Grundlagen – Werkzeuge – Beispiel: Applikation zur Gästeverwaltung 4. Fragen 2
Central ist die SaaS-Managementlösung von Aruba für Switches und Instant-AP MANAGEMENT INFRASTRUKTUR 4
Switchunterstützung in Central 2.4.5 (Oktober 2018) Gerätefamilie Unterstützt mit Firmware Stack unterstützt mit FW 2530 16.05+ --- 2540 16.03+ --- 2920 16.03+ 16.04+, nur Template-Gruppe 2930F 16.03+ --- 2930M 16.04+ 16.06+, nur Template-Gruppe 3810M 16.03+ --- 5400R 16.04+, nur Template-Gruppe 16.06+, nur Template-Gruppe 5
Im MSP-Modus kann ein Central-Account mehrere untergeordnete Kunden verwalten Managed Service – Franchisegeber und –nehmer Provider (MSP) – Kommunaler IT-Dienstleister und Schulträger – IT-Abteilung und andere Unternehmensteile MSP-Kunde – Systemhäuser und Endkunden 7
MSP kann Erscheinungsbild des Endkundenportals anpassen 8
Geräte und Lizenzen werden zentral vom MSP verwaltet und den Kunden zugeordnet 9
MSP kann zentrale Konfigurationselemente an Kunden vererben MSP default Holonet High-Risk Kunde default 10
11
Arbeiten mit der API 12
Mit der Central-API werden Daten und Funktionen für Drittsysteme zugänglich Anwendungsfälle – Regelmäßiges Reporting in individuellem Format – Gästetickets auf Knopfdruck in einem Schulverwaltungssystem – Provisionierung von Geräten und MSP-Kunden – Anbindung eines Ticket-Systems für Alarme – Abrechnung von Lizenzen und Geräten 13
Skripte können Aktualisierung per API übernehmen und große Datenmengen umsetzen Konfigurations-datenbank API-Call Skript für Anpassungen und Parsing Angepasste Oberfläche 14
REST ist ein Architekturstil für die Kommunikation in verteilten Systemen Client Server URI (Uniform Resource Identifier) http://wetter.com/cities/Essen GET /cities/Essen Ressource { Repräsentation HTML Repräsentation JSON "city":"Essen", "temperatures": { { "city":"Essen", "max":"25", "temperatures": "min":"12" Wetter { } Essen "max":"25", } "min":"12" … } } Hier gezeigt ist eine typische und im Folgenden relevante Implementierung mittels HTTP und JSON. Mehr Infos: Fielding (2000). Architectural Styles and the Design of Network-based Software Architectures. Irvine, CA. 15
Verschiedene Methoden ermöglichen lesen, löschen, erstellen und ändern Client Server URI (Uniform Resource Identifier) http://wetter.com/cities/Essen PUT /cities/Essen { Ressource "city":"Essen", "temperatures": { Repräsentation HTML Repräsentation JSON "max":"27", "min":"18" { } "city":"Essen", } "temperatures": Wetter { DELETE /cities/ Essen "max":"25", Bielefeld "min":"12" … } } Hier gezeigt ist eine typische und im Folgenden relevante Implementierung mittels HTTP und JSON. Mehr Infos: Fielding (2000). Architectural Styles and the Design of Network-based Software Architectures. Irvine, CA. 16
Applikationen müssen zuerst für den API-Zugriff registriert werden 17
Für das Generieren eines Access-Token sind drei Aufrufe gegen die Central-API notwendig Benutzername, Passwort, Client-ID /oauth2/authorize/central/api/login CSRF-Token, Session-ID CSRF-Token, Session-ID, Client-ID, Reponse-Type, Scope App /oauth2/authorize/central/api Auth-Token Client-ID, Client-Secret, Auth-Token, Grant-Type /oauth2/token Access-Token, Refresh-Token, Gültigkeitsdatum, Token-Typ 18
Applikationen können Access-Token selbständig abrufen und erneuern 19
Manche API-Aufrufe geben Ergebnisse blockweise aus, Applikation muss dies abfangen Beispiel: Abfrage einer Liste von Gästeaccounts erfordert Parameter offset und limit àOffset = Anfangsposition àLimit = Anzahl der auf einmal ausgegebenen Datensätze 20
IDE mit integrierten Debuggern und öffentliche Webhooks sind bei Entwicklung und zum Testen hilfreich 21
Die meiste Arbeit ist schon getan… Communities und Bibliotheken haben viele fertige Bausteine 22
Beispiel: Gästeverwaltung – Konsolenapplikation – Geschrieben in C# – RestSharp für Request-Handling – Json.NET für Parsing und (De-)Serialisierung – Leicht overengineered J – Funktionen: Gästeaccounts anschauen, anlegen, editieren und löschen 23
Bibliotheken wurden genutzt, um Funktionen kurz und präzise zu fassen public void UpdateVisitor(Visitor visitor) { // Prepare the request, place portal ID and visitor ID in the URL var request = new JsonRestRequest() { Resource = $"{apiUrl}/portals/{visitor.AssignedPortal.Id}/visitors/{visitor.Id}", Method = Method.PUT }; // Add payload request.AddBody(visitor); var response = client.Execute(request); Debug.Print(response.StatusDescription); Debug.Print(response.Content); } 24
RestSharp bietet Funktionen zum Request-Handling, inklusive Schnittstelle für Autorisierung RestClient IAuthenticator Execute(RestRequest) : RestResponse Authenticate(RestClient, RestRequest) RestResponse Authenticator RestRequest 25
Json.NET hilft bei der Übersetzung von Objekten in JSON-Daten und andersrum class ApiToken { [JsonProperty(PropertyName = "refresh_token")] public string RefreshToken { get; set; } [JsonProperty(PropertyName = "token_type")] public string TokenType { get; set; } [JsonProperty(PropertyName = "access_token")] public string AccessToken { get; set; } [JsonProperty(PropertyName = "expires_in")] public int ExpirationTime { get; set; } } apiToken = JsonConvert.DeserializeObject(response.Content); sessionRequest.AddBody(apiToken); 26
27
Fragen? Fragen! 28
Vielen Dank! Moritz Wuerich // wuerich@hpe.com 29
Sie können auch lesen