Zugriffssteuerung

Es ist üblich, dass mehrere Teammitglieder gemeinsam an der Erstellung eines Agents arbeiten und Dienste auf den Agent zugreifen. Mit Rollen können Sie den Zugriff und die Berechtigungen steuern, die Hauptkonten gewährt werden.

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.

Den Zugriff können Sie mit Identity and Access Management (IAM) oder der Dialogflow-Konsole steuern. In einigen Situationen müssen Sie die Google Cloud Console verwenden:

  • Die Dialogflow-Konsole gewährt dem Nutzer, der den Agent erstellt hat, die Rolle „Agent Admin“ (IAM-Projektinhaber). Wenn Sie den Administrator ändern, mehrere Administratoren für einen Agent hinzufügen oder Administratoren für einen Agent entfernen möchten, müssen Sie die Google Cloud Console verwenden.
  • Wenn Sie Integrationen in andere Google Cloud-Ressourcen wie Cloud Functions haben und einer Anwendung keinen vollständigen Projektzugriff gewähren möchten, müssen Sie die Dialogflow API-Rollen (Administrator, Client oder Leser) in der Google Cloud Console für IAM zuweisen.
  • Eine Teilmenge von IAM-Rollen verfügt über entsprechende Dialogflow-Konsole-Rollen. Wenn Sie eine Rolle zuweisen möchten, die in der Dialogflow-Konsole nicht vorhanden ist, müssen Sie die Google Cloud Console verwenden.

Rollen

In der folgenden Tabelle sind gängige Rollen aufgeführt, die für Dialogflow relevant sind. In der Zusammenfassung der Berechtigungen in der Tabelle werden die folgenden Begriffe verwendet:

  • Vollständiger Zugriff: Berechtigung zum Ändern des Zugriffs sowie zum Erstellen, Löschen, Bearbeiten und Lesen von Ressourcen.
  • Bearbeitungszugriff: Berechtigung zum Erstellen, Löschen, Bearbeiten und Lesen von Ressourcen.
  • Sitzungszugriff: Berechtigung zum Aufrufen von Methoden für reine Laufzeitressourcen während einer Unterhaltung, z. B. zum Erkennen von Intents, zum Aktualisieren des Kontexts, zum Aktualisieren von Sitzungsentitäten oder von Interaktionen mit Agent Assist. Dieser Zugriff umfasst nur einen Teil der Berechtigungen des uneingeschränkten Zugriffs und des Bearbeitungszugriffs.
  • Lesezugriff: Berechtigung zum Lesen einer Ressource.
Rolle in Dialogflow-Konsole IAM-Rolle Zusammenfassung der Berechtigungen Berechtigungsdetails
Admin Projekt >
Inhaber
Für Projektinhaber, die vollständigen Zugriff auf alle Google Cloud- und Dialogflow-Ressourcen benötigen:
  • Vollständiger Zugriff auf alle Google Cloud-Projektressourcen über die Google Cloud Console oder APIs.
  • Uneingeschränkter Zugriff auf Agents über die Dialogflow-Konsole
  • Intent-Erkennung mithilfe der API
  • Änderung der Agent-Edition in der Dialogflow-Konsole oder mithilfe der API
Siehe Definitionen grundlegender IAM-Rollen.
Entwickler Projekt >
Editor
Für Projektbearbeiter, die Bearbeitungszugriff auf alle Google Cloud- und Dialogflow-Ressourcen benötigen:
  • Bearbeitungszugriff auf alle Google Cloud-Projektressourcen über die Google Cloud Console oder APIs.
  • Bearbeitungszugriff auf Agents über die Dialogflow-Konsole
  • Intent-Erkennung mithilfe der API
Siehe Definitionen grundlegender IAM-Rollen.
Prüfer Projekt >
Betrachter
Für Projektbetrachter, die Lesezugriff auf alle Google Cloud- und Dialogflow-Ressourcen benötigen:
  • Lesezugriff auf alle Google Cloud-Projektressourcen über die Google Cloud Console oder APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole oder API, nicht mit dem Simulator.
  • Keine Intent-Erkennung mithilfe der API
