Graph und Kosten

Über die universelle Graph-API können sowohl Programme als auch Anwender auf ihre Daten zugreifen. Am 2. Jun 2022 hat Microsoft in einen Blog-Artikel daran erinnert, dass es eine Änderung zum 6. Jul 2022 gibt: Bestimmte Zugriffe auf Graph sind zukünftig nicht mehr mit der regulären Lizenz eingeschlossen. Die erste diesbezügliche Ankündigung gab es schon im Oktober 2021.

Was kostet?

Als Referenz gilt schon die Seite, die Microsoft im Oktober 2021 bereitgestellt hat:

Microsoft unterscheidet dabei einen "Mode-A" und einen Mode-B" und zuletzt einen "Eval-Mode". Das Kriterium ist dabei, ob der Client "Security oder Compliance"-Funktionen nutzt.

Zudem werden dann noch die genutzten Methoden unterschieden. Für Zugriffe von Applikationen des Mode-A (nutzen Security oder Compliance) gilt folgende Tabelle:


Quelle: https://docs.microsoft.com/en-us/graph/teams-licenses#modela-requirements

Wenn Sie genau hinschauen, dann sind das alles nur "Lese"-Zugriffe auf Teams-Informationen, die aus Compliance-Gründen in anderen Produkten gespeichert werden müssen.

Diese APIs sind auch nicht generell und pauschal nutzbar. Microsoft hat sich hier eine Registrierungspflicht vorbehalten. Als Entwickler, der diese APIs nutzen will, müssen Sie ihre Applikation bei Microsoft übe ein Formular anmelden:

Over Limit

Aktuell scheint Microsoft noch keine "strenge Lizenzkontrolle" umgesetzt zu haben. Für die korrekte Lizenz ist der Administrator des Tenant zuständig und nicht der App-Administrator:

It is the responsibility of the tenant owner (not the app owner) to ensure users are properly licensed. 
Quelle: https://docs.microsoft.com/en-us/graph/teams-licenses#required-licenses-for-modela

Wenn eine Applikation das Limit überscheitet, dann bekommt Sie einen 402 Fehlercode. Aber auch hier steht wachsweich:

 A successful API call does not mean that the proper licensing is in place. Not all license violations can be detected, and grace periods might be granted in some cases. Similarly, API success in evaluation mode does not guarantee the call is within seeded capacity as grace periods may be granted in some cases.
Quelle: https://docs.microsoft.com/en-us/graph/teams-licenses#improper-licensing-and-evaluation-mode-seeded-capacity-exceeded .

Auf der anderen Seite plant Microsoft erst noch, die Zusatznutzung zu berechnen.

In the future, Microsoft will charge a fee for usage over the seeded capacity. You will also be able to associate an Azure subscription to your application registration. 
Quelle: https://docs.microsoft.com/en-us/graph/teams-licenses#price-for-additional-use

Das ist alles noch etwas halbgar. Auf der einen Seite fordert Microsoft eine Lizenz, damit die APIs durch Applikations genutzt werden dürfen aber weder die Lizenz noch die Grenzwerte werden zuverlässig erzwungen. Ich vermute, dass auch Microsoft erst einmal einen "Zähler" implementiert hat, um die Nutzung zu ermitteln und erst nach und nach die Fesseln enger zieht.

Einschätzung

Es gibt nun also APIs, mit der Sie Daten aus Teams massenhaft und zeitnah exportieren können, um Compliance-Anforderungen zur ausgelagerte "Sicherungen" zu unterstützen. Allerdings ist die Kostenstruktur nicht gerade klar, denn wie wollen Sie denn Abschätzen, wie effektiv eine Applikation die API nutzt? Letztlich sehen Sie es erst bei der Abrechnung und ob sie diese kontrollieren können, steht auf einem anderen Blatt. Da sollten Sie Entwickler wohl einen "Aufrufzähler" addieren.

Als Backup taugen die APIs aber noch nicht wirklich, denn es fehlt eine Import-Schnittstelle dazu.

Wie reagieren die Kunden, wenn Microsoft vielleicht auch die Export-Schnittstellen auf Postfächer oder Sharepoint gesondert bepreist? Da bekommt der Begriff "Vendor Lock-in" eine ganz neue Bedeutung.

Weitere Links