Contrôle des accès

Il est courant que plusieurs membres d'une équipe collaborent à la création d'un agent et que les services y accèdent. L'utilisation de rôles vous permet de contrôler les accès et les autorisations accordées aux comptes principaux.

Si vous utilisez l'API, une ou plusieurs applications peuvent envoyer des requêtes à un agent. Dans ce cas, vous pouvez contrôler les accès à l'aide des comptes de service.

Vous pouvez contrôler les accès à l'aide de la gestion de l'authentification et des accès (IAM) ou de la console Dialogflow. Dans certains cas, vous devez utiliser la console Google Cloud:

  • La console Dialogflow attribue le rôle d'administrateur d'agent (propriétaire du projet IAM) à l'utilisateur qui a créé l'agent. Si vous souhaitez modifier l'administrateur, ajouter plusieurs administrateurs pour un agent ou supprimer les administrateurs d'un agent, vous devez utiliser la console Google Cloud.
  • Si vous disposez d'intégrations avec d'autres ressources Google Cloud, telles que Cloud Functions, et que vous ne souhaitez pas accorder l'accès complet au projet à une application, vous devez attribuer des rôles IAM à l'API Dialogflow (Administrateur, Client ou Lecteur) dans la console Google Cloud.
  • Un sous-ensemble de rôles IAM possède les rôles correspondants dans la console Dialogflow. Si vous souhaitez accorder un rôle qui n'existe pas dans la console Dialogflow, vous devez utiliser la console Google Cloud.

Rôles

Le tableau suivant répertorie les rôles courants associés à Dialogflow. Les résumés des autorisations du tableau utilisent les termes suivants :

  • Accès complet : permet de modifier l'accès, de créer, de supprimer, de modifier et de lire toute ressource.
  • Accès en modification : permet de créer, supprimer, modifier et lire n'importe quelle ressource.
  • Accès à la session : permet d'appeler des méthodes pour les ressources uniquement en environnement d'exécution lors d'une conversation, comme la détection d'intent, la mise à jour du contexte, la mise à jour des entités de session ou les interactions de conversation Agent Assist. Cet accès fournit un sous-ensemble d'autorisations disponibles avec un accès complet et un accès en modification.
  • Accès en lecture : permet de lire n'importe quelle ressource.
Rôle dans la console Dialogflow Rôle IAM Résumé des autorisations Détail des autorisations
Admin Projet >
Propriétaire
Accorde aux propriétaires de projet qui ont besoin d'un accès complet à toutes les ressources Google Cloud et Dialogflow :
  • Accès complet à toutes les ressources du projet Google Cloud à l'aide de la console Google Cloud ou des API.
  • Accès complet aux agents à l'aide de la console Dialogflow.
  • Possibilité de détecter l'intention en utilisant l'API.
  • Possibilité de modifier l'édition de l'agent dans la console Dialogflow ou à l'aide de l'API.
Consultez les définitions des rôles de base IAM.
Développeur Projet >
Éditeur
Accorde aux éditeurs de projet un accès en modification à toutes les ressources Google Cloud et Dialogflow :
  • Accès en modification à toutes les ressources du projet Google Cloud à l'aide de la console Google Cloud ou des API.
  • Accès en modification aux agents à l'aide de la console Dialogflow.
  • Possibilité de détecter l'intention en utilisant l'API.
Consultez les définitions des rôles de base IAM.
Reviewer Projet >
Lecteur
Accorde aux lecteurs de projet un accès en lecture à toutes les ressources Google Cloud et Dialogflow :
  • Accès en lecture à toutes les ressources du projet Google Cloud à l'aide de la console Google Cloud ou des API.
  • Accès en lecture aux agents qui utilisent la console ou l'API Dialogflow, ne peut pas utiliser le simulateur.
  • Impossible de détecter d'intent à l'aide de l'API.
Consultez les définitions des rôles de base IAM.
Non disponible Projet >
Navigateur
Accordez aux navigateurs de projet un accès en lecture pour parcourir la hiérarchie d'un projet, y compris le dossier, l'organisation et la stratégie IAM :
  • Accès en lecture à la hiérarchie des projets Google Cloud.
  • Aucun accès aux agents à l'aide de la console Dialogflow.
  • Impossible de détecter d'intent à l'aide de l'API.
