Zugriffssteuerung

Üblicherweise arbeiten mehrere Teammitglieder am Aufbau eines Agents. Mit Rollen können Sie den Zugriff und die Berechtigungen steuern, die Teammitgliedern gewährt werden.

Sie können den Zugriff über die Dialogflow CX-Konsole (Dokumentation ansehen, Konsole öffnen) oder über die Google Cloud Console (Dokumentation öffnen, Konsole öffnen) mit Identitäts- und Zugriffsverwaltung (IAM) konfigurieren. In der Console werden Hauptkonten IAM-Rollen und Hauptkonten die Dialogflow-Konsole Rollen von Dialogflow-Agenten zugewiesen. Dialogflow-Agent-Rollen sind praktische vordefinierte Rollen, die von Dialogflow definiert werden und den Zugriff auf einen Agent oder die untergeordneten Ressourcen eines bestimmten Agents einschränken.

In einigen Situationen müssen Sie die Google Cloud Console verwenden:

  • Die IAM-Projektinhaberrolle wird standardmäßig dem Nutzer zugewiesen, der das Projekt erstellt hat, dem der Agent gehört. Dieser Inhaber hat uneingeschränkten Zugriff auf alle Agents im Projekt. Wenn Sie den Projektinhaber ändern möchten, müssen Sie die Console verwenden.
  • Der Zugriff auf Agent-Ebene kann nur über die Dialogflow CX-Konsole konfiguriert werden. Wenn Sie den Zugriff auf Projektebene konfigurieren möchten, müssen Sie die Konsole verwenden.
  • Eine Teilmenge von IAM-Rollen verfügt über entsprechende Dialogflow-Agent-Rollen. Wenn Sie eine Rolle auf Projektebene oder auf Agent-Ebene zuweisen möchten, die in der Dialogflow CX-Konsole nicht vorhanden ist, müssen Sie die Console verwenden.

Wenn Sie die API verwenden, werden an einen Agent möglicherweise auch Anfragen von einer oder mehreren Anwendungen gesendet. In diesem Fall können Sie den Zugriff mithilfe von Dienstkonten steuern.

Zugriff mit der Dialogflow CX-Konsole steuern

Mit der Dialogflow CX-Konsole können Sie einfache Agent-Rollen anwenden, die für die Freigabe auf Agent-Ebene konfiguriert sind. Diese Rollen beziehen sich auf IAM-Rollen mit IAM-Bedingungen, die den Zugriff auf den jeweiligen Agent oder eine Teilmenge von untergeordneten Ressourcen des Agents einschränken.

Für den Zugriff auf die Konfiguration von Agent-Rollen über die Dialogflow CX-Konsole benötigen Sie die Rolle "Projekt-IAM-Administrator" für das zugehörige Projekt. Diese Rolle wird über die Google Cloud Console gewährt.

Dialogflow-Agent-Rolle Fazit IAM-Rolle
Admin Ermöglicht vollständigen Zugriff zum Erstellen, Aktualisieren, Abfragen, Erkennen von Intents und Löschen des Agents über die Konsole oder die API Dialogflow > Dialogflow API Admin
Leser Lesezugriff auf die Abfrage (Intent nicht erkennen) über die Konsole oder die API Dialogflow > Dialogflow API Reader
Client Zugriff zur Intent-Erkennung über die Konsole oder die API. Dialogflow > Dialogflow API Client
Intent-Administrator Bietet Zugriff zum Erstellen, Aktualisieren, Löschen oder Abfragen der Intents eines Agents über die Konsole oder die API. Dialogflow > Dialogflow Intent-Administrator
Administrator für Entitätstypen Bietet Zugriff zum Erstellen, Aktualisieren, Löschen oder Abfragen der Entitätstypen eines Agents über die Konsole oder die API. Dialogflow > Administrator von Dialogflow-Entitätstypen
Webhook-Administrator Bietet Zugriff zum Erstellen, Aktualisieren, Löschen oder Abfragen der Webhooks eines Agents über die Konsole oder die API. Dialogflow > Dialogflow-Webhook-Administrator
Testfalladministrator Berechtigung zum Erstellen, Aktualisieren, Löschen oder Abfragen der Testfälle eines Agents über die Konsole oder die API. Dialogflow > Dialogflow-Testfalladministrator
Ablaufeditor Ermöglicht Zugriff auf das Aktualisieren, Abfragen eines bestimmten Ablaufs und Erstellen, Aktualisieren, Löschen oder Abfragen der Ablaufressourcen (Seiten, Routengruppen und -versionen) über die Konsole oder die API. Dialogflow > Dialogflow-Ablaufeditor
Umgebungseditor Berechtigung zum Aktualisieren, Abfragen einer bestimmten Umgebung und zum Erstellen, Aktualisieren, Löschen oder Abfragen der Umgebungsressourcen (Tests) über die Konsole oder die API. Dialogflow > Bearbeiter der Dialogflow-Umgebung

