Il est courant que plusieurs membres d'une équipe collaborent à la création d'un agent et que des services accèdent à l'agent. Les rôles vous permettent de contrôler l'accès et les autorisations accordés 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.
La console Dialogflow fournit le rôle d'administrateur d'agent à l'utilisateur qui a créé l'agent. Cet utilisateur obtient automatiquement le rôle IAM "Propriétaire du projet" dans le projet associé à l'agent.
Les administrateurs d'agent peuvent ajouter des développeurs et des réviseurs à l'agent dans la console Dialogflow. Lorsque le rôle de développeur ou de réviseur est attribué dans la console Dialogflow, l'utilisateur obtient respectivement le rôle IAM d'éditeur de projet ou de lecteur de projet. Vous pouvez également ajouter des développeurs et des réviseurs à l'agent en accordant aux utilisateurs les rôles IAM d'éditeur de projet ou de lecteur de projet correspondants dans la console Google Cloud .
Dans certains cas, vous devez utiliser la console Google Cloud :
- Si vous souhaitez modifier l'administrateur, ajouter plusieurs administrateurs pour un agent ou supprimer des administrateurs pour un agent, 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 souhaitez pas accorder un accès complet au 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, la corrélation entre les rôles de la console Dialogflow et les rôles IAM, ainsi que des détails sur les autorisations.
Les résumés des autorisations du tableau utilisent les termes suivants :
- Accès complet : autorisation de modifier l'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 les ressources d'exécution uniquement pendant une conversation, comme la détection d'intentions, 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 l'accès complet et l'accès en 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 :
|
Consultez la section Définitions des rôles de base IAM. |
| Développeur | Projet > Éditeur |
Accorde aux éditeurs de projet un accès Éditeur à toutes les ressources Google Cloud et Dialogflow :
|
Consultez la section Définitions des rôles de base IAM. |
| Reviewer | Projet > Lecteur |
Accorde aux lecteurs du projet un accès en lecture à toutes les ressources Google Cloud et Dialogflow :
|
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 :
|
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 :
|
Consultez les définitions des rôles IAM Dialogflow. |
| ND | Dialogflow > Client API Dialogflow |
Autorise les clients de l'API Dialogflow à effectuer des appels de détection d'intention à l'aide de 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 :
|
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 :
|
Consultez les définitions des rôles IAM Dialogflow. |
Contrôler l'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 :
- Cliquez sur le bouton Ajouter situé en haut de la page.
- Saisissez l'adresse e-mail du membre.
- Choisissez un rôle.
- Cliquez sur Enregistrer.
Modifier les autorisations
- Cliquez sur le bouton Modifier correspondant au membre.
- Sélectionnez un autre rôle.
- Cliquez sur Save (Enregistrer).
Supprimer un membre
- 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 :
- Accédez à la console Dialogflow ES.
- Sélectionnez votre agent dans la partie supérieure du menu de la barre latérale gauche.
- Cliquez sur le bouton des paramètres à côté du nom de l'agent.
- Cliquez sur l'onglet Share (Partager). Si l'onglet Partager ne s'affiche pas, cela signifie que vous ne disposez pas du rôle d'administrateur d'agent requis.
Ajouter un utilisateur
- Saisissez l'adresse e-mail de l'utilisateur sous Invite New People (Inviter de nouvelles personnes).
- Choisissez un rôle.
- Cliquez sur Add (Ajouter).
- Cliquez sur Enregistrer.
Modifier les autorisations
- Recherchez l'utilisateur concerné dans la liste.
- Sélectionnez un autre rôle.
- Cliquez sur Enregistrer.
Supprimer un utilisateur
Recherchez l'utilisateur concerné dans la liste.
Cliquez sur le bouton Supprimer correspondant à l'utilisateur.
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 les clés de ces agents de service, ni les utiliser 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 nouvel 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 devez 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 dans un agent pour lequel 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 les bibliothèques clientes Google pour accéder à Dialogflow, vous n'avez pas besoin d'utiliser OAuth directement, 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 l'accès à Cloud Storage
Certaines requêtes Dialogflow accèdent aux 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 pour le compte de l'appelant. Cela signifie que l'authentification de votre requête doit disposer des autorisations nécessaires pour 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)