Siehe Definitionen grundlegender IAM-Rollen.
Projekt >
Browser
Für Projektbrowser, die Lesezugriff benötigen, um die Hierarchie nach einem Projekt zu durchsuchen, einschließlich Ordner, Organisation und IAM-Richtlinie:
  • Lesezugriff auf die Google 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 Zugriff für Dialogflow API-Administratoren, die vollständigen Zugriff auf Dialogflow-spezifische Ressourcen benötigen:
  • Vollständiger Zugriff auf alle Dialogflow-Ressourcen über die Google Cloud Console oder APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole
  • Intent-Erkennung mithilfe der API
Siehe Definitionen von Dialogflow-IAM-Rollen.
Dialogflow >
Dialogflow API-Client
Für Dialogflow API-Clients, die Intent-Erkennungen mit der API ausführen, gewähren:
  • Sitzungszugriff auf Dialogflow-Laufzeitressourcen über den Dialogflow-Simulator oder die API.
  • Eingeschränkter Zugriff auf Agents über die Dialogflow-Konsole.
  • Intent-Erkennung mithilfe der API
Siehe Definitionen von Dialogflow-IAM-Rollen.
Dialogflow >
Agent-Bearbeiter in Dialogflow-Konsole
Für Bearbeiter der Dialogflow-Konsole, die vorhandene Agents bearbeiten:
  • Vollständiger Zugriff auf alle Dialogflow-Ressourcen über die Google Cloud Console.
  • Bearbeitungszugriff auf die meisten Agent-Daten über die Dialogflow-Konsole kein Zugriff auf den Inline-Editor zur Cloud Functions- oder Google Assistant-Integration
  • Intent-Erkennung mithilfe der API
Siehe Definitionen von Dialogflow-IAM-Rollen.
Dialogflow >
Dialogflow API-Leser
Für Dialogflow API-Clients, die Dialogflow-spezifische schreibgeschützte Aufrufe mit der API ausführen, gewähren:
  • Lesezugriff auf alle Dialogflow-Ressourcen über die Google Cloud Console oder APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole, nicht für den Simulator.
  • Keine Intent-Erkennung mithilfe der API
Siehe Definitionen von Dialogflow-IAM-Rollen.

Zugriff mit der Google Cloud Console 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.

Öffnen Sie in der Google Cloud Console die Seite IAM, um auf die folgenden Einstellungen zuzugreifen.

Nutzer oder Dienstkonto zum Projekt hinzufügen

Sie können Nutzern oder Dienstkonten Berechtigungen erteilen, indem Sie ihnen Rollen für Ihr Google 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 Dienstkonto-Mitgliedern ist erforderlich, wenn Sie ein Dienstkonto für mehrere Projekte und Agents verwenden möchten. Die mit dem Dienstkonto verknüpfte E-Mail-Adresse finden Sie in der Google Cloud Console auf der IAM-Seite Dienstkonten.

So fügen Sie ein Mitglied hinzu:

  1. Klicken Sie oben auf der Seite auf die Schaltfläche zum Hinzufügen eines Mitglieds.
  2. Geben Sie die E-Mail-Adresse des Mitglieds 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 Mitglieds.
  2. Wählen Sie eine andere Rolle aus.
  3. Klicken Sie auf Speichern.

Mitglied entfernen

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

Zugriffssteuerung mit der Dialogflow-Konsole

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

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Wählen Sie Ihren Agent im oberen Bereich der linken Seitenleiste aus.
  3. Klicken Sie neben dem Namen des Agents auf die Schaltfläche für die Einstellungen.
  4. Klicken Sie auf den Tab Share (Freigeben). Wenn der Tab Share (Freigeben) nicht angezeigt wird, haben Sie nicht die erforderliche Rolle „Agent Admin“ (Agent-Administrator).

Der Tab "Teilen" zeigt und deren Zugriffsebene an.

