- Erste Schritte
- Best Practices
- Organisationsmodellierung im Orchestrator
- Beste Praktiken für die Automatisierung (Automation Best Practices)
- Optimieren von Unattended-Infrastruktur mithilfe von Maschinenvorlagen
- Organisieren von Ressourcen mit Tags
- Exportieren von Rastern im Hintergrund
- Durchsetzung der Governance der Integration Service-Verbindung auf Benutzerebene
- Mandant
- Über den Kontext „Mandant“
- Suche nach Ressourcen in einem Mandanten
- Verwaltung von Robotern
- Verbindung von Robotern mit Orchestrator
- Speicherung von Roboterzugangsdaten in CyberArk
- Speichern der Kennwörter von Unattended-Robotern im Azure Key Vault (schreibgeschützt)
- Speichern der Anmeldeinformationen von Unattended-Robotern im HashiCorp Vault (schreibgeschützt)
- Speichern der Anmeldeinformationen von Unattended-Robotern im AWS Secrets Manager (schreibgeschützt)
- Löschen von getrennten und nicht reagierenden Unattended-Sitzungen
- Roboter-Authentifizierung
- Roboter-Authentifizierung mit Client-Anmeldeinformationen
- Konfigurieren von Automatisierungsfunktionen
- Solutions (Lösungen)
- Audit
- Einstellungen
- Registrierung
- Cloud Robots
- Übersicht über Cloud Robots
- Ausführen von Unattended-Automatisierungen mit Cloud Robot – VM
- Hochladen Ihres eigenen Image
- Wiederverwenden von benutzerdefinierten Maschinen-Images (für manuelle Pools)
- Zurücksetzen der Anmeldeinformationen für eine Maschine (für manuelle Pools)
- Überwachung
- Sicherheitsupdates
- Testversion anfordern
- Häufig gestellte Fragen
- Konfigurieren einer VPN für Cloud-Roboter
- Konfigurieren einer ExpressRoute-Verbindung
- Live-Streaming und Remotesteuerung
- Events
- Anzeigen und Zugreifen auf Benachrichtigungen
- Anzeigen und Zugreifen auf E-Mail-Benachrichtigungen
- Es werden nur ungelesene Benachrichtigungen angezeigt
- Alle Benachrichtigungen als gelesen markieren
- Alle Benachrichtigungen löschen
- Löschen von Benachrichtigungen
- Abonnieren von Ereignissen
- Abbestellen von Ereignissen
- Automation Suite-Roboter
- Ordnerkontext
- Prozesse
- Jobs
- Apps
- Auslöser
- Protokolle
- Überwachung
- Indizes
- Warteschlangen
- Assets
- Über Assets
- Verwalten von Assets in Orchestrator
- Verwalten von Assets in Studio
- Speichern von Assets im Azure Key Vault (schreibgeschützt)
- Speichern von Assets im HashiCorp Vault (schreibgeschützt)
- Speichern von Assets im AWS Secrets Manager (schreibgeschützt)
- Speichern von Assets in Google Secret Manager (schreibgeschützt)
- Verbindungen
- Geschäftsregeln
- Speicher-Buckets
- MCP-Server
- Testverfahren in Orchestrator
- Ressourcenkatalogdienst
- Integrationen
- Fehlersuche und ‑behebung
Orchestrator-Anleitung
Externe Anwendungen werden unter Admin > Externe Apps in UiPath Cloud konfiguriert und verwenden OAuth 2.0 für die Authentifizierung. Sie unterstützen mehrere Authentifizierungsszenarien:
- Unattended- oder automatisierter Zugriff ohne Benutzeranmeldung (Gewährung von Client-Anmeldeinformationen)
- Integrationen von Drittanbietern, die ihren eigenen OAuth-Flow ausführen, z. B. Copilot Studio oder ChatGPT (Autorisierungscode-Gewährung)
- Desktop- oder mobile Apps, bei denen kein geheimer Clientschlüssel sicher gespeichert werden kann (Gewährung des Autorisierungscodes mit PKCE)
Grundlegendes zu externen Anwendungstypen
Wenn Sie eine externe Anwendung erstellen, wählen Sie zwei Optionen aus, die bestimmen, wie die Authentifizierung funktioniert:
- Ob die App vertraulich oder nicht vertraulich ist.
- Ob Anwendungs- oder Benutzer-Scopes verwendet werden.
Vertrauliche vs. nicht vertrauliche Apps
| Vertraulich | nicht vertraulich | |
|---|---|---|
| Geheimer Clientschlüssel | Wird bei der Erstellung generiert. Muss sicher gespeichert werden. | Nicht generiert |
| Wer authentifiziert sich | Die App selbst (kein Benutzer erforderlich) oder ein Benutzer über die App | Nur ein Benutzer über die App |
| Scope-Registerkarten auf der Benutzeroberfläche | Anwendungs-Scope(s) und Benutzer-Scope(s) | Nur Benutzer-Scope(s) . |
Verwenden Sie eine vertrauliche App, wenn das Geheimnis sicher gespeichert werden kann, für Back-Ends, Server und CI/CD-Pipelines.
Verwenden Sie eine nicht vertrauliche App für Desktop-Apps, mobile Apps oder browserbasierte einseitige Apps, bei denen ein Geheimnis nicht sicher aufbewahrt werden kann. Nicht vertrauliche Apps erfordern PKCE.
Anwendungs-Scopes im Vergleich zu Benutzer-Scopes
Die beiden Registerkarten auf der Benutzeroberfläche für externe Apps sind erheblich unterschiedlichen OAuth-Flows zugeordnet:
| Anwendungs-Scopes | Benutzer-Scopes | |
|---|---|---|
| OAuth grant type | Client-Anmeldeinformationen (client_credentials) | Autorisierungscode (authorization_code) |
| Identität | Die App selbst | Ein menschlicher Benutzer, der sich über die App anmeldet |
Anspruch auf Token sub | Der App client_id | Die ID des Benutzers |
Anspruch auf Token sub_type | service.external | user |
| So sehen MCP-Server es | UserType.ExternalApp | UserType.User |
| Erfordert eine Benutzeranmeldung | Nein | Ja, der Browser leitet zur UiPath-Anmeldung um |
| Integration Service-Aktivitäten | Nicht unterstützt (kein Benutzerkontext) | Unterstützt (Benutzerkontext vorhanden) |
| Ordnerzugriff | Die App muss dem Ordner explizit zugewiesen werden | Der Benutzer muss über die entsprechende Rolle im Ordner verfügen. Die App kann dem Ordner nur zugewiesen werden, wenn sie auch Anwendungs-Scopes hat; Eine App mit nur Benutzer-Scopes kann nicht als Ordner zugewiesen werden |
| Verfügbar unter | Nur vertrauliche Apps | Sowohl vertraulich als auch nicht vertraulich |
Wenn Sie die externe Anwendung speichern, legt der Identity Server basierend auf den von Ihnen konfigurierten Scope-Typen fest, welche Gewährungstypen der Client verwenden darf:
- Nur Anwendungs-Scopes →
client_credentialsist zulässig - Nur Benutzer-Scopes →
authorization_codeist zulässig - Beide → beide sind zulässig
Wenn Sie ein Token manuell von https://cloud.uipath.com/identity_/connect/token anfordern, müssen Sie grant_type in jeder Tokenanforderung explizit angeben. Wenn Sie es weglassen, wird ein Fehler zurückgegeben. Das Senden eines Gewährungstyps, der für den Client nicht zulässig war, schlägt ebenfalls fehl.
Einrichten der Authentifizierung des Anwendungs-Scope
Anwendungs-Scopes verwenden die Gewährung von Client-Anmeldeinformationen. Dies ist die einzige Authentifizierungsmethode, die ohne Benutzerinteraktion funktioniert.
UiPath-MCP-Server, die Integration Service-Connectors verfügbar machen, schlagen fehl, wenn auf sie mit Client-Anmeldeinformationen zugegriffen wird. Verwenden Sie für von Integration Service unterstützte Tools stattdessen die Benutzer-Scope-Authentifizierung .
Voraussetzungen
- Sie können auf Admin > Externe Apps in UiPath zugreifen.
- Sie können den Ordnerzugriff im Orchestrator verwalten.
Erstellen Sie die externe Anwendung
-
Wechseln Sie zu UiPath, wählen Sie Admin und dann External Apps aus.
-
Wählen Sie Anwendung hinzufügen aus.
-
Geben Sie einen Namen ein und behalten Sie den App-Typ „Vertraulich“ bei.
-
Wählen Sie die Registerkarte Anwendungsbereich(e) aus.
Wichtig:Fügen Sie Scopes unter der Registerkarte Anwendungsbereich(e) hinzu, nicht unter der Registerkarte Benutzerbereich(e) .
-
Fügen Sie die folgenden Scopes hinzu:
OR.Execution: Erforderlich zum Auflisten von Tools. MCP-Server ruft die OrchestratorListReleases-API auf, um Prozessmetadaten bei der Verarbeitungtools/listabzurufen, und dieser Endpunkt ist mitOR.Executionautorisiert.OR.Jobs: Erforderlich zum Ausführen von Tools. Alle MCP-Servertypen, die Prozesse als Tools ausführen (UiPath, Coded und Command), rufen die OrchestratorStartJobs-API auf, die mitOR.Jobsautorisiert wird.
-
Wählen Sie Hinzufügen aus und kopieren Sie dann die Client-ID und den Geheimen Clientschlüssel.
Weisen Sie dem Ordner die externe App zu
-
Navigieren Sie im Orchestrator zu Mandant > Zugriff verwalten oder zu den Zugriffseinstellungen des bestimmten Ordners.
-
Fügen Sie die externe App mit der Rolle Automation User hinzu.
Diese Rolle enthält die Berechtigung
MCPServers.View, die für den Zugriff auf MCP-Server erforderlich ist.
Authentifizieren Sie sich mit der externen App
Wählen Sie eine der folgenden Optionen aus, je nachdem, wie der Orchestrator Berechtigungen auflösen soll.
Option A: Nur OR.Default (der Einfachheit halber empfohlen)
Das Token hat keine expliziten Scopes auf API-Ebene. Der Orchestrator löst Berechtigungen über die Rollen auf, die der externen App in jedem Ordner zugewiesen sind. Ordnerübergreifende API-Aufrufe funktionieren ohne Ordnerschlüssel-Header. Diese Option erfordert, dass die externe App die Rolle Automation User im Zielordner hat.
uipath auth --client-id "<your-client-id>" \
--client-secret "<your-client-secret>" \
--base-url "https://cloud.uipath.com/{org}/{tenant}" \
--scope "OR.Default"
uipath auth --client-id "<your-client-id>" \
--client-secret "<your-client-secret>" \
--base-url "https://cloud.uipath.com/{org}/{tenant}" \
--scope "OR.Default"
Option B: Explizite Scopes
Das Token hat explizite OR.Execution und OR.Jobs Scope-Anforderungen. Der Orchestrator validiert diese Scopes direkt bei jedem API-Aufruf. Diese Option erfordert den Header X-UIPATH-FolderKey , aber MCP-Server übernehmen dies automatisch.
uipath auth --client-id "<your-client-id>" \
--client-secret "<your-client-secret>" \
--base-url "https://cloud.uipath.com/{org}/{tenant}" \
--scope "OR.Default OR.Execution OR.Jobs"
uipath auth --client-id "<your-client-id>" \
--client-secret "<your-client-secret>" \
--base-url "https://cloud.uipath.com/{org}/{tenant}" \
--scope "OR.Default OR.Execution OR.Jobs"
Ergebnis
Die CLI ruft ein Zugriffstoken ab, das Sie im Authorization -Header für MCP-Serveranforderungen verwenden können.
Grundlegendes zu Scope-Kombinationen
OR.Default ist kein Scope, den Sie in der Benutzeroberfläche von externen Apps konfigurieren. Es handelt sich um einen speziellen Scope, den Sie in den Parameter --scope beim Anfordern eines Tokens aufnehmen. Die von Ihnen angeforderten Scopes bestimmen, wie der Orchestrator Berechtigungen auflöst und wie MCP-Server API-Aufrufe weiterleiten.
Der MCP-Flow beinhaltet zwei Orchestrator-API-Aufrufe, die unterschiedliche Scopes erfordern:
tools/list: MCP-Server ruftodata/Releases/ListReleasesauf, um Prozessmetadaten abzurufen. Der Release-Controller erfordertOR.Execution.tools/call: MCP-Server ruftodata/Jobs/StartJobsauf, um einen Prozess auszuführen. Der Auftrags-Controller erfordertOR.Jobs.
Die folgende Tabelle fasst zusammen, wie sich verschiedene Scope-Kombinationen verhalten:
| Scopes bei der Tokenanforderung | Auflösung der Orchestrator-Berechtigung | X-UIPATH-FolderKey Kopfzeile | Verhalten der MCP-Server |
|---|---|---|---|
OR.Default wurden | Rollenzuweisungen auf Ordnerebene (z. B. Automation User im Zielordner) | Nicht erforderlich | Ein einziger ordnerübergreifender API-Aufruf |
Nur bestimmte Scopes (z. B. OR.Execution OR.Jobs) | Explizite Scope-Anforderungen im Token | Erforderlich für jeden API-Aufruf | API-Aufrufe pro Ordner (gruppiert nach Ordner) |
OR.Default sowie bestimmte Scopes | Explizite Scope-Anforderungen (bestimmte Scopes haben Vorrang) | Erforderlich für jeden API-Aufruf | API-Aufrufe pro Ordner (gruppiert nach Ordner) |
Verhaltenshinweise:
- Nur
OR.Defaultanzufordern ist das einfachste Setup. Der Orchestrator überprüft die Rollen, die der externen App in jedem Ordner zugewiesen wurden. Die Rolle Automation User deckt sowohl den Zugriff auf Releases als auch auf Aufträge ab. - Das Hinzufügen bestimmter Scopes wie
OR.ExecutionoderOR.Jobs(mit oder ohneOR.Default) ändert die Funktionsweise der Ordnerauflösung. Der Orchestrator überprüft sowohl Scope-Anforderungen als auch Ordnerrollenberechtigungen. Wenn eine der Prüfungen erfolgreich ist, wird der Zugriff gewährt. Dazu ist der HeaderX-UIPATH-FolderKeybei jedem API-Aufruf erforderlich. MCP-Server übernehmen dies automatisch, indem sie die Scopes des Tokens erkennen und bei Bedarf Aufrufe pro Ordner ausführen. - Ohne
OR.Defaultumgehen bestimmteOR.*-Scopes die Rollenauflösung auf Ordnerebene und gewähren Zugriff auf alle Ordner innerhalb des Mandanten. Der HeaderX-UIPATH-FolderKeyist weiterhin für das API-Routing erforderlich.
Bekannte Einschränkung: GetFoldersForCurrentUser
Wenn MCP-Server lokal mit Client-Anmeldeinformationen (uipath run) ausgeführt werden, ruft das Python SDK orchestrator_/api/FoldersNavigation/GetFoldersForCurrentUser auf, um den Ordnerpfad in einen Ordnerschlüssel aufzulösen. Diese API unterstützt keine Authentifizierung von Client-Anmeldeinformationen, sondern erfordert ein interaktives Benutzertoken.
Um dies zu umgehen, legen Sie die Umgebungsvariable UIPATH_FOLDER_KEY direkt fest. Wenn diese Variable festgelegt ist, überspringt das SDK den GetFoldersForCurrentUser -Aufruf vollständig:
export UIPATH_FOLDER_KEY="<folder-guid>"
uipath run mcp-server
export UIPATH_FOLDER_KEY="<folder-guid>"
uipath run mcp-server
Sie finden die Ordner-GUID in der Orchestrator-API oder in der Ordner-URL.
Häufiger Fehler: Maschinenanmeldeinformationen oder externe App
Die Verwendung von Maschinenanmeldeinformationen (aus Orchestrator > Maschinen) anstelle von Anmeldeinformationen für externe Anwendungen gibt invalid_scope Fehler zurück. Maschinenanmeldeinformationen sind für die Roboterauthentifizierung vorgesehen, nicht für den API-Zugriff.
Wenn Sie Folgendes sehen:
{"error":"invalid_scope","error_description":"..."}
{"error":"invalid_scope","error_description":"..."}
Stellen Sie sicher, dass Sie Anmeldeinformationen von Admin > Externe Apps verwenden, nicht von Orchestrator > Maschinen.
Einrichten der Benutzer-Scope-Authentifizierung
Benutzer-Scopes verwenden die Autorisierungscodegewährung. Ein Benutzer muss sich über die externe App anmelden, und das Token trägt die Identität des Benutzers und nicht die der App.
Verwenden Sie die Benutzer-Scope-Authentifizierung in den folgenden Situationen:
- Der MCP-Server stellt Tools bereit, die von Integration Service-Aktivitäten (Connectors) unterstützt werden.
- Sie integrieren den Client eines Drittanbieters, der seinen eigenen OAuth-Flow ausführt (Copilot Studio, ChatGPT).
- Sie benötigen eine Identität pro Benutzer, eine Zugriffskontrolle basierend darauf, wer sich angemeldet hat – nicht welche App aufruft.
Voraussetzungen
- Sie können auf Admin > Externe Apps in UiPath zugreifen.
- Sie können den Ordnerzugriff im Orchestrator verwalten.
- Sie kennen die Umleitungs-URL Ihrer Clientanwendung.
Erstellen Sie die externe Anwendung
-
Wechseln Sie zu UiPath, wählen Sie Admin und dann External Apps aus.
-
Wählen Sie Anwendung hinzufügen aus.
-
Geben Sie einen Namen ein und behalten Sie den App-Typ „Vertraulich“ bei.
-
Wählen Sie die Registerkarte Benutzerbereich(e) aus.
Wichtig:Fügen Sie Scopes unter der Registerkarte Benutzerbereich(e) hinzu, nicht unter der Registerkarte Anwendungsbereich(e) .
-
Fügen Sie die folgenden Scopes hinzu:
OR.Execution: Erforderlich zum Auflisten von Tools.OR.Jobs: Erforderlich zum Ausführen von Tools (codierte oder Befehlsserver).
-
Fügen Sie eine Umleitungs-URL hinzu. Dies ist die Adresse, an die der Browser des Benutzers nach der Anmeldung gesendet wird. Verwenden Sie die von Ihrer Clientanwendung bereitgestellte Rückruf-URL.
Verwenden Sie für Copilot Studio zunächst eine Dummy-URL und aktualisieren Sie sie, nachdem die Verbindung erstellt wurde.
-
Wählen Sie Hinzufügen aus und kopieren Sie dann die Client-ID und den Geheimen Clientschlüssel.
Konfigurieren Sie den Ordnerzugriff
Da die oben erstellte externe App nur Benutzer-Scopes hat, kann sie keinem Ordner in Zugriff verwalten zugewiesen werden. Der Ordnerzugriff wird über die Rolle des Benutzers gewährt; Das Token erbt die Berechtigungen des Benutzers, nicht die der App.
-
Navigieren Sie im Orchestrator zu Mandant > Zugriff verwalten oder zu den Zugriffseinstellungen des bestimmten Ordners.
-
Weisen Sie den Benutzer zu, der sich mit der Rolle Automation User, Automation Developer oder Folder Administrator anmeldet.
Diese Rolle bestimmt, was der Benutzer im Ordner tun kann, und muss die Berechtigung
MCPServers.Viewenthalten, die für den Zugriff auf MCP-Server erforderlich ist.
Wenn für die externe App auch Anwendungs-Scopes definiert sind, können Sie zusätzlich die App selbst dem Ordner mit der Rolle Automation User zuweisen. Dies ist nur für Client-Anmeldeinformationsflows erforderlich, die keine Benutzeranmeldung beinhalten.
Führen Sie den Autorisierungscode-Flow aus
Die Clientanwendung initiiert den Flow.
-
Leiten Sie den Benutzer zum Autorisierungsendpunkt um:
GET https://cloud.uipath.com/identity_/connect/authorize ?client_id=<your-client-id> &response_type=code &redirect_uri=<your-callback-url> &scope=OR.DefaultGET https://cloud.uipath.com/identity_/connect/authorize ?client_id=<your-client-id> &response_type=code &redirect_uri=<your-callback-url> &scope=OR.Default -
Der Benutzer meldet sich über den Browser an und wird mit einem
codeParameter zur Rückruf-URL zurückgeleitet. -
Tauschen Sie den Autorisierungscode gegen ein Token aus Ihrer serverseitigen Anwendung aus:
POST https://cloud.uipath.com/identity_/connect/token Content-Type: application/x-www-form-urlencoded client_id=<your-client-id> &client_secret=<your-client-secret> &grant_type=authorization_code &code=<authorization-code> &redirect_uri=<your-callback-url>POST https://cloud.uipath.com/identity_/connect/token Content-Type: application/x-www-form-urlencoded client_id=<your-client-id> &client_secret=<your-client-secret> &grant_type=authorization_code &code=<authorization-code> &redirect_uri=<your-callback-url>
Ergebnis
Der Token-Endpunkt gibt ein Zugriffstoken zurück, das Sie im Authorization -Header für MCP-Serveranforderungen verwenden können.
Variante: Nicht vertrauliche App mit PKCE
Der gleiche Ablauf funktioniert mit einer nicht vertraulichen externen App. Die Unterschiede sind unten zusammengefasst:
| Vertraulich | nicht vertraulich | |
|---|---|---|
| Geheimer Clientschlüssel | Im Tokenaustausch enthalten | Nicht verwendet (kein Geheimnis vorhanden) |
| PKCE | Optional | Obligatorisch |
| Ordnerzuweisung | Die App kann dem Ordner nur zugewiesen werden, wenn dafür auch Anwendungs-Scopes definiert sind. Mit nur Benutzer-Scopes wird die App nicht in Zugriff verwalten angezeigt und es gelten nur die Ordnerrollen des Benutzers | Die App kann keine Anwendungs-Scopes haben und wird nie in „Zugriff verwalten“ angezeigt; Es gelten nur die Ordnerrollen des Benutzers |
| Erstellen Sie in der UI | Wählen Sie Vertraulichaus | Wählen Sie Nicht vertraulich aus |
So verwenden Sie diese Variante:
-
Wählen Sie beim Erstellen der externen Anwendung die Option Nicht vertraulich anstelle von Vertraulich aus. Nur die Registerkarte Benutzer-Scope(s) ist verfügbar. Fügen Sie
OR.Executionhinzu,OR.Jobsfür codierte oder Befehlsserver und fügen Sie die Umleitungs-URL hinzu. -
Weisen Sie dem Ordner mit der entsprechenden Rolle nur den Benutzer (nicht die App) zu.
-
Verwenden Sie den folgenden PKCE-basierten Autorisierungsablauf:
# 1. Generate PKCE code verifier and challenge code_verifier = <random 64-byte base64url string> code_challenge = BASE64URL(SHA256(code_verifier)) # 2. Redirect user to authorize (with PKCE challenge) GET https://cloud.uipath.com/identity_/connect/authorize ?client_id=<your-client-id> &response_type=code &redirect_uri=<your-callback-url> &scope=OR.Default &code_challenge=<code_challenge> &code_challenge_method=S256 # 3. Exchange the code for a token (no client_secret; include code_verifier) POST https://cloud.uipath.com/identity_/connect/token Content-Type: application/x-www-form-urlencoded client_id=<your-client-id> &grant_type=authorization_code &code=<authorization-code> &redirect_uri=<your-callback-url> &code_verifier=<code_verifier># 1. Generate PKCE code verifier and challenge code_verifier = <random 64-byte base64url string> code_challenge = BASE64URL(SHA256(code_verifier)) # 2. Redirect user to authorize (with PKCE challenge) GET https://cloud.uipath.com/identity_/connect/authorize ?client_id=<your-client-id> &response_type=code &redirect_uri=<your-callback-url> &scope=OR.Default &code_challenge=<code_challenge> &code_challenge_method=S256 # 3. Exchange the code for a token (no client_secret; include code_verifier) POST https://cloud.uipath.com/identity_/connect/token Content-Type: application/x-www-form-urlencoded client_id=<your-client-id> &grant_type=authorization_code &code=<authorization-code> &redirect_uri=<your-callback-url> &code_verifier=<code_verifier>
Das resultierende Token ist identisch mit dem vertraulichen Benutzer-Scopes-Token: sub ist die Benutzer-GUID, sub_type ist user und die Zielgruppe ist UiPath.Orchestrator. MCP-Server behandelt sie genauso wie die vertrauliche Variante.
Tokeneigenschaften (Benutzer-Scopes)
Diese Eigenschaften gelten sowohl für vertrauliche als auch für nicht vertrauliche Apps, die den Autorisierungscode-Flow verwenden:
- JWT, wobei
subauf die GUID des Benutzers undsub_typeaufuserfestgelegt ist. - Zielgruppe:
UiPath.Orchestrator. - MCP-Server löst das Token als Benutzeridentität auf – auf der MCP-Server-Ebene folgt das Token demselben Codepfad wie die interaktive Anmeldung.
- Das Routing des Ordnerschlüssels gilt nicht (einzelner ordnerübergreifender Orchestrator-Aufruf).
- Integration Service-Aktivitäten funktionieren (Benutzerkontext ist vorhanden).
- Aktualisierungstoken: Wird zurückgegeben, wenn
offline_accessim Parameterscopeenthalten ist; nicht ohne sie zurückgegeben. Die Lebensdauer des Aktualisierungstokens beträgt 60 Tage.
Verbinden von Copilot Studio mit einem UiPath-MCP-Server
Auf diese Weise können Sie einen Microsoft Copilot Studio-Agenten mithilfe der manuellen OAuth 2.0-Authentifizierung mit einem UiPath MCP-Server verbinden.
Voraussetzungen
- Sie können externe Anwendungen verwalten.
- Sie können den Ordnerzugriff im Orchestrator verwalten.
- Sie können Verbindungen in Copilot Studio konfigurieren.
Schritte
-
Gehen Sie in UiPath zu Admin > Externe Apps und wählen Sie Anwendung hinzufügen aus.
-
Legen Sie den App-Typ auf Vertraulich fest.
-
Fügen Sie unter Ressourcen den Orchestrator-API-Zugriff mit dem Scope
OR.Executionhinzu und fügen Sie ihn sowohl als Anwendungs-Scope als auch als Benutzer-Scope hinzu.Wenn der MCP-Server ein codierter oder Befehlstyp ist, fügen Sie auch
OR.Jobsunter beiden Scopes hinzu.Durch Hinzufügen des Scopes unter der Registerkarte Anwendungsbereich(e) funktioniert Schritt 6; Eine App mit nur Benutzer-Scopes kann keinem Ordner in „Zugriff verwalten“ zugewiesen werden.
-
Geben Sie für den Moment eine Dummy-Umleitungs-URL ein (z. B.
https://cloud.uipath.com). -
Speichern Sie die Anwendung und kopieren Sie dann die Client-ID und den geheimen Clientschlüssel.
-
Weisen Sie im Orchestrator die externe App dem Ordner zu, der den MCP-Server mit der Rolle Automation User enthält. Dies funktioniert, weil der App in Schritt 3 Anwendungs-Scopes zugewiesen wurden; Eine App mit nur Benutzer-Scopes kann nicht als Ordner zugewiesen werden. Weisen Sie auch die Mandantenrolle Allow to be Automation User zu.
-
Fügen Sie in Copilot Studio die MCP-Server-URL mit der manuellen OAuth 2.0- Authentifizierung hinzu, indem Sie die folgenden Werte verwenden:
- Client-ID: Der in Schritt 5 kopierte Wert.
- Clientgeheimnis: Der in Schritt 5 kopierte Wert.
- Autorisierungs-URL:
https://cloud.uipath.com/identity_/connect/authorize - Token-URL:
https://cloud.uipath.com/identity_/connect/token - URL aktualisieren:
https://cloud.uipath.com/identity_/connect/token - Scope:
OR.Default
-
Wählen Sie Erstellen in Copilot Studio aus. Copilot Studio generiert eine Umleitungs-URL, das Feld ist vor der Erstellung ausgegraut.
-
Kopieren Sie die generierte Umleitungs-URL und fügen Sie sie zu den Umleitungs-URLs der externen App unter UiPath Admin > Externe Apps hinzu.
-
Kehren Sie zu Copilot Studio zurück und wählen Sie Verbinden aus.
Ergebnis
Copilot Studio ist mit dem UiPath-MCP-Server verbunden. Der Benutzer meldet sich über den OAuth-Flow an, wenn der Agent auf MCP-Tools zugreift.
Verbinden von ChatGPT mit einem UiPath-MCP-Server
Verwenden Sie dieses Verfahren für neue oder unveröffentlichte ChatGPT-Apps, bei denen die dynamische Client-Registrierung (DCR) nicht funktioniert.
ChatGPT hat seine Umleitungs-URIs von /connector_platform_oauth_redirect in /connector/oauth/{callback_id} geändert. Bereits veröffentlichte Apps funktionieren weiterhin mit DCR. Neue oder unveröffentlichte Apps erfordern eine manuelle OAuth-Einrichtung.
Voraussetzungen
- Sie können externe Anwendungen verwalten.
- Sie können Apps in ChatGPT erstellen.
Rufen Sie die Rückruf-URL von ChatGPT ab
- Gehen Sie zu ChatGPT, wählen Sie Ihr Profil aus, dann Apps und dann App erstellen.
- Geben Sie den Namen der App, die Beschreibung und die MCP-Server-URL von UiPath ein.
- Wählen Sie Erweiterte Einstellungen aus.
- Ändern Sie unter Registrierungsmethode von DCR zu Benutzerdefinierter OAuth-Client.
- Kopieren Sie die Rückruf-URL (
https://chatgpt.com/connector/oauth/{callback_id}). - Lassen Sie diese Browser-Registerkarte geöffnet.
Erstellen Sie die externe Anwendung in UiPath
-
Gehen Sie zu Admin > Externe Apps und wählen Sie Anwendung hinzufügen aus.
-
Wählen Sie Vertraulich als den App-Typ aus.
-
Fügen Sie
OR.Execution,OR.JobsundOR.Folderssowohl unter den Registerkarten Anwendungsbereich(e) als auch Benutzerbereich(e) hinzu.Durch das Hinzufügen der Scopes unter der Registerkarte Anwendungsbereich(e) kann der nächste Schritt (Ordnerzuweisung) funktionieren; Eine App mit nur Benutzer-Scopes kann keinem Ordner in „Zugriff verwalten“ zugewiesen werden.
-
Fügen Sie im Feld Umleitungs-URL die aus ChatGPT kopierte Rückruf-URL ein.
-
Speichern Sie die Anwendung und kopieren Sie dann die Client-ID und den geheimen Clientschlüssel.
Weisen Sie dem Ordner die externe App zu
- Öffnen Sie in Orchestrator den Ordner, der den MCP-Server enthält.
- Navigieren Sie zu Zugriff verwalten > Zuweisen.
- Fügen Sie die externe App mit der Rolle Automation User hinzu.
Konfigurieren Sie ChatGPT
- Kehren Sie zur Registerkarte im ChatGPT-Browser zurück.
- Geben Sie die OAuth-Client-ID und den geheimen Clientschlüssel ein, die aus der externen App kopiert wurden.
- Wählen Sie unter Client-Registrierung > Authentifizierungsmethode für Token-Endpunkt die Option
client_secret_basicaus. - Deaktivieren Sie unter Scopes > Standard-Scopes alle vorhandenen Standard-Scopes.
- Fügen Sie unter Scopes > Basis-Scopes
OR.Defaulthinzu. - Wählen Sie Erstellen.
Ergebnis
ChatGPT ist mit dem UiPath-MCP-Server verbunden. Benutzer authentifizieren sich über den manuellen OAuth-Flow, wenn die App auf MCP-Tools zugreift.
Verhalten von OR.Default
OR.Default wird sowohl in Anwendungs-Scope- als auch in Benutzer-Scope-Flows referenziert, verhält sich aber in jedem Kontext unterschiedlich:
| Context | Verhalten |
|---|---|
Anwendungsbereich im Parameter --scope bei Tokenanforderung | Steuert, wie der Orchestrator Berechtigungen auflöst. Wenn OR.Default der einzige Scope ist, verwendet der Orchestrator Ordnerrollenzuweisungen anstelle expliziter Scope-Anforderungen. Überprüfen Sie Verstehen von Scope-Kombinationen. |
Benutzer-Scopes im Parameter scope der Autorisierungsanforderung | Wird als Scope-Parameter in der Autorisierungsanforderung verwendet. Auf der Orchestrator-Ebene wird ein permisessiver Autorisierungsmodus aktiviert, in dem der Zugriff gewährt wird, wenn entweder die Scope-Prüfung oder die Ordnerrollenberechtigungen des Benutzers erfolgreich sind. MCP-Server verwendet OR.Default nicht für benutzerbezogene Token, sondern führt immer einzelne ordnerübergreifende Aufrufe aus, unabhängig davon, welche Scopes das Token hat. |
In keinem der Fälle ist OR.Default ein Scope, den Sie in der Benutzeroberfläche für externe Apps konfigurieren. Er erscheint nur im Scope-Parameter zum Zeitpunkt der Token- oder Autorisierungsanforderung.
- Grundlegendes zu externen Anwendungstypen
- Vertrauliche vs. nicht vertrauliche Apps
- Anwendungs-Scopes im Vergleich zu Benutzer-Scopes
- Einrichten der Authentifizierung des Anwendungs-Scope
- Voraussetzungen
- Erstellen Sie die externe Anwendung
- Weisen Sie dem Ordner die externe App zu
- Authentifizieren Sie sich mit der externen App
- Ergebnis
- Grundlegendes zu Scope-Kombinationen
- Bekannte Einschränkung: GetFoldersForCurrentUser
- Häufiger Fehler: Maschinenanmeldeinformationen oder externe App
- Einrichten der Benutzer-Scope-Authentifizierung
- Voraussetzungen
- Erstellen Sie die externe Anwendung
- Konfigurieren Sie den Ordnerzugriff
- Führen Sie den Autorisierungscode-Flow aus
- Ergebnis
- Variante: Nicht vertrauliche App mit PKCE
- Tokeneigenschaften (Benutzer-Scopes)
- Verbinden von Copilot Studio mit einem UiPath-MCP-Server
- Voraussetzungen
- Schritte
- Ergebnis
- Verbinden von ChatGPT mit einem UiPath-MCP-Server
- Voraussetzungen
- Rufen Sie die Rückruf-URL von ChatGPT ab
- Erstellen Sie die externe Anwendung in UiPath
- Weisen Sie dem Ordner die externe App zu
- Konfigurieren Sie ChatGPT
- Ergebnis
- Verhalten von OR.Default