Zugriffssteuerung

Häufig arbeiten mehrere Teammitglieder zusammen, um einen Agent zu erstellen, und Dienste greifen auf den Agent zu. Mithilfe von Rollen können Sie den Zugriff und die Berechtigungen steuern, die Prinzipalen 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-Konsolesteuern.

Über die Dialogflow-Konsole können Sie dem Nutzer, der den Agent erstellt hat, die Rolle „Agent-Administrator“ zuweisen. Dieser Nutzer erhält automatisch die IAM-Rolle „Project Owner“ im Projekt, das mit dem Agent verknüpft ist.

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

In einigen Fällen müssen Sie die Google Cloud Konsole 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 Konsole verwenden.
  • Bei der Einbindung in andere Google Cloud Ressourcen, z. B. in Cloud Functions, und wenn Sie einer Anwendung nur einen eingeschränkten Projektzugriff gewähren möchten, müssen Sie die Dialogflow API-Rollen (Administrator, Client oder Leser) in der Google Cloud Konsole 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 Konsole verwenden.

Rollen

In der folgenden Tabelle sind häufig verwendete Rollen aufgeführt, die für Dialogflow relevant sind, die Korrelation zwischen den Rollen 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 einer beliebigen Ressource.
  • Bearbeitungszugriff: Berechtigung zum Erstellen, Löschen, Bearbeiten und Lesen einer beliebigen Ressource.
  • Sitzungszugriff: Berechtigung zum Aufrufen von Methoden für Ressourcen, die nur zur Laufzeit während einer Unterhaltung verwendet werden, z. B. zum Erkennen von Intents, Aktualisieren von Kontexten, Aktualisieren von Sitzungsentitäten oder für Unterhaltungsinteraktionen mit Agent Assist. Dieser Zugriff bietet eine Teilmenge der Berechtigungen, die bei vollständigem Zugriff und Bearbeitungszugriff verfügbar sind.
  • 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 Konsole oder APIs.
  • Vollständiger 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 Konsole 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 Konsole oder APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole oder API, Simulator kann nicht verwendet werden.
  • 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 vollständigen Zugriff auf Dialogflow-spezifische Ressourcen benötigen:
  • Vollständiger Zugriff auf alle Dialogflow-Ressourcen über die Google Cloud Konsole 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-Ressourcen zur Laufzeit ü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 Konsole.
  • 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 Konsole oder APIs.
  • Lesezugriff auf Agents über die Dialogflow-Konsole, Simulator kann nicht verwendet werden.
  • Keine Intent-Erkennung mithilfe der API
Siehe IAM-Rollendefinitionen für Dialogflow.

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

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

Nutzer oder Dienstkonto zum Projekt hinzufügen

Wenn Sie Nutzern oder Dienstkonten Berechtigungen zuweisen möchten können 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 Ihres Dienstkontos finden Sie auf der IAM Seite „Dienstkonten“ in der Google Cloud Konsole.

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 nicht angezeigt wird, haben Sie nicht die erforderliche Rolle „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 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 verwenden, erstellt Dialogflow automatisch einige Dienst-Agents.

Aktivieren Sie auf der IAM-Seite die Von Google bereitgestellte Rollenzuweisungen Option , um die Rollen aufzurufen, die diesen Dienst-Agents zugewiesen wurden.

Sie sollten für diese Dienst-Agents Schlüssel weder löschen, bearbeiten noch herunterladen und diese Dienst-Agents nie für direkte API-Aufrufe verwenden. Sie werden nur vom Dialogflow-Dienst verwendet, um eine Verbindung zu einer Reihe von Google Cloud Diensten herzustellen, die von Ihrem Agent verwendet werden. Bei der Konfiguration bestimmter Dialogflow-Funktionen müssen Sie möglicherweise per E-Mail auf diese Dienst-Agents verweisen.

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

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

Administratorrolle übertragen

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

Wenn der vorhandene Administrator nicht mehr in Ihrer Organisation arbeitet und Sie die Administratorrolle an 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 Berechtigungen zum Ändern des Agent-Administrators.
  • 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 verwenden, um auf Dialogflow zuzugreifen, 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, die den Zugriff auf Cloud Storage umfassen

Einige Dialogflow-Anfragen greifen auf Objekte in Cloud Storage zu, um Daten zu lesen oder zu schreiben. Wenn Sie eine dieser Anfragen aufrufen, greift Dialogflow im Namen des Aufrufers auf die Cloud Storage-Daten zu. Das bedeutet, dass Ihre 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 Informationen zu Cloud Storage-Rollen in der Anleitung zur Zugriffssteuerung für Cloud Storage.

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

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