Nutzer hinzufügen

  1. Geben Sie unter Invite New People (Weitere Personen einladen) die E-Mail-Adresse des Nutzers ein.
  2. Wählen Sie eine Rolle aus.
  3. Klicken Sie auf Hinzufügen.
  4. Klicken Sie auf Speichern.

Berechtigungen ändern

  1. Suchen Sie den Nutzer in der Liste.
  2. Wählen Sie eine andere Rolle aus.
  3. Klicken Sie auf Speichern.

Nutzer entfernen

  1. Suchen Sie den Nutzer in der Liste.

  2. Klicken Sie auf die Schaltfläche zum Löschen des jeweiligen Nutzers.

  3. Klicken Sie auf Speichern.

Automatisch erstellte Dienstkonten

Wenn Sie einen Agent erstellen und damit arbeiten, erstellt Dialogflow automatisch einige Dienst-Agents.

Wenn Sie die diesen Dienst-Agents gewährten Rollen sehen möchten, aktivieren Sie auf der IAM-Seite die Option Von Google bereitgestellte Rollenzuweisungen einbeziehen.

Sie sollten keine Schlüssel für diese Dienst-Agents löschen, bearbeiten oder herunterladen und sie auch nicht für direkte API-Aufrufe verwenden. Sie werden nur vom Dialogflow-Dienst verwendet, um eine Verbindung zu einer Reihe von Ihrem Agent verwendeten Google Cloud-Diensten herzustellen. Möglicherweise müssen Sie sich bei der Konfiguration bestimmter Dialogflow-Features per E-Mail an diese Dienst-Agents wenden.

In der folgenden Tabelle werden einige dieser Dienst-Agents beschrieben:

IAM-E-Mail-Formular Zweck
service-project-number
@gcp-sa-dialogflow.iam.gserviceaccount.com
Wird verwendet, um den Agent mit den Diensten zu verbinden, die den Integrationstraffic verarbeiten.
firebase-adminsdk-alphanum
@project-id.iam.gserviceaccount.com
Wird verwendet, um den Agent mit den Diensten zu verbinden, die den Google Assistant-Integrationstraffic verarbeiten.
project-id
@appspot.gserviceaccount.com
Wird verwendet, um den Agent mit den Diensten zu verbinden, die den Google Assistant-Integrationstraffic verarbeiten.

Rolle „Administrator übertragen“

Um die Administratorrolle eines Agents zu übertragen, muss der vorhandene Administrator die oben genannten Schritte ausführen, um einen neuen Administrator hinzuzufügen. Sobald der neue Administrator die zugewiesene Rolle akzeptiert, kann der alte Administrator wieder entfernt werden.

Wenn der vorhandene Administrator nicht mehr in Ihrer Organisation arbeitet und Sie die Administratorrolle auf einen anderen Mitarbeiter übertragen möchten, haben Sie zwei Möglichkeiten:

  • Ein Administrator der Organisation, die dem Projekt des Agents zugeordnet ist, hat die Berechtigung, den Agent-Administrator zu ändern.
  • Wenn Sie Leseberechtigungen für den Agent haben, können Sie den Agent exportieren und in einen Agent importieren, bei dem der gewünschte Mitarbeiter Administrator ist. Dies kann zu Ausfallzeiten bei einem Agent in der Live-Produktion führen, während der Agent migriert und Integrationen aktualisiert werden.

OAuth

Wenn Sie Google-Clientbibliotheken für den Zugriff auf Dialogflow verwenden, müssen Sie OAuth nicht direkt verwenden, da diese Bibliotheken die Implementierung für Sie übernehmen. Wenn Sie jedoch einen 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 fordern Zugriff auf Objekte in Cloud Storage zum Lesen oder Schreiben von Daten an. 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 und die Cloud Storage-Objekte haben muss.

Wenn Sie eine Google-Clientbibliothek und IAM-Rollen verwenden, finden Sie in der Anleitung zur Zugriffssteuerung in Cloud Storage Informationen zu Cloud Storage-Rollen.

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

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