Consultez les définitions des rôles de projet IAM.
Non disponible Dialogflow >
Administrateur de l'API Dialogflow
Accorde aux administrateurs de l'API Dialogflow qui ont besoin d'un accès complet aux ressources spécifiques à Dialogflow :
  • Accès complet à toutes les ressources Dialogflow à l'aide de la console Google Cloud ou des API.
  • Accès en lecture aux agents à l'aide de la console Dialogflow.
  • Possibilité de détecter l'intention en utilisant l'API.
Consultez les définitions des rôles IAM Dialogflow.
Non disponible Dialogflow >
Client de l'API Dialogflow
Autorise les clients de l'API Dialogflow à effectuer des appels de détection d'intent à l'aide de l'API :
  • Accès par session aux ressources Dialogflow d'exécution à l'aide du simulateur ou de l'API Dialogflow.
  • Accès limité aux agents qui utilisent la console Dialogflow.
  • Possibilité de détecter l'intention en utilisant l'API.
Consultez les définitions des rôles IAM Dialogflow.
Non disponible Dialogflow >
Éditeur d'agent de la console Dialogflow
Autorise les éditeurs de la console Dialogflow à modifier les agents existants :
  • Accès complet à toutes les ressources Dialogflow à l'aide de la console Google Cloud.
  • Accès en écriture à la plupart des données d'agent à l'aide de la console Dialogflow. Impossible d'accéder à Inline Editor pour Cloud Functions ou à l'intégration de Google Assistant.
  • Possibilité de détecter l'intention en utilisant l'API.
Consultez les définitions des rôles IAM Dialogflow.
Non disponible Dialogflow >
Lecteur de l'API Dialogflow
Autorise les clients de l'API Dialogflow à effectuer des appels en lecture seule spécifiques à Dialogflow à l'aide de l'API :
  • Accès en lecture à toutes les ressources Dialogflow à l'aide de la console Google Cloud ou des API.
  • Accès en lecture aux agents qui utilisent la console Dialogflow, ne peut pas utiliser le simulateur.
  • Impossible de détecter d'intent à l'aide de l'API.
Consultez les définitions des rôles IAM Dialogflow.

Contrôler les accès avec la console Google Cloud

Vous pouvez contrôler les accès à l'aide des paramètres IAM. Consultez le guide de démarrage rapide IAM pour obtenir des instructions détaillées sur l'ajout, la modification et la suppression des autorisations.

Pour accéder aux paramètres ci-dessous, ouvrez la page IAM dans la console Google Cloud.

Ajouter un utilisateur ou un compte de service au projet

Vous pouvez accorder des autorisations à des utilisateurs ou à des comptes de service en leur attribuant des rôles sur votre projet Google Cloud. Vous pouvez ajouter des utilisateurs en fournissant leur adresse e-mail. Vous pouvez également ajouter des comptes de service en fournissant leur adresse e-mail associée. Vous devez ajouter des membres de compte de service lorsque vous souhaitez utiliser un compte de service pour plusieurs projets et agents. Pour trouver l'adresse e-mail associée à votre compte de service, consultez la page Comptes de service IAM dans la console Google Cloud.

Pour ajouter un membre, procédez comme suit :

  1. Cliquez sur le bouton Ajouter situé en haut de la page.
  2. Saisissez l'adresse e-mail du membre.
  3. Choisissez un rôle.
  4. Cliquez sur Enregistrer.

Modifier les autorisations

  1. Cliquez sur le bouton Modifier correspondant au membre.
  2. Sélectionnez un autre rôle.
  3. Cliquez sur Enregistrer.

Supprimer un membre

  1. Cliquez sur le bouton Supprimer correspondant au membre.

Contrôle des accès à l'aide de la console Dialogflow

Les options de partage se trouvent dans les paramètres de l'agent. Pour ouvrir les paramètres de partage de l'agent, procédez comme suit :

  1. Accédez à la console Dialogflow ES.
  2. Sélectionnez votre agent dans la partie supérieure du menu de la barre latérale gauche.
  3. Cliquez sur le bouton des paramètres à côté du nom de l'agent.
  4. Cliquez sur l'onglet Share (Partager). Si vous ne voyez pas l'onglet Share (Partager), c'est que vous ne disposez pas du rôle d'administrateur d'agent requis.

Onglet "Partager" affichant les utilisateurs et leur niveau d'accès.

