Contrôle des accès

Il est courant que plusieurs membres d'une équipe collaborent à la création d'un agent et que des services y aient accès. L'utilisation de rôles vous permet de contrôler les accès et les autorisations accordées aux 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 Administrateur de l'agent (propriétaire de projet IAM) à l'utilisateur qui a créé l'agent. Si vous souhaitez modifier l'administrateur, ajouter plusieurs administrateurs pour un agent ou supprimer des administrateurs, vous devez utiliser la console Google Cloud.
  • Si vous avez des intégrations avec d'autres ressources Google Cloud, comme Cloud Functions, et que vous ne voulez pas accorder l'accès complet du projet à une application, vous devez attribuer les rôles de l'API Dialogflow (administrateur, client ou lecteur) dans la console Google Cloud pour IAM.
  • Un sous-ensemble de rôles IAM possède les rôles correspondants dans la console Dialogflow. Si vous souhaitez attribuer 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 : autorisation de modifier les accès, de créer, de supprimer, de modifier et de lire n'importe quelle ressource.
  • Modification autorisée: Permet de créer, supprimer, modifier et lire n'importe quelle ressource.
  • Accès à la session : autorisation d'appeler des méthodes pour les ressources d'exécution uniquement 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 des autorisations d'accès complet et de modification.
  • Accès en lecture : autorisation 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 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 la section 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 la section Définitions des rôles de base IAM.
Reviewer Projet >
Lecteur
Accorde aux lecteurs de projet ayant besoin d'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 à l'aide de la console ou de l'API Dialogflow. Ne peut pas utiliser le simulateur.
  • Impossible de détecter d'intent à l'aide de l'API.
Consultez la section Définitions des rôles de base IAM.
ND Projet >
Navigateur
Accorde 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 la section Définitions des rôles de projet IAM.
ND Dialogflow >
Administrateur de l'API Dialogflow
Accorde aux administrateurs de l'API Dialogflow 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.
ND Dialogflow >
Client de l'API Dialogflow
Autorisation accordée aux clients de l'API Dialogflow qui effectuent des appels de détection d'intent à l'aide de l'API:
  • Accès de session aux ressources Dialogflow en cours d'exécution à l'aide du simulateur ou de l'API Dialogflow.
  • Accès limité 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.
ND 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.
ND 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 à l'aide de la console Dialogflow. Vous ne pouvez 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 à l'aide de 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 le IAM de 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 d'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 Save (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 disposez pas du rôle Administrateur de l'agent, l'onglet Partager n'est pas visible.

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 Add (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 agents de service.

Pour afficher les rôles attribués à ces agents de service, activez l'option Inclure les attributions de rôles fournies par Google sur la page IAM.

Vous ne devez pas supprimer, modifier ni télécharger de clés pour ces agents de service, Vous ne devez pas non plus utiliser ces agents 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 vous adresser à ces agents de service par e-mail lorsque la configuration de certaines fonctionnalités de Dialogflow.

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

Formulaire par e-mail IAM Objectif
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 les étapes ci-dessus pour ajouter un administrateur. Une fois que le nouvel administrateur a accepté le rôle attribué, vous pouvez supprimer l'ancien administrateur en toute sécurité.

Si l'administrateur existant ne travaille plus dans votre organisation, et que vous avez besoin que le rôle d’administrateur soit transféré à un autre employé, vous avez deux possibilités:

  • Un administrateur du organisation associé au projet de l'agent est autorisé à modifier l'administrateur de l'agent.
  • Si vous avez des autorisations de lecture pour l'agent, vous pouvez exporter l'agent et l'importer dans 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 pour vous. 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

Certaines requêtes Dialogflow accèdent à des objets dans Cloud Storage pour lire ou écrire des données. Lorsque vous appelez l'une de ces requêtes, Dialogflow accède aux données Cloud Storage au nom de l'appelant. Cela signifie que votre requête d'authentification doit disposer d'autorisations pour accéder à Dialogflow et aux objets Cloud Storage.

Lorsque vous utilisez une bibliothèque cliente Google et des rôles IAM, consultez les 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 que vous 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)