Auf dieser Seite wird beschrieben, wie Sie die Zugriffssteuerung für Datenquellen für Suchanwendungen in Agent Search erzwingen.
Die Zugriffssteuerung für Ihre Datenquellen in Agent Search begrenzt die Daten, die Nutzer in den Ergebnissen Ihrer Suchanwendung sehen können. Google verwendet Ihren Identitätsanbieter, um den Endnutzer zu identifizieren, der eine Suche durchführt, und um festzustellen, ob dieser Zugriff auf die Dokumente hat, die als Ergebnisse zurückgegeben werden.
Angenommen, Mitarbeiter in Ihrem Unternehmen suchen mit Ihrer Suchanwendung in Confluence-Dokumenten. Sie müssen jedoch dafür sorgen, dass sie über die Anwendung keine Inhalte aufrufen können, auf die sie keinen Zugriff haben dürfen. Wenn Sie einen Personalpool in Google Cloud für den Identitätsanbieter Ihrer Organisation eingerichtet haben, dann können Sie diesen Personalpool auch in Agent Search angeben. Wenn ein Mitarbeiter Ihre Anwendung verwendet, erhält er jetzt nur Suchergebnisse für Dokumente, auf die sein Konto in Confluence bereits Zugriff hat.
Zugriffssteuerung für Datenquellen
Das Aktivieren der Zugriffssteuerung ist ein einmaliger Vorgang.
Die Zugriffssteuerung ist für Cloud Storage, BigQuery, Google Drive und alle externen Datenquellen verfügbar.
Wenn Sie die Zugriffssteuerung für Datenquellen für Agent Search aktivieren möchten, muss der Identitätsanbieter Ihrer Organisation inkonfiguriert sein Google Cloud. Die folgenden Authentifizierungsframeworks werden unterstützt:
Google Identity:
Fall 1: Wenn Sie Google Identity verwenden, sind alle Nutzeridentitäten und Nutzer gruppen vorhanden und werden überverwaltet Google Cloud. Weitere Informationen zu Google Identity finden Sie in der Google Identity Dokumentation.
Fall 2: Sie verwenden einen externen Identitätsanbieter und haben Identitäten mit Google Identity synchronisiert. Ihre Endnutzer verwenden Google Identity zur Authentifizierung, bevor sie auf Google-Ressourcen oder Google Workspace zugreifen.
Fall 3: Sie verwenden einen externen Identitätsanbieter und haben Identitäten mit Google Identity synchronisiert. Sie verwenden jedoch weiterhin Ihren vorhandenen externen Identitätsanbieter für die Authentifizierung. Sie haben SSO mit Google Identity so konfiguriert, dass sich Ihre Nutzer zuerst über Google Identity anmelden und dann zu Ihrem externen Identitätsanbieter weitergeleitet werden. (Möglicherweise haben Sie diese Synchronisierung bereits beim Einrichten anderer Google Cloud Ressourcen oder Google Workspace durchgeführt.)
Föderation mit externen Identitätsanbietern: Wenn Sie einen externen Identitäts anbieter verwenden, z. B. Microsoft Entra ID, Okta oder Ping, Ihre Identitäten aber nicht mit Google Cloud Identity synchronisieren möchten, müssen Sie die Mitarbeiteridentitätsföderation in Google Cloud einrichten, bevor Sie die Zugriffssteuerung für Datenquellen für Agent Search aktivieren können.
Wenn Sie Connectors von Drittanbietern verwenden, muss das
google.subjectAttribut dem E-Mail-Adressfeld im externen Identitätsanbieter zugeordnet werden. Im Folgenden finden Sie Beispielzuordnungen für die Attributegoogle.subjectundgoogle.groupsfür häufig verwendete Identitätsanbieter:Microsoft Entra ID mit OIDC-Protokoll
google.subject=assertion.email google.groups=assertion.groupsMicrosoft Entra ID mit SAML-Protokoll
google.subject=assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0] google.groups=assertion.attributes['http://schemas.microsoft.com/ws/2008/06/identity/claims/groups']google.subject=assertion.email google.groups=assertion.groupsgoogle.subject=assertion.subject google.groups=assertion.attributes['groups']
Beschränkungen
Für die Zugriffssteuerung gelten die folgenden Einschränkungen:
- Pro Dokument sind 3.000 Leser zulässig. Jedes Hauptkonto zählt als ein Leser. Ein Hauptkonto kann eine Gruppe oder ein einzelner Nutzer sein.
- Sie können einen Identitätsanbieter pro von Agent Search unterstütztem Standort auswählen.
- Wenn Sie eine Datenquelle als zugriffsgesteuert festlegen möchten, müssen Sie diese Einstellung beim Erstellen des Datenspeichers auswählen. Sie können diese Einstellung für vorhandene Datenspeicher weder aktivieren noch deaktivieren.
- Auf dem Tab Daten > Dokumente in der Console werden keine Daten für zugriffsgesteuerte Datenquellen angezeigt, da diese Daten nur für Nutzer mit Lesezugriff sichtbar sein sollten.
- Wenn Sie eine Vorschau der UI-Ergebnisse für Suchanwendungen anzeigen möchten, die die Zugriffssteuerung von Drittanbietern verwenden, müssen Sie sich in der föderierten Konsole anmelden. Weitere Informationen finden Sie unter Vorschau der Ergebnisse für Apps mit Zugriffssteuerung anzeigen.
Hinweis
Bei diesem Verfahren wird davon ausgegangen, dass Sie einen Identitätsanbieter in Ihrem Google Cloud Projekt eingerichtet haben.
- Google Identity: Wenn Sie Google Identity verwenden, können Sie mit der Anleitung Verbindung zu Ihrem Identitätsanbieter herstellen fortfahren.
- Externer Identitätsanbieter: Achten Sie darauf, dass Sie einen Mitarbeiter identitätspool für Ihren externen Identitätsanbieter eingerichtet haben. Prüfen Sie, ob Sie beim Einrichten des Mitarbeiterpools Zuordnungen für das Subjekt und das Gruppenattribut angegeben haben. Informationen zu Attributzuordnungen finden Sie unter Attribut zuordnungen in der IAM-Dokumentation. Weitere Informationen zu Mitarbeiteridentitätspools finden Sie unter Anbieter von Mitarbeitern identitätspools verwalten in der IAM Dokumentation.
Verbindung zu Ihrem Identitätsanbieter herstellen
So geben Sie einen Identitätsanbieter für Agent Search an und aktivieren die Zugriffssteuerung für Datenquellen:
Rufen Sie in der Google Cloud Console die Seite KI-Anwendungen auf.
Rufen Sie die Seite Einstellungen > Authentifizierung auf.
Klicken Sie auf das Bearbeitungssymbol für den Standort, den Sie aktualisieren möchten.
Wählen Sie im Dialogfeld Identitätsanbieter hinzufügen Ihren Identitätsanbieter aus. Wenn Sie einen externen Identitätsanbieter auswählen, wählen Sie auch den Mitarbeiteridentitätspool aus, der für Ihre Datenquellen gilt.
Klicken Sie auf Änderungen speichern.
Datenquelle mit Zugriffssteuerung konfigurieren
So wenden Sie die Zugriffssteuerung auf eine Datenquelle an:
- Externe Datenquellen: Beim Erstellen Ihrer App ist keine zusätzliche Konfiguration erforderlich. Fahren Sie mit Vorschau der Ergebnisse für Apps mit Zugriffssteuerung von Drittanbietern fort.
- Google Drive: Beim Erstellen Ihrer App ist keine zusätzliche Konfiguration erforderlich.
- Unstrukturierte Daten aus Cloud Storage
- Strukturierte Daten aus Cloud Storage
- Unstrukturierte Daten aus BigQuery
- Strukturierte Daten aus BigQuery
Unstrukturierte Daten aus Cloud Storage
Wenn Sie einen Datenspeicher für unstrukturierte Daten aus Cloud Storage einrichten, müssen Sie auch ACL-Metadaten hochladen und den Datenspeicher als zugriffsgesteuert festlegen:
Fügen Sie beim Vorbereiten Ihrer Daten ACL-Informationen in Ihre Metadaten ein. Verwenden Sie dazu das Feld
acl_info. Beispiel:{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" }, "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }Weitere Informationen zu unstrukturierten Daten mit Metadaten finden Sie im Abschnitt „Unstrukturierte Daten“ unter Daten für die Aufnahme vorbereiten.
Wenn Sie die Schritte zum Erstellen eines Datenspeichers unter Suchdatenspeicher erstellen ausführen, können Sie so die Zugriffssteuerung über die Console oder die API aktivieren:
- Konsole: Wählen Sie beim Erstellen eines Datenspeichers die Option Dieser Datenspeicher enthält Informationen zur Zugriffssteuerung aus.
- API: Wenn Sie einen Datenspeicher erstellen, fügen Sie das Flag
"aclEnabled": "true"in Ihre JSON-Nutzlast ein.
Wenn Sie den Schritten zum Datenimport unter Suchdatenspeicher erstellen folgen, achten Sie auf Folgendes:
- Laden Sie Metadaten mit ACL-Informationen aus demselben Bucket wie Ihre unstrukturierten Daten hoch.
- Wenn Sie die API verwenden, legen Sie
GcsSource.dataSchemaaufdocumentfest.
Strukturierte Daten aus Cloud Storage
Wenn Sie einen Datenspeicher für strukturierte Daten aus Cloud Storage einrichten, müssen Sie auch ACL-Metadaten hochladen und den Datenspeicher als zugriffsgesteuert festlegen:
Fügen Sie beim Vorbereiten Ihrer Daten ACL-Informationen in Ihre Metadaten ein. Verwenden Sie dazu das Feld
acl_info. Beispiel:{ "id": "<your-id>", "jsonData": "<JSON string>", "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }Wenn Sie die Schritte zum Erstellen eines Datenspeichers unter Suchdatenspeicher erstellen ausführen, können Sie so die Zugriffssteuerung über die Console oder die API aktivieren:
- Konsole: Wählen Sie beim Erstellen eines Datenspeichers die Option Dieser Datenspeicher enthält Informationen zur Zugriffssteuerung aus.
- API: Wenn Sie einen Datenspeicher erstellen, fügen Sie das Flag
"aclEnabled": "true"in Ihre JSON-Nutzlast ein.
Wenn Sie den Schritten zum Datenimport unter Suchdatenspeicher erstellen folgen, achten Sie auf Folgendes:
- Laden Sie Metadaten mit ACL-Informationen aus demselben Bucket wie Ihre unstrukturierten Daten hoch.
- Wenn Sie die API verwenden, legen Sie
GcsSource.dataSchemaaufdocumentfest.
Unstrukturierte Daten aus BigQuery
Wenn Sie einen Datenspeicher für unstrukturierte Daten aus BigQuery einrichten, müssen Sie den Datenspeicher als zugriffsgesteuert festlegen und ACL-Metadaten mit einem vordefinierten Schema für Agent Search bereitstellen:
Geben Sie beim Vorbereiten Ihrer Daten das folgende Schema an. Verwenden Sie kein benutzerdefiniertes Schema.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "name": "content", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "mimeType", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" } ] } { "name": "acl_info", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "readers", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "principals", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "user_id", "type": "STRING", "mode": "NULLABLE" }, { "name": "group_id", "type": "STRING", "mode": "NULLABLE" } ] } ] } ] } ]Fügen Sie die ACL-Metadaten als Spalte in Ihre BigQuery-Tabelle ein.
Wenn Sie den Schritten unter Suchdatenspeicher erstellen folgen, aktivieren Sie die Zugriffssteuerung entweder in der Console oder über die API:
- Konsole: Wählen Sie beim Erstellen eines Datenspeichers die Option Dieser Datenspeicher enthält Informationen zur Zugriffssteuerung aus.
- API: Wenn Sie einen Datenspeicher erstellen, fügen Sie das Flag
"aclEnabled": "true"in Ihre JSON-Nutzlast ein.
Wenn Sie den Schrhalten zum Datenimport unter Suchdatenspeicher erstellen folgen und die API verwenden, legen Sie
BigQuerySource.dataSchemaaufdocumentfest.
Strukturierte Daten aus BigQuery
Wenn Sie einen Datenspeicher für strukturierte Daten aus BigQuery einrichten, müssen Sie den Datenspeicher als zugriffsgesteuert festlegen und ACL-Metadaten mit einem vordefinierten Schema für Agent Search bereitstellen:
Geben Sie beim Vorbereiten Ihrer Daten das folgende Schema an. Verwenden Sie kein benutzerdefiniertes Schema.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "name": "acl_info", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "readers", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "principals", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "user_id", "type": "STRING", "mode": "NULLABLE" }, { "name": "group_id", "type": "STRING", "mode": "NULLABLE" } ] } ] } ] } ]Fügen Sie die ACL-Metadaten als Spalte in Ihre BigQuery-Tabelle ein.
Wenn Sie den Schritten unter Suchdatenspeicher erstellen folgen, aktivieren Sie die Zugriffssteuerung entweder in der Console oder über die API:
- Konsole: Wählen Sie beim Erstellen eines Datenspeichers die Option Dieser Datenspeicher enthält Informationen zur Zugriffssteuerung aus.
- API: Wenn Sie einen Datenspeicher erstellen, fügen Sie das Flag
"aclEnabled": "true"in Ihre JSON-Nutzlast ein.
Wenn Sie den Schritten zum Datenimport unter Suchdatenspeicher erstellen folgen, achten Sie auf Folgendes:
- Wenn Sie die Console verwenden, wählen Sie beim Angeben der Art der Daten, die Sie hochladen, JSONL für strukturierte Daten mit Metadaten aus.
- Wenn Sie die API verwenden, legen Sie
BigQuerySource.dataSchemaaufdocumentfest.
Vorschau der Ergebnisse in der Workforce Identity Federation-Konsole
Wenn Sie eine Vorschau der Ergebnisse für Apps mit Zugriffssteuerung von Drittanbietern in der Google Cloud Console anzeigen möchten, müssen Sie sich mit den Anmeldedaten Ihrer Organisation anmelden.
So rufen Sie eine Vorschau der UI-Ergebnisse auf:
Rufen Sie in der Google Cloud Console die Seite KI-Anwendungen auf.
Klicken Sie auf den Namen der Suchanwendung, deren Ergebnisse Sie in der Vorschau ansehen möchten.
Rufen Sie die Seite Vorschau auf.
Klicken Sie auf Vorschau mit Mitarbeiteridentitätsföderation , um zur Mitarbeiteridentitätsföderation-Konsole zu wechseln.
Geben Sie die Anmeldedaten Ihres Workforce-Pool-Anbieters und Ihrer Organisation ein.
Auf der Seite Vorschau können Sie sich eine Vorschau der Ergebnisse für Ihre App ansehen.
Weitere Informationen zur Vorschau Ihrer Suchergebnisse finden Sie unter Suchergebnisse abrufen.
Weitere Informationen zur Mitarbeiteridentitätsföderation-Konsole finden Sie unter Informationen zur Console (föderiert).
Nutzern Suchberechtigungen erteilen
Wenn Sie Ihren Nutzern die Möglichkeit geben möchten, mit Ihrer App in zugriffsgesteuerten Daten zu suchen, müssen Sie Nutzern in Ihrer Domain oder Ihrem Mitarbeiteridentitätspool Zugriff gewähren. Google empfiehlt, Ihrer Nutzergruppe eine benutzerdefinierte IAM-Rolle zu gewähren.
- Google Identity: Wenn Sie Google Identity verwenden, empfiehlt Google, dass Sie eine Google-Gruppe erstellen, die alle Mitarbeiter enthält, die suchen müssen. Als Google Workspace Administrator können Sie alle Nutzer einer Organisation einer Google-Gruppe hinzufügen. Folgen Sie dazu der Anleitung unter Alle Nutzer Ihrer Organisation einer Gruppe hinzufügen.
- Externer Identitätsanbieter: Wenn Sie einen externen Identitätsanbieter verwenden, z. B. Okta oder Microsoft Entra ID, fügen Sie alle Nutzer in Ihrem Mitarbeiteridentitätspool einer einzelnen Gruppe hinzu.
Google empfiehlt, eine benutzerdefinierte IAM-Rolle zu erstellen, die Sie Ihrer Nutzergruppe gewähren können. Verwenden Sie dazu die folgenden Berechtigungen:
discoveryengine.answers.getdiscoveryengine.servingConfigs.answerdiscoveryengine.servingConfigs.searchdiscoveryengine.sessions.getdiscoveryengine.widgetConfigs.get
Weitere Informationen zu Berechtigungen für Agent Search-Ressourcen mit Identity and Access Management (IAM) finden Sie unter Zugriffssteuerung mit IAM.
Weitere Informationen zu benutzerdefinierten Rollen finden Sie unter Benutzerdefinierte Rollen in der IAM-Dokumentation.
Such-Widget autorisieren
Wenn Sie ein Such-Widget für eine zugriffsgesteuerte App bereitstellen möchten, gehen Sie so vor:
Gewähren Sie Nutzern in Ihrer Domain oder Ihrem Mitarbeiteridentitätspool, die Such-API-Aufrufe ausführen müssen, die Rolle „Discovery Engine-Betrachter“.
Generieren Sie Autorisierungstokens, die an Ihr Widget übergeben werden sollen:
- Für Google Identity: OAuth 2.0-Zugriffstokens generieren.
- Für die Mitarbeiteridentitätsföderation: Folgen Sie der Anleitung unter Kurzlebige Tokens für die Mitarbeiteridentitätsföderation abrufen, um Ihr Token zu erhalten.
Folgen Sie der Anleitung unter Widget mit Autorisierungstoken hinzufügen um das Token an Ihr Widget zu übergeben.