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 von Hauptkonten steuern.

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 weist dem Nutzer, der den Agent erstellt hat, die Rolle des Agent-Administrators (IAM-Projektinhaber) zu. 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 uneingeschränkten 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:

  • Uneingeschränkter 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. Erkennen des Intents, Aktualisieren des Kontexts, Aktualisieren von Sitzungsentitäten oder Agent Assist-Unterhaltungsinteraktionen. Dieser Zugriff umfasst eine Teilmenge der Berechtigungen mit uneingeschränktem Zugriff und Bearbeitungszugriff.
  • Lesezugriff: Berechtigung zum Lesen einer Ressource.
Rolle in Dialogflow-Konsole IAM-Rolle Zusammenfassung der Berechtigungen Berechtigungsdetails
Admin Projekt >
Inhaber
Für Projektinhaber, die uneingeschränkten 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, kann den Simulator nicht verwenden.
  • Keine Intent-Erkennung mithilfe der API
Siehe Definitionen grundlegender IAM-Rollen.
Projekt >
Browser
Für Projektbrowser, die Lesezugriff zum Durchsuchen der Hierarchie nach einem Projekt 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änkten 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 über die API Aufrufe zur Intent-Erkennung durchführen:
  • Sitzungszugriff auf Dialogflow-Laufzeitressourcen mit dem Dialogflow-Simulator oder der 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 über die API ausführen:
  • Lesezugriff auf alle Dialogflow-Ressourcen über die Google Cloud Console oder die APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole, kann den Simulator nicht verwenden.
  • 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 gewähren, 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 E-Mail-Adresse, die mit Ihrem Dienstkonto verknüpft ist, 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".

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 Ihren Agent erstellen und mit ihm arbeiten, erstellt Dialogflow automatisch einige von Google verwaltete Dienstkonten.

Aktivieren Sie auf der IAM-Seite die Option Von Google bereitgestellte Rollenzuweisungen, um diese Dienstkonten aufzurufen.

Sie sollten für diese Dienstkonten Schlüssel weder löschen, bearbeiten noch herunterladen, und sollten diese Dienstkonten nie 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 Dienstkonten verweisen.

Folgende Tabelle beschreibt einige dieser Dienstkonten:

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.

Administratorrolle übertragen

Damit die Administratorrolle eines Agents übertragen werden kann, muss der bestehende Administrator die oben aufgeführten Schritte zum Hinzufügen eines neuen Administrators ausführen. Sobald der neue Administrator die zugewiesene Rolle akzeptiert hat, kann der alte Administrator 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 mit dem Projekt des Agents verknüpft 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 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 Cloud Storage-Zugriff

Einige Dialogflow-Anfragen 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 Authentifizierung der Anfrage 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 Cloud Storage-Zugriffssteuerung Informationen zu Cloud Storage-Rollen.

Wenn Sie Ihren 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)