Ajouter un utilisateur

  1. Saisissez l'adresse e-mail de l'utilisateur sous Invite New People (Inviter de nouvelles personnes).
  2. Choisissez un rôle.
  3. Cliquez sur Ajouter.
  4. Cliquez sur Enregistrer.

Modifier les autorisations

  1. Recherchez l'utilisateur concerné dans la liste.
  2. Sélectionnez un autre rôle.
  3. Cliquez sur Enregistrer.

Supprimer un utilisateur

  1. Recherchez l'utilisateur concerné dans la liste.

  2. Cliquez sur le bouton Supprimer correspondant à l'utilisateur.

  3. Cliquez sur Enregistrer.

Comptes de service créés automatiquement

Lorsque vous créez et utilisez votre agent, Dialogflow crée automatiquement des comptes de service gérés par Google.

Pour afficher ces comptes de service, activez l'option Inclure les attributions de rôles fournies par Google sur la page IAM.

Vous ne devez pas les supprimer, les modifier ni les télécharger pour l'un de ces comptes de service, ni utiliser ces comptes de service pour effectuer des appels d'API directs. Ils ne sont utilisés que par le service Dialogflow pour se connecter à divers services Google Cloud utilisés par votre agent. Vous devrez peut-être faire référence à ces comptes de service par e-mail lors de la configuration de certaines fonctionnalités de Dialogflow.

Le tableau suivant décrit certains de ces comptes de service :

Formulaire par e-mail IAM Usage
service-project-number
@gcp-sa-dialogflow.iam.gserviceaccount.com
Utilisé pour connecter votre agent aux services qui gèrent le trafic d'intégration.
firebase-adminsdk-alphanum
@project-id.iam.gserviceaccount.com
Utilisé pour connecter votre agent aux services qui gèrent le trafic d'intégration de l'Assistant Google.
project-id
@appspot.gserviceaccount.com
Utilisé pour connecter votre agent aux services qui gèrent le trafic d'intégration de l'Assistant Google.

Transférer le rôle d'administrateur

Pour transférer le rôle d'administrateur d'un agent, l'administrateur existant doit suivre la procédure ci-dessus pour ajouter un nouvel administrateur. Une fois que le nouvel administrateur a accepté le rôle attribué, vous pouvez supprimer l'ancien en toute sécurité.

Si l'administrateur existant ne travaille plus dans votre organisation et que vous souhaitez transférer le rôle d'administrateur à un autre employé, deux options s'offrent à vous:

  • Un administrateur de l'organisation associée au projet de l'agent est autorisé à modifier l'administrateur de l'agent.
  • Si vous disposez d'autorisations de lecture pour l'agent, vous pouvez l'exporter et l'importer vers un agent dont l'employé souhaité est administrateur. Pour un agent actif en production, cela peut entraîner un temps d'arrêt pendant la migration de l'agent et la mise à jour des intégrations.

OAuth

Si vous utilisez des bibliothèques clientes Google pour accéder à Dialogflow, vous n'avez pas besoin d'utiliser directement OAuth, car ces bibliothèques gèrent l'implémentation à votre place. Toutefois, si vous implémentez votre propre client, vous devrez peut-être implémenter votre propre flux OAuth. L'accès à l'API Dialogflow nécessite l'un des champs d'application OAuth suivants:

  • https://www.googleapis.com/auth/cloud-platform (accès à toutes les ressources du projet)
  • https://www.googleapis.com/auth/dialogflow (accès aux ressources Dialogflow)

Requêtes impliquant un accès à Cloud Storage

Certains Dialogflow demandent l'accès à des objets dans Cloud Storage pour la lecture ou l'écriture de données. Lorsque vous appelez l'une de ces requêtes, Dialogflow accède aux données Cloud Storage pour le compte de l'appelant. Cela signifie que l'authentification des requêtes doit être autorisée à accéder à Dialogflow ainsi qu'aux objets Cloud Storage.

Lorsque vous utilisez une bibliothèque cliente Google et des rôles IAM, consultez le guide du contrôle des accès Cloud Storage pour en savoir plus sur les rôles Cloud Storage.

Lorsque vous implémentez votre propre client et utilisez OAuth, vous devez utiliser le champ d'application OAuth suivant:

  • https://www.googleapis.com/auth/cloud-platform (accès à toutes les ressources du projet)