Il est courant que plusieurs membres d'une équipe collaborer à la création d'un agent et les services à accéder à l'agent. L'utilisation de rôles vous permet de contrôler les accès et les autorisations accordées aux principals.
Vous pouvez configurer l'accès à l'aide de la console Dialogflow CX (consulter la documentation, ouvrir la console) ou de Google Cloud Console (consulter la documentation, ouvrir la console) avec Identity and Access Management (IAM). La console Google Cloud permet d'attribuer des rôles IAM aux comptes principaux, tandis que la console Dialogflow sert à attribuer des rôles d'agent Dialogflow aux comptes principaux. Les rôles d'agent Dialogflow sont des rôles prédéfinis pratiques définis par Dialogflow qui limitent l'accès à un agent ou aux ressources enfants d'un agent spécifique.
Dans certains cas, vous devez utiliser la console Google Cloud:
- Le rôle de propriétaire de projet IAM est attribué par défaut à l'utilisateur qui a créé le projet et qui est propriétaire de l'agent. Ce propriétaire a un accès complet à tous les agents du projet. Si vous souhaitez changer le propriétaire du projet, vous devez utiliser la console Google Cloud.
- Seul l'accès au niveau de l'agent peut être configuré via la console Dialogflow CX. Si vous souhaitez configurer l'accès au niveau du projet, vous devez utiliser la console Google Cloud.
- Un sous-ensemble de rôles IAM possède les rôles d'agent Dialogflow correspondants. Si vous souhaitez attribuer un rôle au niveau du projet ou de l'agent qui n'existe pas sur la console Dialogflow CX, vous devez utiliser la console Google Cloud.
- Si vous créez un agent de data store avec le Interface utilisateur de Vertex AI Conversation, vous devez utiliser la console Google Cloud.
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.
Contrôler les accès à l'aide de la console Dialogflow CX
La console Dialogflow CX vous permet d'appliquer des rôles pratiques d'agent configurés pour le partage au niveau de l'agent. Ces rôles sont associés aux rôles IAM dotés de conditions IAM qui limitent l'accès à un agent spécifique ou à un sous-ensemble de ressources enfants de celui-ci.
Pour accéder à la configuration des rôles d'agent à partir de la console Dialogflow CX, vous devez disposer du rôle Administrateur de projet IAM pour le projet associé. Ce rôle est attribué à partir de la console Google Cloud.
Rôle d'agent Dialogflow | Résumé | Rôle IAM |
---|---|---|
Admin | Fournit un accès complet permettant de créer, mettre à jour, interroger et détecter l'intent, et supprimer l'agent de la console ou de l'API. | Dialogflow > Administrateur de l'API Dialogflow |
Reader | Fournit un accès en lecture pour interroger l'agent (et non détecter l'intent) à partir de la console ou de l'API. | Dialogflow > Lecteur de l'API Dialogflow |
Client | Permet de détecter un intent à partir de la console ou de l'API. | Dialogflow > Client de l'API Dialogflow |
Administrateur d'intents | Fournit un accès permettant de créer, mettre à jour, supprimer ou interroger les intents d'un agent à partir de la console ou de l'API. | Dialogflow > Administrateur d'intents Dialogflow |
Administrateur de type d'entité | Permet de créer, de mettre à jour, de supprimer ou d'interroger les types d'entités d'un agent à partir de la console ou de l'API. | Dialogflow > Administrateur de type d'entité Dialogflow |
Administrateur de webhook | Fournit un accès permettant de créer, mettre à jour, supprimer ou interroger les webhooks d'un agent à partir de la console ou de l'API. | Dialogflow > Administrateur de webhooks Dialogflow |
Administrateur de scénario de test | Permet de créer, de mettre à jour, de supprimer ou d'interroger les scénarios de test d'un agent à partir de la console ou de l'API. | Dialogflow > Administrateur du scénario de test Dialogflow |
Éditeur de flux | Fournit un accès permettant de mettre à jour, d'interroger un flux spécifique et de créer, mettre à jour, supprimer ou interroger les ressources de flux (pages, groupes de routes et versions) à partir de la console ou de l'API. | Dialogflow > Éditeur de flux Dialogflow |
Éditeur d'environnements | Fournit un accès permettant de mettre à jour, d'interroger un environnement spécifique et de créer, mettre à jour, supprimer ou interroger les ressources d'environnement (tests) à partir de la console ou de l'API. | Dialogflow > Éditeur d'environnement 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 :
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Cliquez sur Agent Settings (Paramètres de l'agent).
- Cliquez sur l'onglet Partager.
Ajouter un compte principal
- Cliquez sur Ajouter.
- Saisissez l'adresse e-mail de l'utilisateur, du groupe ou du compte de service.
- Sélectionnez User (Utilisateur), Group (Groupe) ou Service Account (Compte de service) pour le type d'adresse e-mail.
- Le rôle Lecteur Dialogflow est ajouté par défaut, ce qui est nécessaire pour que les utilisateurs puissent accéder à la console Dialogflow CX.
- Cliquez sur Ajouter un rôle sous Attribuer des rôles.
- Sélectionnez un type de rôle sous Type.
- Pour les rôles Éditeur de flux et Éditeur d'environnement, sélectionnez des flux ou des environnements spécifiques, ou conservez l'option Tous par défaut.
- Vous pouvez également définir la date d'expiration du rôle.
- Cliquez sur Enregistrer.
Modifier les rôles de compte principal
- Cliquez sur le compte principal dans la liste.
- Mettez à jour les rôles pour ce compte principal dans la fenêtre pop-up.
- Cliquez sur Enregistrer.
Supprimer un compte principal
- Recherchez le compte principal dans la liste.
- Cliquez sur le bouton Supprimer delete correspondant au compte principal.
- Cliquez sur OK.
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 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 comptes de service lorsque vous souhaitez utiliser un compte de service pour plusieurs projets. Pour trouver l'adresse e-mail associée à votre compte de service, procédez comme suit : consultez la documentation Comptes de service de la console Google Cloud.
Pour ajouter un compte principal, procédez comme suit :
- Cliquez sur le bouton Ajouter situé en haut de la page.
- Saisissez l'adresse e-mail du compte principal.
- Choisissez un rôle.
- Cliquez sur Enregistrer.
Modifier les autorisations
- Cliquez sur le bouton Modifier correspondant au compte principal.
- Sélectionnez un autre rôle.
- Cliquez sur Enregistrer.
Supprimer un compte principal
- Cliquez sur le bouton Supprimer correspondant au compte principal.
Ajouter une condition pour limiter l'accès à un agent
Lorsque vous ajoutez ou modifiez un compte principal, vous pouvez créer une condition IAM qui limite l'accès à un agent.
Exemple :
{
"expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
"title": "For Dialogflow Agent AGENT_ID"
}
Cette condition vous donne un accès de base à un agent spécifique. Par exemple, un compte de service avec cette condition ne peut appeler l'API Dialogflow que pour accéder à l'agent spécifié dans la condition du projet, mais pas aux autres agents du projet.
Pour ajouter cette condition à un rôle accordé à un compte principal, procédez comme suit :
- Sélectionnez un compte principal.
- Cliquez sur le bouton Modifier correspondant au compte principal.
- Cliquez sur Ajouter une condition :
- Dans le champ Title (Titre), saisissez
For Dialogflow Agent AGENT_ID
et remplacez AGENT_ID par votre ID d'agent. - Vous pouvez ajouter une description.
- Sélectionnez l'éditeur de conditions pour créer votre condition.
- Ajoutez l'expression
resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID")
en remplaçant AGENT_ID par votre ID d'agent et PROJECT_ID par votre ID de projet. - Cliquez sur Enregistrer.
Rôles IAM
Le tableau suivant répertorie les rôles IAM courants associés à Dialogflow CX. Les résumés des autorisations du tableau utilisent les termes suivants :
- Accès complet: Autorisation permettant de modifier l'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 au cours d'une conversation comme détection d'un intent, mise à jour du contexte, mise à jour des entités de session, ou avec Agent Assist.
- Accès en lecture: Autorisation de lire n'importe quelle ressource.
Rôle IAM | Résumé des autorisations | Détail des autorisations |
---|---|---|
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. |
Projet > Éditeur |
Accorde aux éditeurs de projet un accès en modification à toutes les ressources Google Cloud et Dialogflow :
|
Consultez la section Définitions des rôles de base IAM. |
Projet > Lecteur |
Accorde aux lecteurs de projet ayant besoin d'un accès en lecture à toutes les ressources Google Cloud et Dialogflow :
|
Consultez la section Définitions des rôles de base IAM. |
Projet > Administrateur IAM |
Accorde aux administrateurs de projet IAM un accès en modification à la configuration des rôles d'agent Dialogflow. | Consultez la section Définitions des rôles de gestionnaire de ressources IAM. |
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. |
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. |
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 :
|
Consultez les définitions des rôles IAM Dialogflow. |
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. |
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. |
Administrateur Discovery Engine | Accorder aux utilisateurs qui créent aux agents de data store Interface utilisateur des agents Vertex AI | Voir Autres définitions des rôles. |
OAuth
Si vous utilisez des bibliothèques clientes Google pour accéder à Dialogflow, vous n'avez pas besoin d'utiliser OAuth car ces bibliothèques gèrent l'implémentation à votre place. Toutefois, si vous mettez en œuvre 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 aux objets 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 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 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)