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 puissent y accéder. L'utilisation de rôles vous permet de contrôler les accès et les autorisations accordées aux comptes principaux.

Vous pouvez configurer l'accès à l'aide de la console Dialogflow CX (consulter la documentation, ouvrir la console) ou utiliser la console Google Cloud (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 permet d'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. Pour modifier 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 dans la console Dialogflow CX, vous devez utiliser la console Google Cloud.
  • Si vous créez un agent de data store avec l'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 :

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Cliquez sur Agent Settings (Paramètres de l'agent).
  5. Cliquez sur l'onglet Partager.

Ajouter un compte principal

  1. Cliquez sur Ajouter.
  2. Saisissez l'adresse e-mail de l'utilisateur, du groupe ou du compte de service.
  3. Sélectionnez User (Utilisateur), Group (Groupe) ou Service Account (Compte de service) pour le type d'adresse e-mail.
  4. 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.
  5. Cliquez sur Ajouter un rôle sous Attribuer des rôles.
  6. Sélectionnez un type de rôle sous Type.
  7. 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.
  8. Vous pouvez également définir la date d'expiration du rôle.
  9. Cliquez sur Enregistrer.

Modifier les rôles de compte principal

  1. Cliquez sur le compte principal dans la liste.
  2. Mettez à jour les rôles pour ce compte principal dans la fenêtre pop-up.
  3. Cliquez sur Enregistrer.

Supprimer un compte principal

  1. Recherchez le compte principal dans la liste.
  2. Cliquez sur le bouton Supprimer correspondant au compte principal.
  3. 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 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 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, consultez la page IAM Comptes de service dans la console Google Cloud.

Pour ajouter un compte principal, procédez comme suit :

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

Modifier les autorisations

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

Supprimer un compte principal

  1. 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 :

  1. Sélectionnez un compte principal.
  2. Cliquez sur le bouton Modifier correspondant au compte principal.
  3. Cliquez sur Ajouter une condition :
  4. Dans le champ Title (Titre), saisissez For Dialogflow Agent AGENT_ID et remplacez AGENT_ID par votre ID d'agent.
  5. Vous pouvez ajouter une description.
  6. Sélectionnez l'Éditeur de conditions pour créer votre condition.
  7. 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.
  8. Cliquez sur Enregistrer.

Rôles IAM

Le tableau suivant répertorie les rôles IAM courants pertinents pour Dialogflow CX. 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.
  • Accès en lecture : permet 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 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.
Consultez les 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 :
  • 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.
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.
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
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.
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 complet 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.
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.
Dialogflow >
Éditeur d'agent de la console Dialogflow
Autorise les éditeurs de la console Dialogflow CX qui modifient 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.
  • Possibilité de détecter l'intention en utilisant l'API.
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 :
  • 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.
Administrateur Discovery Engine Permet d'accorder l'accès aux utilisateurs qui créent des agents de data store avec l'interface utilisateur de Vertex AI Conversation. Consultez la section 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 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)