Die Freigabeoptionen finden Sie in den Einstellungen des Agents. So öffnen Sie die Freigabeeinstellungen des Agents:

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr GCP-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Klicken Sie auf Agent-Einstellungen.
  5. Klicken Sie auf den Tab Share (Freigeben).

Hauptkonto hinzufügen

  1. Klicken Sie auf Add (Hinzufügen).
  2. Geben Sie die E-Mail-Adresse des Nutzers, der Gruppe oder des Dienstkontos ein.
  3. Wählen Sie als E-Mail-Typ Nutzer, Gruppe oder Dienstkonto aus.
  4. Die Rolle Dialogflow-Leser wird standardmäßig hinzugefügt. Diese ist erforderlich, damit die Nutzer auf die Dialogflow CX-Konsole zugreifen können.
  5. Klicken Sie unter Rollen zuweisen auf Rolle hinzufügen.
  6. Wählen Sie unter Typ einen Rollentyp aus.
  7. Wählen Sie für die Rollen Ablaufeditor und Umgebungseditor bestimmte Abläufe oder Umgebungen aus oder behalten Sie die Standardoption Alle bei.
  8. Legen Sie optional das Ablaufdatum für die Rolle fest.
  9. Klicken Sie auf Speichern.

Hauptkontorollen ändern

  1. Klicken Sie in der Liste auf das Hauptkonto.
  2. Aktualisieren Sie die Rollen für dieses Hauptkonto im Pop-up-Fenster.
  3. Klicken Sie auf Speichern.

Hauptkonto entfernen

  1. Suchen Sie in der Liste nach dem Hauptkonto.
  2. Klicken Sie auf die Schaltfläche zum Löschen des jeweiligen Hauptkontos.
  3. Klicken Sie auf OK.

Zugriff über die Konsole steuern

Sie können den Zugriff über die IAM-Einstellungen steuern. Ausführliche Informationen zum Hinzufügen, Bearbeiten und Entfernen von Berechtigungen finden Sie in der Kurzanleitung für IAM.

Die Einstellungen unten finden Sie auf der IAM-Seite der Console.

Nutzer oder Dienstkonto zum Projekt hinzufügen

Wenn Sie Nutzern oder Dienstkonten Berechtigungen zuweisen möchten, können Sie ihnen Rollen für Ihr Cloud-Projekt zuweisen. Nutzer werden durch Angabe ihrer E-Mail-Adresse hinzugefügt. Auch Dienstkonten können durch die Angabe der zugehörigen E-Mail-Adresse hinzugefügt werden. Das Hinzufügen von Dienstkonten ist erforderlich, wenn Sie ein Dienstkonto für mehrere Projekte verwenden möchten. Die mit Ihrem Dienstkonto verknüpfte E-Mail-Adresse finden Sie in der Console auf der Seite Dienstkonten.

So fügen Sie ein Hauptkonto hinzu:

  1. Klicken Sie oben auf der Seite auf die Schaltfläche zum Hinzufügen eines Mitglieds.
  2. Geben Sie die E-Mail-Adresse Ihres Hauptkontos ein.
  3. Wählen Sie eine Rolle aus.
  4. Klicken Sie auf Speichern.

