CostPulse
Funktionen So funktioniert’s Preise Support Insights English App laden

Sicherheit

Wie CostPulse mit deinem AWS-Account umgeht

Vertrauen ist die Grundlage unseres Dienstes. Du gibst uns Zugriff auf Kostendaten in deinem AWS-Account — hier erklären wir transparent, was genau in deinem Account passiert, welche Berechtigungen wir haben und welche nicht.

Was CostPulse in deinem AWS-Account anlegt

Wenn du einen AWS-Account verbindest, deployst du einen CloudFormation-Stack (CostPulse-Client-Roles-{hash}) in einer AWS-Region deiner Wahl (Standard: eu-central-1). Der Stack erstellt ausschließlich folgende Ressourcen:

4 IAM-Rollen — jede mit eigener, eng gefasster Berechtigung:

Rolle Zweck
Cost Reader Liest deine Kostendaten (ce:GetCostAndUsage) — sonst nichts.
Anomaly Detection Erstellt und verwaltet Kostenanomalien-Monitore. Kann nur Ressourcen ändern/löschen, die mit ManagedBy=costpulse getaggt sind.
Budgets Manager Liest alle Budgets. Kann nur Budgets erstellen, ändern oder löschen, deren Name mit costpulse-{hash}- beginnt.
Stack Cleanup Dient ausschließlich dazu, den CostPulse-Stack beim Offboarding zu löschen. Kann nur die eigenen CostPulse-Ressourcen entfernen.

1 SNS Topic (costpulse-{hash}-alerts) — empfängt Budget-Alarme und Anomalie-Erkennungen von AWS und leitet sie an CostPulse weiter, damit du Push-Benachrichtigungen erhältst. Nur die AWS-Dienste budgets.amazonaws.com und costalerts.amazonaws.com dürfen auf dieses Topic publizieren, eingeschränkt auf deine eigene Account-ID.

Sonst nichts. Keine Lambda-Funktionen, keine EC2-Instanzen, kein Datenspeicher, keine Netzwerk-Ressourcen.

{hash} ist ein deterministischer 8-Zeichen-Hex-String, der aus deiner ExternalId abgeleitet wird. Er stellt sicher, dass Ressourcen-Namen über mehrere Mandanten im selben AWS-Account hinweg isoliert sind.

Kein Zugriff auf Zugangsdaten

CostPulse speichert niemals langfristige AWS-Credentials (Access Keys oder Secret Keys). Der gesamte Zugriff erfolgt über temporäre AWS STS Sessions:

  1. CostPulse ruft sts:AssumeRole für die jeweilige Rolle in deinem Account auf.
  2. Jeder Aufruf erfordert die korrekte ExternalId — eine UUID, die beim Onboarding generiert wurde. Ohne diese ID schlägt der Zugriff fehl, selbst wenn jemand unsere Account-ID und den Rollen-ARN kennt (Schutz vor dem Confused Deputy Problem).
  3. AWS STS liefert temporäre Credentials, die nach 15 Minuten ablaufen.
  4. Innerhalb einer einzelnen Lambda-Ausführung werden Credentials aus Performance-Gründen im Arbeitsspeicher gecacht (nicht persistiert). Der Cache-Schlüssel enthält die authentifizierte Cognito-User-ID — ein warmes Lambda kann niemals Credentials eines anderen Nutzers zurückgeben. Cache-Einträge werden proaktiv verworfen, wenn weniger als 60 Sekunden Gültigkeit verbleiben. Selbst wenn ein veralteter Eintrag noch im Cache vorhanden wäre, lehnt AWS jeden API-Aufruf mit abgelaufenen Credentials ab — sie sind kryptographisch zeitgebunden und nach Ablauf unbrauchbar, unabhängig vom Caching.

Jede STS-Session erhält einen beschreibenden Namen (z.B. costpulse-cost-explorer, costpulse-anomaly-cleanup), der in deinen CloudTrail-Logs erscheint. Du kannst jederzeit prüfen, welche CostPulse-Operation welchen API-Aufruf ausgelöst hat.

