Cloudflare hat eine Funktion zur Anpassung von OAuth-Bereichen angekündigt. Sie ermöglicht es Inhabern von OAuth-Apps von Drittanbietern, erforderliche und optionale Berechtigungen festzulegen. Dadurch kann der Nutzer auf dem Zustimmungsbildschirm optionale Berechtigungen abwählen und der App einen eingeschränkteren Zugriff gewähren, anstatt zwischen der Annahme aller angeforderten Berechtigungen und der vollständigen Ablehnung der Anfrage wählen zu müssen.
Der Schritt erfolgt, nachdem Entwickler seit Juni Tausende von OAuth-Apps von Drittanbietern auf Cloudflare erstellt haben; seitdem wurden mehr als eine Million Autorisierungsvorgänge verzeichnet. Diese Apps werden für Software-as-a-Service-Integrationen, interne Tools, Befehlszeilenschnittstellen und Software-Agenten verwendet.
Von umfassender Zustimmung zu aufgabenbezogenen Berechtigungen
Cloudflare OAuth erlaubte der App bislang, eine Teilmenge der für sie konfigurierten Bereiche anzufordern. Der Nutzer konnte diese Auswahl jedoch nicht auf dem Zustimmungsbildschirm selbst weiter einschränken. Wenn die App mehr Berechtigungen anforderte, als der Nutzer für angemessen hielt, konnte er die Anfrage nur vollständig gewähren oder ablehnen.
Cloudflare erklärt, dass MCP-Server ein klarer Anwendungsfall für dieses Problem sind: Ein MCP-Server kann eine breite Gruppe von Berechtigungen anfordern, weil der Agent theoretisch alle davon benötigen könnte, während der Nutzer dem Agenten nicht unbedingt dieses Maß an Zugriff gewähren möchte. Vor der Einführung der Funktion musste der Entwickler einen eigenen Bildschirm zur Auswahl der Bereiche erstellen, bevor der Nutzer zum Cloudflare-Zustimmungsablauf weitergeleitet wurde.
Wie funktionieren optionale Bereiche?
- Der Entwickler kann bei der Einrichtung eines OAuth-Clients bestimmte Bereiche als erforderlich oder optional festlegen.
- Der Nutzer kann optionale Bereiche innerhalb der in der aktuellen Autorisierung angeforderten Berechtigungsgruppe abwählen.
- Die Standarderfahrung bleibt unverändert, wenn der Client keine optionalen Bereiche aktiviert. Außerdem zeigt der Zustimmungsbildschirm die vollständige angeforderte Gruppe an, sofern kein optionaler Bereich abgewählt wird.
Wichtig ist, dass die Bewertung anhand der von der App in einem bestimmten Autorisierungsablauf angeforderten Bereiche erfolgt und nicht anhand aller auf dem Client konfigurierten Bereiche. Wenn der Client user-details.read, workers-scripts.write, workers-kv-storage.write und zone.read umfasst und die letzten beiden Bereiche optional sind, kann der Nutzer bei der Anforderung aller vier Bereiche nur die letzten beiden abwählen.
Wenn der Client später nur workers-scripts.write und zone.read anfordert, werden in diesem Vorgang ausschließlich diese beiden Bereiche bewertet. Die anderen Bereiche werden weder angezeigt noch erzwungen, da sie nicht Teil der aktuellen Anfrage waren. Dies trägt dazu bei, den Zustimmungsbildschirm auf die erforderliche Aufgabe zu konzentrieren, anstatt alle Fähigkeiten anzuzeigen, die die App künftig anfordern könnte.
Was ändert sich praktisch für Entwickler?
Wenn der Nutzer einige optionale Bereiche abwählt und die Autorisierung abschließt, enthält das daraus erzeugte Zugriffstoken nur die Berechtigungen, denen er zugestimmt hat. Daher muss der Entwickler die Gruppe der gewährten Bereiche nach dem Austausch des Autorisierungscodes prüfen, anstatt davon auszugehen, dass die App die vollständige angeforderte Gruppe erhalten hat.
Das bedeutet, dass Apps, insbesondere Software-Agenten, mit einer teilweisen Gewährung von Berechtigungen reibungslos umgehen müssen. Außerdem macht die Anforderung des erforderlichen Mindestzugriffs und die Einstufung zusätzlicher Berechtigungen als optional dem Nutzer deutlich, dass die App seine Entscheidung über die Zugriffsgrenzen respektiert.
Ausweitung auf Cloudflare-Produkte
Cloudflare teilte mit, dass das Unternehmen in den folgenden Wochen die Bereiche für Rollen auf Konto- und Zonenebene ausweiten werde, um nahezu alle seine Produkte abzudecken. Dazu gehören weitere Rollen für API-Tokens, Optionen für die Kontomitgliedschaft und OAuth-Bereiche. Entwickler können über die Third Party OAuth-Dokumentation oder über die OAuth-Apps-Seite im Dashboard beginnen.
Das Unternehmen erklärte, dass die Funktion mit Unterstützung von 1,111 Praktikanten entwickelt wurde, und würdigte die Beiträge von Miller Vargas und José Enrique Rodriguez. Laut dem Artikel studiert Vargas Informatik und Mathematik an der University of Texas - Austin, während Rodriguez Ingenieurwesen, Datenintelligenz und Cybersicherheit an der Universidad Panamericana studiert.