Berechtigungen ändern

  1. Klicken Sie auf die Schaltfläche zum Bearbeiten des jeweiligen Hauptkontos.
  2. Wählen Sie eine andere Rolle aus.
  3. Klicken Sie auf Speichern.

Hauptkonto entfernen

  1. Klicken Sie auf die Schaltfläche zum Löschen des jeweiligen Hauptkontos.

Bedingung hinzufügen, um den Zugriff auf einen Agent einzuschränken

Wenn Sie ein Hauptkonto hinzufügen oder bearbeiten, können Sie eine IAM-Bedingung erstellen, die den Zugriff auf einen Agent einschränkt.

Beispiel:

{
    "expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
    "title": "For Dialogflow Agent AGENT_ID"
}

Mit dieser Bedingung erhalten Sie grundlegenden Zugriff auf einen bestimmten Agent. Zum Beispiel kann ein Dienstkonto mit dieser Bedingung nur die Dialogflow API aufrufen, um auf den Agent zuzugreifen, der in der Bedingung für das Projekt angegeben ist, jedoch nicht für andere Agents im Projekt.

So fügen Sie diese Bedingung einer Rolle hinzu, die einem Hauptkonto zugewiesen ist:

  1. Wählen Sie ein Hauptkonto aus.
  2. Klicken Sie auf die Schaltfläche zum Bearbeiten des jeweiligen Hauptkontos.
  3. Klicken Sie auf Bedingung hinzufügen.
  4. Geben Sie im Feld Titel For Dialogflow Agent AGENT_ID ein und ersetzen Sie "AGENT_ID" durch Ihre Agent-ID.
  5. Sie können auch eine beliebige Beschreibung hinzufügen.
  6. Wählen Sie den Bedingungseditor aus, um die Bedingung zu erstellen.
  7. Fügen Sie den Ausdruck resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID") hinzu und ersetzen Sie AGENT_ID durch Ihre Agent-ID und PROJECT_ID durch Ihre Projekt-ID.
  8. Klicken Sie auf Speichern.

IAM-Rollen

In der folgenden Tabelle sind alle IAM-Rollen aufgeführt, die für Dialogflow CX relevant sind. In der Zusammenfassung der Berechtigungen in der Tabelle werden die folgenden Begriffe verwendet:

  • Vollständiger Zugriff: Berechtigung zum Ändern des Zugriffs, zum Erstellen, Löschen, Bearbeiten und Lesen einer Ressource.
  • Bearbeitungszugriff: Berechtigung zum Erstellen, Löschen, Bearbeiten und Lesen einer Ressource.
  • Lesezugriff: Berechtigung zum Lesen einer Ressource.
IAM-Rolle Zusammenfassung der Berechtigungen Berechtigungsdetails
Projekt >
Inhaber
Für Projektinhaber, die vollen Zugriff auf alle Google Cloud- und Dialogflow-Ressourcen benötigen:
  • Vollständiger Zugriff auf alle Google Cloud-Projektressourcen über die Konsole oder APIs.
  • Uneingeschränkter Zugriff auf Agents über die Dialogflow-Konsole
  • Intent-Erkennung mithilfe der API
Siehe Einfache IAM-Rollendefinitionen.
Projekt >
Editor
Für Projektbearbeiter, die Bearbeitungszugriff auf alle Google Cloud- und Dialogflow-Ressourcen benötigen:
  • Bearbeitungszugriff auf alle Cloud-Projektressourcen über die Konsole oder APIs.
  • Bearbeitungszugriff auf Agents über die Dialogflow-Konsole
  • Intent-Erkennung mithilfe der API
Siehe Einfache IAM-Rollendefinitionen.
Projekt >
Betrachter
Gewähren Sie Projektbetrachtern Lesezugriff auf alle Google Cloud- und Dialogflow-Ressourcen:
  • Lesezugriff auf alle Cloud-Projektressourcen über die Konsole oder APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole
  • Keine Intent-Erkennung mithilfe der API