Was CostPulse nicht kann

  • Keinen Zugriff auf AWS-Dienste außerhalb der 4 IAM-Rollen (kein S3, EC2, RDS oder andere Dienste).
  • Keine IAM-User oder Policies erstellen oder ändern (außer den eigenen Stack-Cleanup-Berechtigungen).
  • Keine Budgets außerhalb des costpulse-{hash}--Namens-Präfix erstellen.
  • Keine Anomalie-Monitore oder -Subscriptions löschen, die nicht mit ManagedBy=costpulse getaggt sind.
  • Keine Änderungen an deiner Infrastruktur vornehmen.

Account löschen — was passiert

Wenn du einen AWS-Account aus CostPulse entfernst, läuft das Offboarding automatisch ab:

  1. Anomalie-Cleanup: CostPulse löscht die erstellte Anomalie-Subscription. Der Anomalie-Monitor selbst (eine kostenlose, geteilte Ressource pro AWS-Account) wird nicht gelöscht.
  2. Account als gelöscht markiert in der CostPulse-Datenbank.
  3. Trust Policy deaktiviert: CostPulse setzt die Trust Policy der Stack-Cleanup-Rolle auf eine unmatchbare Bedingung (sts:ExternalId = "DISABLED"). Ab diesem Moment ist die Rolle dauerhaft unbrauchbar.
  4. Stack-Löschung: Mit der noch gültigen Session wird cloudformation:DeleteStack aufgerufen. CloudFormation löscht alle Ressourcen: die 3 operativen IAM-Rollen, das SNS Topic (inkl. aller Subscriptions) und die Custom Resource.
  5. Alle CostPulse-seitigen Daten (Kostendaten, Account-Informationen, SQS-Queue, Datenbank-Einträge) werden gelöscht.

Was übrig bleibt: Eine einzige verwaiste IAM-Rolle (costpulse-{hash}-stack-cleanup) mit deaktivierter Trust Policy. CostPulse kann diese Rolle nicht mehr annehmen und sie hat keine nutzbaren Berechtigungen. Du kannst sie gefahrlos manuell in der IAM-Konsole löschen.

Falls die automatische Löschung fehlschlägt, stellt CostPulse einen direkten Link zur CloudFormation-Konsole bereit, über den du den Stack mit einem Klick selbst löschen kannst.

Datenübertragung und Speicherung

  • Alle Kommunikation zwischen der App, unserem Backend und AWS erfolgt verschlüsselt über TLS.
  • Abgerufene Kostendaten werden in unserem Backend temporär zwischengespeichert (maximal 24 Stunden) zur Reduzierung von API-Aufrufen. Alarm-Datensätze werden 90 Tage aufbewahrt.
  • Unser Backend läuft auf AWS (Serverless-Architektur).
  • Wir verkaufen oder teilen deine Daten nicht mit Dritten.
  • Wir nutzen deine Kostendaten nicht für eigene Analysen oder Benchmarks.

Region

Beim Setup wählst du die AWS-Region, in der der CloudFormation-Stack deployt wird (Standard: eu-central-1). Die vom Stack erstellten IAM-Rollen sind globale AWS-Ressourcen und funktionieren unabhängig von der gewählten Region. Das SNS Topic zur Alarm-Weiterleitung wird in der gewählten Region erstellt.

Sicherheitsbedenken oder Fragen?

Wenn du eine Sicherheitslücke findest oder Fragen zu unserem Sicherheitskonzept hast, kontaktiere uns unter: me@till-it-works.de

CostPulse

AWS-Kostenmonitoring für iOS.

Produkt

  • Funktionen
  • So funktioniert’s
  • Preise
  • Sicherheit
  • Support
  • Insights

Rechtliches

  • Impressum
  • Datenschutz
  • AGB

Kontakt

  • me@till-it-works.de

© 2026 Tillitworks - IT Dienstleistungen. Alle Rechte vorbehalten.