← Zurück zur Übersicht

STACKIT Resource Explorer: Inventar für die souveräne Cloud

Der stackit-resource-explorer erfasst alle Ressourcen einer STACKIT-Organisation – virtuelle Maschinen, Datenträger, Buckets, Netzwerke, Load Balancer, IAM-Identitäten und die laufenden Kosten – und macht sie in einer einzigen, durchsuchbaren Oberfläche sichtbar. Das Werkzeug ist quelloffen, wird selbst betrieben und greift ausschließlich lesend auf Ihre Cloud zu.

STACKIT ist als deutscher Hyperscaler eine ernstzunehmende Option für Unternehmen mit Anforderungen an digitale Souveränität.

Warum ein Inventar für STACKIT?

Die STACKIT-Konsole zeigt Ressourcen projektweise an. Solange ein Team mit zwei oder drei Projekten arbeitet, ist das ausreichend. Sobald eine Organisation über Ordnerstrukturen hinweg wächst, verändert sich die Fragestellung grundlegend: Wie viele virtuelle Maschinen laufen insgesamt? Welche Datenträger sind an keinen Server mehr angebunden? Welches Projekt verursacht in diesem Monat die höchsten Kosten?

Diese Fragen lassen sich durch Klicken durch die Konsole nicht beantworten – jedenfalls nicht verlässlich und nicht wiederholbar. Auditoren, Kostenverantwortliche und Sicherheitsteams stellen sie aber regelmäßig. Ein zentrales Inventar verwandelt eine mehrstündige manuelle Recherche in eine Suchanfrage.

Oberfläche des STACKIT Resource Explorer: Ressourcenübersicht über alle Projekte mit Aggregationen nach Typ, Region und Zustand
Genau diese Fragen beantwortet ein zentrales Inventar: alle Projekte in einer Ansicht, mit Aggregationen nach Typ, Region und Zustand.

Was der Explorer erfasst

Den Ausgangspunkt bildet die STACKIT Resource Manager API: Der Explorer ermittelt die übergeordnete Organisation und durchläuft rekursiv die gesamte Ordnerhierarchie, um alle erreichbaren Projekte zu finden. Anschließend erfassen spezialisierte Scraper die einzelnen Ressourcentypen:

  • Virtuelle Maschinen: Availability Zone, Betriebszustand (RUNNING, SHUTOFF), Maschinentyp, Boot- und angehängte Datenträger, Security Groups, SSH-Schlüsselpaare sowie private und öffentliche IP-Adressen.
  • Block Storage: persistente Datenträger mit Größe, Performance-Klasse, Verschlüsselungsstatus und dem Server, an dem sie hängen.
  • Object Storage: S3-kompatible Buckets samt Region und Konfiguration.
  • Netzwerke: VPCs mit Präfixen, Gateway-Routing und Labels sowie Load Balancer mit Listenern und Target Pools.
  • IAM: Rollenzuweisungen für Benutzer, Gruppen und Service Accounts auf Projektebene, ergänzt um die in den Projekten definierten Service Accounts.
  • Kosten: die Ausgaben des laufenden Kalendermonats aus der STACKIT Cost API v3 – je Projekt und als Summe für die gesamte Organisation, automatisch von Cent in Euro umgerechnet.

Jeder Scraper läuft nach eigenem Zeitplan und schreibt seine Ergebnisse in eine PostgreSQL-Datenbank. Ist ein Dienst in einem Projekt nicht aktiviert oder fehlt dem Service Account die Berechtigung, protokolliert der Explorer eine Warnung und arbeitet mit den übrigen Projekten weiter – ein einzelnes gesperrtes Projekt bringt den Durchlauf nicht zum Erliegen.

Volltextsuche über alle Metadaten

Ein Inventar ist nur so nützlich wie seine Suchfunktion. Der Explorer nutzt die Volltextsuche von PostgreSQL: Eine generierte tsvector-Spalte mit GIN-Index indiziert Ressourcennamen, Typen, Regionen, Tags und die kompletten JSON-Metadaten. Abgefragt wird über websearch_to_tsquery mit Relevanzsortierung per ts_rank.

Praktisch bedeutet das: Sie geben eine IP-Adresse ein und finden die virtuelle Maschine, die sie verwendet. Sie suchen nach einer Volume-ID und sehen sofort, an welchem Server der Datenträger hängt. Die Ergebnisliste ist auf 100 Einträge begrenzt, damit die Oberfläche schnell bleibt – die Aggregationen nach Typ, Region und Zustand werden jedoch exakt über den gesamten Datenbestand berechnet und neben der Trefferliste angezeigt.

Veraltete Zugangsdaten erkennen

Der sicherheitsrelevanteste Teil des Explorers ist die Auswertung der Authentifizierungsverfahren. Für jede Identität unterscheidet er, ob moderne asymmetrische Schlüsselpaare (Key Flow (RSA_2048)), menschliche Anmeldung über OIDC / Enterprise SSO oder das veraltete Token Flow-Verfahren zum Einsatz kommt – bei letzterem dient ein langlebiges, statisches API-Geheimnis unmittelbar als Bearer Token.

Solche Alt-Zugangsdaten sind selten dokumentiert und werden meist erst bemerkt, wenn sie abgelaufen sind oder abfließen. Der Explorer markiert betroffene Ressourcen mit einer deutlichen Warnung und stellt unter der Suchleiste Schnellfilter bereit: ein Klick auf Token Flow listet alle Identitäten mit statischen Geheimnissen auf, ein Klick auf Key Flow alle mit RSA-Schlüsselpaaren. Damit wird aus einer offenen Frage eine abarbeitbare Liste.

Betrieb und Konfiguration

Für den Start genügen eine Docker-Compose-Datei und ein Service-Account-Schlüssel. Die fertigen Container-Images liegen in der GitHub Container Registry, ein docker compose up -d startet Backend, Frontend und Datenbank. Die Oberfläche ist danach auf Port 8081 erreichbar, die REST-API auf Port 8080.

Der Schlüssel wird als scraper.json eingebunden. Wichtig ist dabei: Der zugehörige Service Account braucht ausschließlich lesende Rechte. Eine Rolle wie project.auditor auf Organisations- oder Ordnerebene reicht aus; wer feingranular arbeiten möchte, vergibt die einzelnen Viewer-Rollen je Dienst. Die Intervalle der Scraper lassen sich über Umgebungsvariablen wie STACKIT_COMPUTE_SCHEDULE oder STACKIT_BILLING_SCHEDULE steuern – als Intervall (1h), als Cron-Ausdruck oder mit off, um einen Scraper abzuschalten.

Projekt auf GitHub

Quellcode, Docker-Compose-Dateien und die vollständige Übersicht der benötigten IAM-Rollen finden sich im Repository. Das Projekt steht unter der Apache-2.0-Lizenz und befindet sich in aktiver, früher Entwicklung – Rückmeldungen und Beiträge sind ausdrücklich willkommen:

GitHub: stackit-resource-explorer

Fazit

Souveränität in der Cloud beginnt beim Überblick: Was man nicht sieht, kann man weder absichern noch wirtschaftlich betreiben. Der STACKIT Resource Explorer schafft diesen Überblick mit überschaubarem Aufwand – ein Container-Stack, ein lesender Service Account, und die Frage nach dem Bestand der eigenen Cloud ist beantwortet.

Transparenz in Ihrer STACKIT-Umgebung?

Wir unterstützen Sie beim Aufbau von Inventarisierung, Kostentransparenz und IAM-Governance in STACKIT und anderen Cloud-Umgebungen. Sprechen Sie uns an.

Kontakt aufnehmen
← Zurück zur Übersicht