Zum Inhalt springen

API Audit Checkliste

Eine umfassende Checkliste zur Überprüfung der API-Bereitschaft vor der Veröffentlichung, die Design, Dokumentation, Sicherheit und die Einhaltung von Richtlinien abdeckt.

  • Besseres Verständnis der Grundsätze der API Audit Checkliste
  1. Verwenden Sie die API Audit Checkliste, um sicherzustellen, dass der API-Entwurf die funktionalen und nicht-funktionalen Anforderungen erfüllt, einschließlich Sicherheit, Leistung und Compliance.
  2. Führen Sie Audits durch, um sicherzustellen, dass APIs vor der Veröffentlichung organisatorische, technische und rechtliche Standards erfüllen.
  3. Stellen Sie sicher, dass die Sicherheitsmodelle, die Gateway-Konfiguration und die rechtlichen Bestimmungen für die Verbraucher klar und verständlich sind.

✅ Das Konzept ist fertig, wenn…

KriterienOWASP API Top 10OpenAPI 3.1.x
Die API basiert auf klaren Geschäftsanforderungen.API9:2019
API verbirgt rohe Backend-Daten; für die gemeinsame Nutzung konzipiertAPI6:2023
Endpunkte haben einen geschäftlichen Nutzen und verfügen über FunktionsbeschreibungenAPI9:2023✅ (über Beschreibung)
Das API-Design ist konsistent mit anderen APIs.API8:2023, API9:2023
Daten/Attribute werden in beschreibendem Englisch benannt
Obligatorische Felder sind angegebenAPI6:2019✅ (über „required”)
Datumsangaben verwenden das ISO-Format mit ZeitzoneAPI8:2019✅ (über Format: Datum-Uhrzeit)
Allgemeine Daten verwenden Standardwerte (z. B. ISO)API6:2023, API8:2019➖ (über Aufzählung, Format, Muster)
Feldnamen vermeiden Akronyme, verwenden vollständige WörterAPI9:2023
Beim Erstellen neuer Ressourcen werden Identifikatoren zurückgegebenAPI2:2023✅ (über Antwortschema/Beispiel)

🧪 Der API-Design-Prototyp ist fertig, wenn…

KriterienOWASP API Top 10OpenAPI 3.1.x
Alle Punkte der Konzept-Checkliste wurden geprüft
Endpunktpfade enthalten maximal zwei Ressourcen/Unterressourcen
Endpunkte und Attribute enthalten Beispiele✅ (über Beispiel, Beispiele)
POST wird zum Erstellen/Aktualisieren verwendet (nicht PUT, es sei denn, vollständig)
DELETE wird zum Entfernen von Ressourcen verwendet
Versionierungsstrategie festgelegt; wird vom Gateway unterstütztAPI9:2023
GET hat keinen Request-Body; gibt 200 OK mit Inhalt zurück➖ (Konvention; nicht erzwungen)
GET gibt 204 zurück, wenn der Antworttext leer ist✅ (204-Antwort kann definiert werden)
POST gibt 200 OK zurück, wenn eine Aktualisierung erfolgt✅ (Statuscodes können definiert werden)
POST gibt bei der Erstellung 201 Created with ID zurück
DELETE gibt bei Erfolg 204 OK zurück
400-Fehler liefern spezifische FehlerinformationenAPI6:2023✅ (im Antwortschema beschrieben)
401 Nicht autorisiert aufgrund falscher AnmeldedatenAPI2:2023✅ (Standard-Antwortdokumentation)
403 Für nicht autorisierte Vorgänge verbotenAPI5:2023

🚀 API ist in der Produktion wartbar, wenn…

