Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Agent2Agent (A2A)-Protokoll ermöglicht Es Ihren Agents, andere Agents aufzurufen. Die meisten A2A-Endpunkte erfordern eine Authentifizierung für den Zugriff auf den Endpunkt und den zugrunde liegenden Dienst. Durch die Konfiguration der Authentifizierung wird sichergestellt, dass nur autorisierte Benutzer Ihre A2A-Tools im Foundry Agent Service aufrufen können.
In diesem Artikel werden die für A2A-Verbindungen verfügbaren Authentifizierungsmethoden erläutert, und Sie können den richtigen Ansatz für Ihr Szenario auswählen.
Authentifizierungsszenarien
Im Allgemeinen gibt es zwei Authentifizierungsszenarien:
- Freigegebene Authentifizierung: Jeder Benutzer Ihres Agents verwendet dieselbe Identität, um sich beim A2A-Endpunkt zu authentifizieren. Der einzelne Benutzerkontext bleibt nicht erhalten. Dieser Ansatz ist ideal, wenn alle Benutzer über dieselbe Zugriffsebene verfügen sollten. Wenn Sie beispielsweise einen Chat-Agent zum Abrufen von Informationen aus Azure Cosmos DB für Ihre Organisation erstellen, möchten Sie möglicherweise, dass jeder Benutzer auf denselben freigegebenen Container zugreifen kann, ohne dass eine individuelle Anmeldung erforderlich ist.
- Individuelle Authentifizierung: Jeder Benutzer Ihres Agents authentifiziert sich mit einem eigenen Konto, sodass sein Benutzerkontext über Interaktionen hinweg beibehalten wird. Dieser Ansatz ist unerlässlich, wenn Aktionen auf die Berechtigungen des Benutzers abgegrenzt werden sollen. Wenn Sie z. B. einen Codierungs-Agent erstellen, der Commits abruft und Anforderungen von GitHub abruft, möchten Sie, dass sich jeder Entwickler mit einem eigenen GitHub Konto anmelden kann, damit nur Repositorys angezeigt werden, auf die er Zugriff hat.
Voraussetzungen
Bevor Sie eine Authentifizierungsmethode auswählen, benötigen Sie Folgendes:
- Zugriff auf das Foundry-Portal und ein Projekt. Wenn Sie nicht über eines verfügen, lesen Sie " Erstellen von Projekten in Foundry".
- Für Ihr Projekt benötigen Sie die Rolle Azure AI User oder höher. Diese Rolle gewährt Berechtigungen zum Erstellen von Projektverbindungen und zum Konfigurieren von Agents. Ausführliche Informationen finden Sie unter Rollenbasierte Zugriffssteuerung im Foundry-Portal.
- Die A2A-Endpunkt-URL, mit der Sie eine Verbindung herstellen möchten. Wenden Sie sich an den Endpunktherausgeber, um zu bestätigen, welche Authentifizierungsmethoden der Endpunkt unterstützt.
- Anmeldeinformationen für die ausgewählte Authentifizierungsmethode:
- Schlüsselbasiert: Ein API-Schlüssel, ein persönliches Zugriffstoken (PAT) oder ein anderes geheimes Token vom Endpunktherausgeber.
- Microsoft Entra authentication: Rollenzuweisungen für die Agentidentität oder die vom Projekt verwaltete Identität für den zugrunde liegenden Dienst. Die spezifischen Rollen hängen vom Dienst ab (z. B. Cosmos DB Data Reader für Azure Cosmos DB).
Auswählen einer Authentifizierungsmethode
Die gewählte Authentifizierungsmethode hängt davon ab, ob Sie freigegebenen oder individuellen Benutzerkontext benötigen und welche Authentifizierungsprotokolle der A2A-Endpunkt unterstützt.
Verwenden Sie die folgende Tabelle, um die richtige Methode für Ihr Szenario auszuwählen:
| Ihr Ziel | Empfohlene Methode |
|---|---|
| Verwenden einer gemeinsamen Identität für alle Benutzer | Schlüsselbasierte Authentifizierung oder Microsoft Entra Authentifizierung |
| Beibehalten der Identität und Berechtigungen der einzelnen Benutzer | OAuth-Identitätsdurchleitung |
| Vermeiden Sie die Verwaltung von Geheimnissen, wenn der zugrunde liegende Dienst Microsoft Entra unterstützt. | Microsoft Entra Authentifizierung |
| Herstellen einer Verbindung mit einem A2A-Endpunkt, für den keine Authentifizierung erforderlich ist | Nicht authentifizierter Zugriff |
Unterstützte Authentifizierungsmethoden
In der folgenden Tabelle sind die für A2A-Verbindungen verfügbaren Authentifizierungsmethoden zusammengefasst:
| Methode | Beschreibung | Der Benutzerkontext bleibt erhalten |
|---|---|---|
| Schlüsselbasiert | Stellen Sie einen API-Schlüssel oder zugriffstoken bereit, um sich beim A2A-Endpunkt zu authentifizieren. Am besten geeignet für Endpunkte, die einfache tokenbasierte Authentifizierung verwenden. | Nein |
| Microsoft Entra ID – Agentidentität | Verwenden Sie die verwaltete Identität des Agents, um sich zu authentifizieren. Erfordert Rollenzuweisungen für den zugrunde liegenden Dienst. Am besten geeignet für Azure Dienste, die verwaltete Identitäten unterstützen. | Nein |
| Microsoft Entra ID – vom Projekt verwaltete Identität | Verwenden Sie die verwaltete Identität des Projekts, um sich zu authentifizieren. Erfordert Rollenzuweisungen für den zugrunde liegenden Dienst. Verwenden Sie diese Option, wenn alle Agents in einem Projekt dieselbe Identität gemeinsam nutzen sollen. | Nein |
| OAuth-Identitätsdurchleitung | Fordern Sie Benutzer auf, sich anzumelden und den Zugriff auf den A2A-Endpunkt zu autorisieren. Erforderlich, wenn Sie berechtigungen pro Benutzer benötigen. | Ja |
| Nicht authentifizierter Zugriff | Keine Authentifizierung erforderlich. Verwenden Sie diese Methode nur für A2A-Endpunkte, die öffentlich zugänglich sind oder keine Authentifizierung erfordern. | Nein |
Schlüsselbasierte Authentifizierung
Hinweis
Jeder, der Zugriff auf das Projekt hat, kann auf geheime Schlüssel zugreifen, die in einer Projektverbindung gespeichert sind. Speichern Sie nur freigegebene geheime Schlüssel in Projektverbindungen. Verwenden Sie für den benutzerspezifischen Zugriff stattdessen OAuth Identity Passthrough.
Verwenden Sie die schlüsselbasierte Authentifizierung, wenn der A2A-Endpunkt einen API-Schlüssel, ein persönliches Zugriffstoken (PAT) oder eine andere geheime Anmeldeinformationen akzeptiert. Um die Sicherheit zu verbessern, speichern Sie geteilte Anmeldeinformationen in einer Projektverbindung, anstatt sie zur Laufzeit zu übergeben.
Wenn Sie Ihren A2A-Endpunkt mit einem Agent im Foundry-Portal verbinden, erstellt Foundry eine Projektverbindung für Sie. Geben Sie den Anmeldeinformationsnamen (den HTTP-Headernamen) und den Anmeldeinformationswert (den Headerwert) an. Das Format hängt davon ab, was der Endpunkt erwartet.
Allgemeine Anmeldeinformationsformate:
| Endpunkttyp | Anmeldedatenname | Anmeldeinformationenwert |
|---|---|---|
| Bearertoken | Authorization |
Bearer <your-token> |
| API-Schlüssel im Header | x-api-key |
<your-api-key> |
| Benutzerdefinierte Kopfzeile | <custom-header-name> |
<your-secret-value> |
Wenn der Agent den A2A-Endpunkt aufruft, ruft der Agentendienst die Anmeldeinformationen aus der Projektverbindung ab und fügt sie den Anforderungsheadern hinzu.
Bewährte Sicherheitsmethoden für die schlüsselbasierte Authentifizierung
- Verwenden Sie Anmeldeinformationen mit minimalen Berechtigungen: Fordern Sie nur die minimalen Berechtigungen an, die für die Aufgaben des Agenten erforderlich sind.
- Drehen Sie Token regelmäßig: Legen Sie eine Erinnerung fest, um Token neu zu generieren, bevor sie ablaufen.
- Einschränken des Projektzugriffs: Einschränken, wer auf Projekte zugreifen kann, die freigegebene geheime Schlüssel enthalten.
- Audit-Anmeldeinformationsverwendung: Überwachen Sie den Zugriff auf die Projektverbindung in Ihren Azure-Aktivitätsprotokollen.
Microsoft Entra ID Authentifizierung
Verwenden Sie Microsoft Entra ID Authentifizierung, wenn der A2A-Endpunkt und der zugrunde liegende Dienst Microsoft Entra ID Token akzeptieren. Diese Methode beseitigt die Notwendigkeit, geheime Schlüssel zu verwalten, da Azure tokenerfassung und -erneuerung automatisch verarbeitet.
Agentidentität
Verwenden Sie die verwaltete Identität Ihres Agents, um sich mit A2A-Endpunkten zu authentifizieren, die Microsoft Entra ID Authentifizierung unterstützen. Wenn Sie einen Agent im Agentdienst erstellen, empfängt der Agent automatisch eine verwaltete Identität.
Identitätslebenszyklus:
- Vor der Veröffentlichung: Alle Agents im selben Projekt haben eine gemeinsame Identität. Dies vereinfacht die Entwicklung und Tests.
- Nach der Veröffentlichung: Jeder veröffentlichte Agent erhält eine eindeutige Identität. Dies bietet Isolation und ermöglicht eine präzise Zugriffssteuerung.
Weitere Informationen zum Lebenszyklus der Agentidentität finden Sie unter Agent-Identitätskonzepte in Microsoft Foundry.
So konfigurieren Sie die Agentidentitätsauthentifizierung:
- Identifizieren Sie den zugrunde liegenden Dienst, der den A2A-Endpunkt unterstützt (z. B. Azure Cosmos DB oder Azure Storage).
- Weisen Sie der Agentidentität für diesen Dienst die erforderlichen Rollen zu. Die spezifischen Rollen hängen vom Dienst und den Vorgängen ab, die Ihr Agent ausführen muss.
- Konfigurieren Sie die A2A-Verbindung, um die Identitätsauthentifizierung des Agenten zu verwenden.
Wenn der Agent den A2A-Endpunkt aufruft, verwendet der Agentdienst die Agentidentität, um ein Autorisierungstoken von Microsoft Entra ID anzufordern und in die Anforderung einzuschließt.
Verwaltete Identität des Foundry-Projekts
Verwenden Sie die verwaltete Identität Ihres Foundry-Projekts, um sich bei A2A-Endpunkten zu authentifizieren. Diese Option ist nützlich, wenn alle Agents in einem Projekt dieselbe Identität für den Zugriff auf Ressourcen gemeinsam nutzen sollen.
So konfigurieren Sie die vom Projekt verwaltete Identitätsauthentifizierung:
- Identifizieren Sie den zugrunde liegenden Dienst, der den A2A-Endpunkt unterstützt.
- Weisen Sie der verwalteten Identität des Projekts die erforderlichen Rollen für diesen Dienst zu.
- Konfigurieren Sie die A2A-Verbindung für die Verwendung der vom Projekt verwalteten Identitätsauthentifizierung.
Wenn der Agent den A2A-Endpunkt aufruft, verwendet der Agentdienst die verwaltete Identität des Projekts, um ein Autorisierungstoken von Microsoft Entra ID anzufordern und in die Anforderung einzuschließt.
OAuth-Identitätsdurchleitung
Hinweis
Um OAuth-Identitätsdurchlauf zu verwenden, benötigen Benutzer, die mit Ihrem Agent interagieren, mindestens die Azure KI-Benutzerrolle für das Projekt.
Der OAuth-Identitätspassthrough ermöglicht es Ihrem Agenten, im Auftrag einzelner Benutzer zu handeln. Verwenden Sie diese Methode, wenn Aktionen auf die Berechtigungen der einzelnen Benutzer festgelegt werden sollen, z. B. den Zugriff auf ihre persönlichen Dateien, Repositorys oder andere geschützte Ressourcen.
OAuth Identity Passthrough funktioniert mit Microsoft und nicht Microsoft A2A-Endpunkten, die OAuth 2.0 unterstützen, einschließlich Diensten, die Microsoft Entra ID verwenden.
Funktionsweise der OAuth-Identitätsweiterleitung
- Erste Interaktion: Wenn ein Benutzer zum ersten Mal mit Ihrem Agent interagiert, generiert der Agentdienst einen Zustimmungslink.
- Zustimmung des Benutzers: Der Benutzer öffnet den Link, meldet sich beim zugrunde liegenden Dienst an und autorisiert den Agent, auf seine Daten zuzugreifen.
- Tokenspeicher: Der Agentdienst speichert die OAuth-Token des Benutzers sicher (Zugriffstoken und Aktualisierungstoken). Diese Token sind auf diese bestimmte Benutzer- und Agent-Kombination zugeschnitten.
- Nachfolgende Anforderungen: Wenn der Agent den A2A-Endpunkt aufruft, enthält der Agentdienst das Zugriffstoken des Benutzers in der Anforderung. Wenn das Zugriffstoken abläuft, verwendet der Agentdienst das Aktualisierungstoken, um ein neues Token abzurufen.
OAuth-Tokentypen
OAuth verwendet zwei Arten von Token:
| Tokentyp | Zweck | Lebensdauer |
|---|---|---|
| Zugriffstoken | Autorisiert API-Aufrufe an den zugrunde liegenden Dienst | Kurzlebig (typischerweise 1 Stunde) zur Begrenzung der Gefährdung bei einer Kompromittierung |
| Aktualisierungstoken | Ruft neue Zugriffstoken ab, ohne dass sich der Benutzer erneut anmelden muss | Länger gültig (Stunden bis Wochen bzw. bis zum Widerruf) |
OAuth-Bereiche definieren, worauf der Agent im Namen des Benutzers zugreifen und was er tun kann. Die Bereiche werden angegeben, wenn Sie die Verbindung konfigurieren und dem Benutzer während des Zustimmungsflusses angezeigt werden. Weitere Informationen zu OAuth finden Sie in der sicherheitsdokumentation Microsoft.
Verwaltetes OAuth im Vergleich zu benutzerdefiniertem OAuth
Der Agentdienst unterstützt zwei OAuth-Konfigurationsoptionen:
| Option | Beschreibung | Wann verwendet werden soll |
|---|---|---|
| Verwaltetes OAuth | Microsoft oder der A2A-Endpunktherausgeber verwaltet die OAuth-App-Registrierung. | Verwenden Sie diese Anwendung, wenn sie verfügbar ist. Vereinfacht die Einrichtung und reduziert Konfigurationsfehler. |
| Benutzerdefinierte oAuth | Sie stellen ihre eigene OAuth-App-Registrierung von Microsoft Entra ID oder einem anderen Identitätsanbieter bereit. | Wird verwendet, wenn verwaltetes OAuth nicht verfügbar ist oder wenn Sie benutzerdefinierte Bereiche oder Brandings benötigen. |
Geben Sie die folgenden Informationen an, um benutzerdefinierte OAuth zu konfigurieren:
- Client-ID: Die Anwendungs-ID aus Ihrer OAuth-App-Registrierung.
- Geheimer Clientschlüssel (falls erforderlich): Der geheime Schlüssel, der Ihrer App-Registrierung zugeordnet ist.
- Autorisierungs-URL: Der Endpunkt, an dem Benutzer den Zugriff autorisieren.
- Token-URL: Der Endpunkt, an dem der Agentdienst den Autorisierungscode für Token austauscht.
- Aktualisierungs-URL: Der Endpunkt zum Aktualisieren abgelaufener Zugriffstoken.
-
Scopes: Die Berechtigungen, die Ihr Agent benötigt (z. B.
repofür GitHub oderFiles.Readfür Microsoft Graph).
Wichtig
Wenn Sie benutzerdefinierte OAuth verwenden, erhalten Sie eine Umleitungs-URL vom Agent-Dienst. Fügen Sie diese URL zu den zulässigen Umleitungs-URIs Ihrer OAuth-App-Registrierung hinzu, damit der Agentdienst den Autorisierungsfluss abschließen kann.
Nicht authentifizierter Zugriff
Verwenden Sie nicht authentifizierten Zugriff nur, wenn der A2A-Endpunkt öffentlich zugänglich ist und keine Authentifizierung erfordert. Diese Option ist zwar selten in Produktionsszenarien, kann aber angemessen sein für:
- Öffentliche APIs, die keine Authentifizierung erfordern
- Interne Entwicklungs- oder Testendpunkte
- Endpunkte, die durch Sicherheit auf Netzwerkebene geschützt sind (z. B. private Endpunkte) anstelle der Authentifizierung
Einrichten der Authentifizierung für eine A2A-Verbindung
Führen Sie die folgenden Schritte aus, um die Authentifizierung für eine A2A-Verbindung zu konfigurieren:
Identifizieren Sie den A2A-Endpunkt und unterstützte Authentifizierungsmethoden. Wenden Sie sich an den Endpunktherausgeber, oder überprüfen Sie die Endpunktdokumentation, um zu ermitteln, welche Authentifizierungsmethoden unterstützt werden.
Sammeln Sie die erforderlichen Anmeldeinformationen basierend auf Ihrer gewählten Authentifizierungsmethode:
- Schlüsselbasiert: Abrufen des API-Schlüssels oder -Tokens vom Endpunktherausgeber.
- Microsoft Entra ID: Identifizieren Sie die erforderlichen Rollenzuweisungen für den zugrunde liegenden Dienst.
- OAuth: Ermitteln Sie, ob verwaltetes OAuth verfügbar ist, oder sammeln Sie Ihre benutzerdefinierten OAuth-App-Registrierungsdetails.
Erstellen Sie eine Projektverbindung im Foundry-Portal. Die Verbindung speichert die A2A-Endpunkt-URL, Authentifizierungsmethode und Anmeldeinformationen.
- Allgemeine Verbindungsanleitungen finden Sie unter Hinzufügen einer neuen Verbindung zu Ihrem Projekt.
- Für A2A-spezifische Konfigurationen, siehe Hinzufügen eines A2A-Agent-Endpunkts zum Foundry-Agent-Dienst.
Rollenzuweisungen konfigurieren (nur Microsoft Entra ID Authentifizierung). Weisen Sie die erforderlichen Rollen der Agent-Identität oder der projektverwalteten Identität auf dem zugrunde liegenden Dienst zu.
Fügen Sie Ihrem Agenten das A2A-Tool hinzu. Verweisen Sie auf die von Ihnen erstellte Projektverbindung, und konfigurieren Sie, welche Tools vom A2A-Endpunkt aus vom Agent aufgerufen werden können.
Überprüfen der Authentifizierung
Nachdem Sie die Authentifizierung konfiguriert haben, testen Sie die Verbindung, um zu bestätigen, dass sie ordnungsgemäß funktioniert.
Validieren von schlüsselbasierter oder Microsoft Entra ID-Authentifizierung
- Öffnen Sie Ihren Agent im Foundry-Portal.
- Starten Sie eine Unterhaltung, und lösen Sie eine Aktion aus, die das A2A-Tool aufruft.
- Bestätigen Sie, dass der Toolaufruf erfolgreich abgeschlossen ist. Wenn der Anruf fehlschlägt, überprüfen Sie die Fehlermeldung, und lesen Sie die Problembehandlung.
Überprüfung der OAuth-Identitätsdurchleitung
- Öffnen Sie Ihren Agent im Foundry-Portal mit einem Testbenutzerkonto, das noch nicht zugestimmt hat.
- Starten Sie eine Unterhaltung, und lösen Sie eine Aktion aus, die das A2A-Tool aufruft.
- Vergewissern Sie sich, dass ein Zustimmungslink in der Antwort des Agenten angezeigt wird.
- Öffnen Sie den Zustimmungslink, und melden Sie sich mit den Anmeldeinformationen des Testbenutzers an.
- Autorisieren Sie die angeforderten Berechtigungen.
- Kehren Sie zum Agent zurück, und lösen Sie das A2A-Tool erneut aus.
- Vergewissern Sie sich, dass der Toolaufruf erfolgreich abgeschlossen ist, indem Sie die Anmeldeinformationen des Testbenutzers verwenden.
- (Optional) Testen Sie mit einem anderen Benutzerkonto, um zu bestätigen, dass die Zustimmungsflüsse für mehrere Benutzer funktionieren.
Problembehandlung
Verwenden Sie die folgende Tabelle, um häufige Authentifizierungsprobleme zu diagnostizieren und zu beheben:
| Angelegenheit | Mögliche Ursache | Auflösung |
|---|---|---|
| Schlüsselbasierte Authentifizierung schlägt mit 401 Nicht autorisiert fehl | Ungültiges oder abgelaufenes Token | Generieren Sie das Token vom Endpunktherausgeber neu, und aktualisieren Sie die Projektverbindung. |
| Schlüsselbasierte Authentifizierung schlägt mit 400 ungültiger Anforderung fehl | Falscher Headername oder Wertformat | Überprüfen Sie die Endpunktdokumentation für das erwartete Headerformat. Zu den gängigen Formaten gehören Authorization: Bearer <token> und x-api-key: <key>. |
| Microsoft Entra ID Authentifizierung schlägt mit 403 Forbidden fehl | Die Identität verfügt nicht über die erforderlichen Rollenzuweisungen. | Weisen Sie die erforderlichen Rollen der Agent-Identität oder der projektverwalteten Identität auf dem zugrunde liegenden Dienst zu. Änderungen der Rollenzuweisung können bis zu 10 Minuten dauern, bis sie verteilt werden. |
| Microsoft Entra ID Authentifizierung schlägt mit 401 Nicht autorisiert fehl | Der zugrunde liegende Dienst akzeptiert keine Microsoft Entra ID Token, oder die Zielgruppe ist falsch. | Bestätigen Sie, dass der zugrunde liegende Dienst Microsoft Entra ID Authentifizierung unterstützt. Überprüfen Sie, ob der A2A-Endpunkt so konfiguriert ist, dass Token für die richtige Zielgruppe akzeptiert werden. |
| Die Zustimmung ist abgeschlossen, aber die Toolaufrufe schlagen fehl. | Der Benutzer verfügt nicht über Berechtigungen im zugrunde liegenden Dienst. | Vergewissern Sie sich, dass der Benutzer über die erforderlichen Berechtigungen im zugrunde liegenden Dienst verfügt. Vergewissern Sie sich außerdem, dass der Benutzer mindestens über die rolle Azure AI User für das Foundry-Projekt verfügt. |
| Für OAuth wird kein Zustimmungslink angezeigt. | OAuth Identity Passthrough ist nicht konfiguriert, oder der Agent hat das A2A-Tool nicht aufgerufen. | Überprüfen Sie, ob die Projektverbindung für die OAuth-Identitätsweitergabe konfiguriert ist. Auslösen einer Aktion, die das A2A-Tool aufruft. |
| Der Zustimmungslink wird angezeigt, die Anmeldung schlägt jedoch fehl. | Die benutzerdefinierte OAuth-Konfiguration ist falsch. | Überprüfen Sie bei benutzerdefiniertem OAuth die Autorisierungs-URL, die Client-ID und die Umleitungs-URL. Vergewissern Sie sich, dass die Umleitungs-URL ihrer OAuth-App-Registrierung hinzugefügt wurde. |
| Refresh-Token abgelaufen | Der Benutzer hat für einen längeren Zeitraum nicht mit dem Agent interagiert. | Der Benutzer muss den Zustimmungsfluss erneut durchlaufen. Dies ist ein erwartetes Verhalten für die Sicherheit. |
Verwandte Inhalte
- Fügen Sie einen A2A-Agent-Endpunkt zum Foundry Agent Service hinzu: Schrittweise Anleitung zum Konfigurieren eines A2A-Tools für Ihren Agent.
- Agent-Identitätskonzepte in Microsoft Foundry: Erfahren Sie, wie Agentidentitäten und deren Lebenszyklus funktionieren.
- Role-basierte Zugriffssteuerung für Microsoft Foundry: Grundlegendes zu den in Foundry verfügbaren Rollen und Berechtigungen.
- Fügen Sie ihrem Projekt eine neue Verbindung hinzu: Allgemeine Anleitungen zum Erstellen von Projektverbindungen.