Zugriffssteuerung

Häufig müssen mehrere Teammitglieder zusammenarbeiten, um einen Agent zu erstellen, und Dienste müssen auf den Agent zugreifen. Mithilfe von Rollen können Sie steuern, welchen Zugriff und welche Berechtigungen einzelnen Hauptkonten gewährt werden sollen.

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.

Die Dialogflow-Konsole stellt dem Nutzer, der das Projekt erstellt hat, die Rolle "Agent Admin" (Agent-Administrator) bereit. an den Agent. Dieser Nutzer erhält automatisch den IAM-Projektinhaber Rolle in dem mit dem Agent verknüpften Projekt.

Agent-Administratoren können dem Agent in der Dialogflow-Schnittstelle Entwickler und Prüfer hinzufügen. Konsole. Wenn die Rolle „Entwickler“ oder „Rezensent“ in der Dialogflow Console gewährt wird, erhält der Nutzer die Rolle „IAM-Projektbearbeiter“ bzw. „IAM-Projektbetrachter“. Alternativ können Sie dem Kundenservicemitarbeiter Entwickler und Prüfer hinzufügen, indem Sie Nutzern in der Google Cloud Console die entsprechenden IAM-Rollen „Project Editor“ oder „Project Viewer“ gewähren.

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

  • 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 mit anderen 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, die Korrelation zwischen den Rollen in der Dialogflow-Konsole und den IAM-Rollen sowie Details zu Berechtigungen.

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 beliebiger Ressourcen.
  • Bearbeitungszugriff: Berechtigung zum Erstellen, Löschen, Bearbeiten und Lesen beliebiger Ressourcen.
  • Sitzungszugriff: Berechtigung zum Aufrufen von Methoden für reine Laufzeitressourcen während einer Unterhaltung wie Intent erkennen, Kontext aktualisieren, Sitzungsentitäten aktualisieren oder Agent Assist-Unterhaltungen einbinden. Dieser Zugriff umfasst nur einen Teil der Berechtigungen des uneingeschränkten Zugriffs und des Bearbeitungszugriffs.
  • Lesezugriff: Berechtigung zum Lesen einer beliebigen 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 von einfachen 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 von einfachen 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, kann den Simulator nicht verwenden.
  • Keine Intent-Erkennung mithilfe der API
Siehe Definitionen von einfachen IAM-Rollen.
Projekt >
Browser
Für Projektbrowser, die Lesezugriff zum Einsehen der Hierarchie eines Projekts benötigen, 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
Für Dialogflow API-Administratoren, die uneingeschränkt 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 IAM-Rollendefinitionen für Dialogflow
Dialogflow >
Dialogflow API-Client
Für Dialogflow API-Clients, die Intent-Aufrufe mit der API erkennen:
  • 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 IAM-Rollendefinitionen für Dialogflow
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 IAM-Rollendefinitionen für Dialogflow
Dialogflow >
Dialogflow API-Leser
Für Dialogflow API-Clients, die Dialogflow-spezifische schreibgeschützte Aufrufe über die API ausführen:
  • Lesezugriff auf alle Dialogflow-Ressourcen über die Google Cloud Console oder APIs
  • Lesezugriff auf Agents über die Dialogflow-Konsole, kann den Simulator nicht verwenden.
  • Keine Intent-Erkennung mithilfe der API
Siehe IAM-Rollendefinitionen für Dialogflow

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.

Um auf die Einstellungen unten zuzugreifen, öffnen Sie das IAM in der Google Cloud Console.

Nutzer oder Dienstkonto zum Projekt hinzufügen

Sie können Berechtigungen für Nutzer oder Dienstkonten erteilen indem Sie ihnen Rollen in Ihrem 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 E-Mail-Adresse Ihres Dienstkontos finden Sie auf der IAM-Seite Dienstkonten in der Google Cloud Console.

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 „Kundenservicemitarbeiter-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 Add (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 mit ihm arbeiten, Dialogflow erstellt einige Dienst-Agents automatisch.

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

Sie sollten keine Schlüssel für diese Dienst-Agents löschen, bearbeiten oder herunterladen. noch sollten Sie diese Dienst-Agents 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. Bei der Konfiguration bestimmter Dialogflow-Funktionen müssen Sie möglicherweise per E-Mail auf diese Kundenservicemitarbeiter verweisen.

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, Der bestehende Administrator muss die Schritte oben ausführen, um einen neuen Administrator hinzuzufügen. Sobald der neue Administrator die gewährte Rolle akzeptiert, können Sie den alten Administrator entfernen.

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

  • Ein Administrator der Organisation, die mit dem Projekt des Kundenservicemitarbeiters verknüpft ist, hat Berechtigungen zum Ändern des Kundenservicemitarbeiters.
  • Wenn Sie Leseberechtigungen für den Agent haben, können Sie den Agent exportieren und in einen Agent importieren, für den 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 Ihren eigenen Client implementieren, müssen Sie möglicherweise auch Ihren eigenen OAuth-Vorgang 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 Zugriffsobjekte in Cloud Storage zum Lesen oder Schreiben von Daten. Wenn Sie eine dieser Anfragen aufrufen, greift Dialogflow im Namen des Anrufers auf die Cloud Storage-Daten zu. Das bedeutet, dass die Authentifizierung Ihrer Anfrage Berechtigungen für den Zugriff auf Dialogflow und die Cloud Storage-Objekte haben muss.

Wenn Sie eine Google-Clientbibliothek und IAM-Rollen verwenden, sieh dir die Anleitung für die Cloud Storage-Zugriffssteuerung finden Sie Informationen zu Cloud Storage-Rollen.

Wenn Sie Ihren eigenen Client implementieren und OAuth verwenden, müssen Sie den folgenden OAuth-Gültigkeitsbereich verwenden:

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