Nicht authentifizierte Dataverse-Suche in Copilot Studio absichern
Nutzen Sie Dataverse searchQuery mit Maker-Anmeldedaten, klar begrenzten Tabellen und Spalten sowie einem schreibgeschützten Anwendungsbenutzer.
TL;DR
Copilot Studio kann die ungebundene Dataverse-Aktion searchQuery mit vom Maker bereitgestellten Service-Principal-Anmeldedaten aufrufen, ohne Benutzeranmeldung. Die Dataverse-Sicherheitsrolle des Anwendungsbenutzers bestimmt alle für jeden Benutzer sichtbaren Ergebnisse. Aktivieren Sie Dataverse Search, indexieren Sie die Tabelle, konfigurieren Sie Quick Find und geben Sie nur ausgewählte Spalten zurück.
Original von Karima Kanji-Tajdin, auf The Custom Engine. Artikel lesen
Dies ist unsere eigene Kurzfassung, keine Wiederveröffentlichung oder vollständige Übersetzung.
Bedeutung für Governance
- Makers: Konfigurieren Sie searchQuery mit Maker-Anmeldedaten sowie klaren SearchColumns und SelectColumns, weil fehlende oder falsche logische Namen stillschweigend leere Ergebnisse liefern können.
- Admins/CoE: Aktivieren Sie Dataverse Search, nehmen Sie Tabellen in den Suchindex der Umgebung auf und veröffentlichen Sie Quick-Find-Einstellungen vor dem Test.
- Security/Compliance: Geben Sie dem Service Principal nur Leserechte auf öffentlich sichere Tabellen und Spalten, weil alle nicht authentifizierten Benutzer dieselbe Sicht erhalten.
Häufige Fragen
Wie funktioniert Copilot Studio searchQuery ohne Benutzeranmeldung?
Die Funktion nutzt vom Maker bereitgestellte Dataverse-Anmeldedaten eines Service Principals. Der Agent ruft searchQuery mit dieser Identität statt mit der Identität des Endbenutzers auf.
Welche Dataverse-Berechtigungen steuern die Ergebnisse von unauthentifiziertem searchQuery?
Die Dataverse-Sicherheitsrolle des Anwendungsbenutzers steuert den Datenzugriff. Sie sollte nur Leserechte für Tabellen und Spalten enthalten, die öffentlich gezeigt werden dürfen.
Warum liefert ein Copilot-Studio-searchQuery-Tool keine Dataverse-Ergebnisse?
Dataverse Search oder die Tabellenindexierung können fehlen, oder die entities-JSON enthält falsche logische Namen. Diese Konfigurationsfehler können ohne Fehlermeldung leere Ergebnisse erzeugen.
