APIs sind zum essentiellen Bestandteil nahezu jeder IT-Infrastruktur geworden. Dieses Buch von O’Reilly gibt einen umfassenden Überblick über die Entwicklung, den Betrieb und den Schutz von API-Architekturen und ermöglicht so den erfolgreichen Einstieg in das API-Design.
Inhalt:
Programmierschnittstellen (Application Programming Interface, API) sind zum universellen Werkzeug von Software-Entwicklern geworden. In lose gekoppelten Systemen wie Microservices-Architekturen verbinden sie die Komponenten und ermöglichen so flexible und anpassungsfähige Umgebungen, die mit monolithischen Software-Lösungen niemals möglich wären.
Mit diesem Buch bieten die Autoren einen umfassenden und praktischen Leitfaden für den Aufbau effektiver API-Architekturen. Am Beispiel eines Konferenzbuchungssystems erläutern sie alle wichtigen Aspekte – von der Erstellung und dem Testen einzelner APIs über die Entwicklung von API-Ökosystemen, bis hin zu Freigabe, Betrieb und Schutz von Programmierschnittstellen.
Lesen Sie unter anderem:
- Welche Arten von APIs es gibt und wie sie eingesetzt werden.
- Wie Sie die Schlüsselkomponenten einer API-Plattform bereitstellen und betreiben.
- Was Sie beim Einsatz von API-Gateways und Service Meshes beachten müssen.
- Welchen Risiken mit API-Architekturen verbunden sind und wie Sie diese minimieren.
Originalauszug aus dem Dokument:
Authorization Enforcement
Authorization needs to be enforced as this is fundamental in API security. Two of the most common security authorization issues listed in the OWASP API Security Top 10 are Broken Object Level Authorization (BOLA) and Broken Function Level Authorization. BOLA is when a user is able to request information for an object that they should not have access to, often discovered by tampering with a resource ID. Broken Function Level Authorization is when the user can perform tasks they are not authorized to do, for example executing an administration-only endpoint as a standard user.
Authorization is typically based on some sort of entitlements. This is popularly enforced using Role Based Access Control (RBAC). Though the exact entitlement choice is a detail, some sort of access control should exist and it is important that every endpoint has an authorization check before fulfilling the request.
When you look at authorization with OAuth2, you must keep in mind that scopes are used to specify what a resource owner has stated regarding the range of actions a client can perform. This does not mean that the client should have access to all end-user data. For the Attendee service there could be different actions that are possible, such as admin rights to manage attendees and view-only rights on attendees.