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 principals.

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.

La console Dialogflow attribue le rôle "Agent Admin" (Agent Admin) à l'utilisateur qui a créé l'agent. Cet utilisateur reçoit automatiquement le rôle de propriétaire de projet IAM dans le projet associé à l'agent.

Les administrateurs de l'agent peuvent ajouter des développeurs et des réviseurs à l'agent dans la console Dialogflow. Lorsque le rôle de développeur ou d'examinateur est attribué dans la console Dialogflow, l'utilisateur reçoit le rôle d'éditeur de projet IAM ou de lecteur de projet IAM, respectivement. Pour ajouter des développeurs et des réviseurs à l'agent, vous pouvez également attribuer aux utilisateurs les rôles IAM Project Editor ou IAM Project Viewer correspondants dans la console Google Cloud.

Dans certaines situations, vous devez utiliser la console Google Cloud:

  • 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 utilisez des intégrations avec d'autres ressources Google Cloud, telles que Cloud Functions, et que vous ne souhaitez pas accorder l'accès complet du projet à une application, vous devez attribuer les rôles API Dialogflow (Admin, Client ou Reader) 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 pertinents pour Dialogflow, la corrélation entre les rôles de la console Dialogflow et les rôles IAM, ainsi que des informations sur les autorisations.

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.
  • Accès en modification : autorisation de créer, supprimer, modifier et lire n'importe quelle ressource.
  • Accès à la session : autorisation d'appeler des méthodes pour des 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 disponibles avec les accès complet et "Modifier".
  • 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
Autorise les clients de l'API Dialogflow à effectuer des appels de détection d'intent à l'aide de l'API :
  • Accès en session aux ressources Dialogflow 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 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 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 les supprimer, les modifier ni les télécharger pour l'un de ces agents de service, ni 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 faire référence à ces agents de service par e-mail lors de 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 accordé, vous pouvez supprimer l'ancien administrateur 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 vers 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 en 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 l'authentification de votre requête doit disposer des autorisations nécessaires pour accéder à Dialogflow et 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 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)