KriterienOWASP API Top 10OpenAPI 3.1.x
Alle Prototyp-/Designelemente geprüft
Veröffentlicht über API-ManagementAPI10:2019, API8:2023
Sichtbar im EntwicklerportalAPI9:2023
Nur über API-Gateway zugänglichAPI9:2023, API8:2023
Ratenbeschränkungen werden durchgesetztAPI4:2023
Dokumente werden automatisch aus Spezifikationen/Schemas generiertAPI9:2023
Spezifikationen werden automatisch auf Gateway/Entwicklerportal aktualisiertAPI9:2023✅ (indirekt über Tooling)
Spezifikation bei jeder Änderung validiert✅ (Best Practice)
Spezifikation enthält Anfrage-/Antwort-Schema
Schema und Beispiele bestehen die Validierung
Verwendet HTTPS oder verschlüsselte ProtokolleAPI10:2023
Veröffentlicht unter offizieller OrganisationsdomainAPI8:2023
Endpunkte durch Authentifizierung geschütztAPI2:2023, API4:2023➖ (Sicherheitsschemata können definiert werden)
Token-basierte Authentifizierung✅ (über securitySchemes)
Geschützt gegen CSRFAPI8:2023
Eingaben werden automatisch vom Framework validiertAPI8:2023✅ (indirekt über Schema)
Ausgaben werden vom Framework automatisch maskiertAPI8:2023
Verschlüsselung für Daten während der Übertragung/SpeicherungAPI8:2023
Nachrichtenintegrität implementiertAPI6:2023, API7:2023
UUIDs/Pseudo-Identifikatoren anstelle von DB-IDsAPI7:2023➖ (im Beispiel empfohlen)
Keine sensiblen Daten in URLsAPI7:2023
HTTP-Methoden nur für vorgesehene RessourcenAPI5:2023✅ (in Pfaden definiert)

ASync-API-Checkliste
✅ Konzept ist bereit, wenn…

KriteriumAsyncAPI 2.x
Die API basiert auf klaren Geschäftsanforderungen
Die API verbirgt rohe Backend-Daten und ist für die gemeinsame Nutzung konzipiert
Die API verfügt über eine Beschreibung, die ihren geschäftlichen Nutzen und ihre Funktionen erläutert
Die API hat ein einheitliches Design mit unseren anderen APIs
API und Datenbenennung verwenden gutes Englisch (oder eine andere Standardsprache)
Obligatorische Felder sind angegeben
Datumsangaben entsprechen dem ISO-Standardformat einschließlich Zeitzone
Allgemeine Daten verwenden Standardwerte (z. B. ISO).
Felder werden vollständig beschrieben, Abkürzungen werden vermieden
Bei der Veröffentlichung neuer Nachrichten werden die relevanten Themen oder Kanäle klar gekennzeichnet

🧪 API-Design-Prototyp ist fertig, wenn…

KriteriumAsyncAPI 2.x
Alle Punkte der Konzept-Checkliste sind geprüft
Das Nachrichten-Design enthält eine klare Struktur (Ereignisse, Befehle, Abfragen)
Alle Nachrichten und Attribute enthalten Beispiele
Nachrichten folgen einer einheitlichen Struktur über Themen/Kanäle hinweg
Die Strategie zur Versionierung von Nachrichten wurde festgelegt
Bestätigungen für empfangene Nachrichten sind definiert (falls zutreffend)
Fehler oder Probleme mit Nachrichten enthalten spezifische Fehlerinformationen
Authentifizierungs- und Autorisierungsstrategien sind festgelegt

🚀 Die API ist in der Produktion wartbar, wenn…

KriteriumAsyncAPI 2.x
Alle Punkte in den Checklisten für Prototyp und API-Design werden geprüft
Die API wird über ein geeignetes AsyncAPI-Verwaltungswerkzeug verwaltet.
Die API ist in einem Entwicklerportal sichtbar
Bei der Übermittlung von Nachrichten werden Ratenbegrenzungen durchgesetzt (falls zutreffend)
Die API-Dokumentation wird automatisch aus der AsyncAPI-Spezifikation generiert
Die Spezifikation wird automatisch in den API-Tools und im Portal aktualisiert
Die Spezifikation für Themen/Kanäle wird bei jeder Änderung validiert
Die Spezifikation enthält das Schema für die Nachrichten
Nachrichtenschema und Beispiele bestehen die Schema-Validierung
Der Nachrichtentransport gewährleistet die Sicherheit (z. B. MQTT/AMQP über TLS)
Die API wird unter der offiziellen Domain der Organisation betrieben
Alle Themen/Kanäle sind durch Authentifizierung geschützt
Die API verfügt über eine tokenbasierte Authentifizierung
Die Verschlüsselung von Daten während der Übertragung und Speicherung wird nach Bedarf implementiert
Die Nachrichtenintegrität wurde nach Bedarf implementiert
Anstelle von DB-IDs werden UUIDs oder Pseudokennungen verwendet
Sensible Informationen werden nicht in Themen oder Kanälen offengelegt
Mithilfe von Whitelists wird festgelegt, welche Clients veröffentlichen/abonnieren dürfen