Siehe Einfache IAM-Rollendefinitionen.
Projekt >
IAM-Administrator
Für Projekt-IAM-Administratoren, die Bearbeitungszugriff auf die Konfiguration von Dialogflow-Agent-Rollen benötigen. Siehe Definitionen von IAM-Ressourcenmanager-Rollen.
Projekt >
Browser
Gewähren Sie Projektbrowsern, die Lesezugriff benötigen, um die Hierarchie eines Projekts zu durchsuchen, einschließlich des Ordners, der Organisation und der IAM-Richtlinie:
  • Lesezugriff auf die Cloud-Projekthierarchie
  • Kein Zugriff auf Agents über die Dialogflow-Konsole
  • Keine Intent-Erkennung mithilfe der API
Siehe Definitionen von IAM-Projektrollen.
Dialogflow >
Dialogflow API-Administrator
Gewähren Sie den Dialogflow API-Administratoren Zugriff, die vollen Zugriff auf Dialogflow-spezifische Ressourcen benötigen:
  • Vollständiger Zugriff auf alle Dialogflow-Ressourcen über die Konsole oder APIs.
  • Uneingeschränkter Zugriff auf Agents über die Dialogflow-Konsole
  • Intent-Erkennung mithilfe der API
Siehe IAM-Rollendefinitionen für Dialogflow.
Dialogflow >
Dialogflow API-Client
Gewähren Sie Dialogflow API-Clients, die Dialogflow-spezifische Änderungen vornehmen und Intent-Aufrufe mithilfe der API erkennen, Folgendes:
  • Kein Zugriff auf Dialogflow CX-Konsole.
  • Intent-Erkennung mithilfe der API
Siehe IAM-Rollendefinitionen für Dialogflow.
Dialogflow >
Agent-Bearbeiter in Dialogflow-Konsole
Erteilen Sie Bearbeitern der Dialogflow CX Console, die vorhandene Agents bearbeiten, Folgendes:
  • Vollständiger Zugriff auf alle Dialogflow-Ressourcen über die Konsole.
  • Bearbeitungszugriff auf die meisten Agent-Daten über die Dialogflow-Konsole
  • Intent-Erkennung mithilfe der API
Siehe IAM-Rollendefinitionen für Dialogflow.
Dialogflow >
Dialogflow API-Leser
Gewähren Sie Dialogflow API-Clients, die Dialogflow-spezifische schreibgeschützte Aufrufe über die API ausführen, Folgendes:
  • Lesezugriff auf alle Dialogflow-Ressourcen über die Konsole oder APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole
  • Keine Intent-Erkennung mithilfe der API
Siehe IAM-Rollendefinitionen für Dialogflow.

OAuth

Wenn Sie für den Zugriff auf Dialogflow Google-Clientbibliotheken verwenden, müssen Sie OAuth nicht direkt verwenden, da diese Bibliotheken die Implementierung für Sie übernehmen. Wenn Sie jedoch Ihren eigenen Client implementieren, müssen Sie möglicherweise einen eigenen OAuth-Ablauf implementieren. Für den Zugriff auf die Dialogflow API ist einer der folgenden OAuth-Bereiche erforderlich:

  • https://www.googleapis.com/auth/cloud-platform (Zugriff auf alle Projektressourcen)
  • https://www.googleapis.com/auth/dialogflow (Zugriff auf Dialogflow-Ressourcen)

Anfragen mit Zugriff auf Cloud Storage

Einige Dialogflow-Anfragen zum Zugriff auf Objekte in Cloud Storage zum Lesen oder Schreiben von Daten. Wenn Sie eine dieser Anfragen aufrufen, greift Dialogflow im Namen des Aufrufers auf die Cloud Storage-Daten zu. Das bedeutet, dass die Anfrageauthentifizierung Berechtigungen für den Zugriff auf Dialogflow sowie auf die Cloud Storage-Objekte haben muss.

Informationen zur Verwendung einer Google-Clientbibliothek und von IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung in Cloud Storage.

Wenn Sie einen eigenen Client implementieren und OAuth nutzen, müssen Sie den folgenden OAuth-Bereich verwenden:

  • https://www.googleapis.com/auth/cloud-platform (Zugriff auf alle Projektressourcen)