Integrieren eines API-Plug-Ins in eine API, die mit einem Schlüssel gesichert ist

Abgeschlossen

Eine der gängigen Methoden zum Schützen von APIs ist die Verwendung von API-Schlüsseln. API-Schlüssel sind beliebige Zeichenfolgen, die API-Besitzer ausgeben, um Ihnen Zugriff auf die API zu gewähren. Viele beliebte Dienste verwenden API-Schlüssel, um den Zugriff auf ihre APIs zu sichern. Der API-Anbieter, der API-Schlüssel ausgibt, steuert, ob ihnen ein Schlüssel Zugriff auf die gesamte API-Oberfläche und alle Ressourcen oder nur einen bestimmten Teil davon gewährt. Der Dienst steuert auch, wie lange ein Schlüssel gültig ist.

API-Schlüssel sind dank ihrer Einfachheit bequem zu verwenden. Um eine API aufzurufen, die mit einem API-Schlüssel gesichert ist, müssen Sie lediglich den API-Schlüssel in die API-Anforderung einschließen. Die API überprüft dann den Schlüssel und verarbeitet die Anforderung oder lehnt sie mit einem Authentifizierungs- oder Autorisierungsfehler ab. Diese Einfachheit hat jedoch ihren Preis. API-Schlüssel authentifizieren den Benutzer nicht, was bedeutet, dass die API nicht im Namen des Benutzers handeln kann. Alle Benutzer, die die API mit demselben API-Schlüssel aufrufen, verfügen über die gleichen Berechtigungen.

Jeder API-Anbieter definiert, wie er erwartet, dass Sie den API-Schlüssel mit Ihren Anforderungen übergeben. Für eine API kann es beispielsweise erforderlich sein, einen bestimmten Abfragezeichenfolgenparameter oder Anforderungsheader zu verwenden.

Microsoft 365 Copilot unterstützt die Übergabe von API-Schlüsseln wie:

  • JSON-Webtoken (JWT)
GET https://api.contoso.com/orders
Authorization: Bearer API_KEY 
  • Abfragezeichenfolgenparameter
GET https://api.contoso.com/orders?api_key=API_KEY
  • Benutzerdefinierter Header
GET https://api.contoso.com/orders
X-API-Key: API_KEY

Ein API-Schlüssel ist ein Geheimniswert, den Sie niemals öffentlich freigeben sollten. Wenn Sie ein API-Plug-In erstellen, das in eine API integriert wird, die mit einem API-Schlüssel geschützt ist, speichern Sie den API-Schlüssel an einem sicheren Speicherort in Microsoft 365, der auch als Tresor bezeichnet wird. Anschließend verweisen Sie in Ihrer App auf die ID des Tresoreintrags. Zur Laufzeit lädt der deklarative Agent Ihr Plug-In (2) und löst die Eintrags-ID in den tatsächlichen API-Schlüssel (3a) auf, den er zum Aufrufen der API (3b) verwendet. Das folgende Diagramm veranschaulicht diesen Vorgang.

Diagramm, wie ein deklarativer Agent ein API-Plug-In ausführt, das mit einer API verbunden ist, die mit einem Schlüssel gesichert ist.

Durch das Speichern des API-Schlüssels im Tresor können Sie Ihren API-Schlüssel sicher verwalten, ohne ihn jemals öffentlich verfügbar zu machen. Da Ihre App nicht direkt auf den API-Schlüssel verweist, können Sie ihn auch aktualisieren, ohne Ihre App aktualisieren zu müssen.

Während der Entwicklung können Sie Ihren Entwicklungs-API-Schlüssel selbst im Tresor registrieren, indem Sie entweder manuell zum Teams-Entwicklerportal wechseln und im Abschnitt Tools die API-Schlüsselregistrierung öffnen oder das Microsoft 365 Agents Toolkit verwenden. In der Produktion registriert ein Administrator in der Regel den API-Schlüssel und gibt Ihnen die ID des Tresoreintrags zur Verwendung in Ihrem API-Plug-In.

Screenshot der Seite