Contrôle des accès

Il est courant que plusieurs membres d'une équipe collaborassent à 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.

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 CX permet d'attribuer des rôles d'agent Conversational Agent (Dialogflow CX) aux comptes principaux. Les rôles d'agent Conversational Agents (Dialogflow CX) sont des rôles prédéfinis pratiques définis par Conversational Agents (Dialogflow CX) qui limitent l'accès à un agent ou aux ressources enfants d'un agent spécifique.

Dans certaines situations, 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 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 Conversational Agents (Dialogflow CX) 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 des agents de conversation (Dialogflow CX) 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 à 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 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 Comptes de service d'IAM 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 Conversational Agents (Dialogflow CX) 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 Agents conversationnels (Dialogflow CX) 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 Conversational Agents (Dialogflow CX) 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 applicables aux agents conversationnels (Dialogflow CX). 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.
  • 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
Accordez aux propriétaires de projet un accès complet à toutes les ressources Google Cloud et aux agents de conversation (Dialogflow CX) :
  • 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 CX.
  • Possibilité de détecter l'intention en utilisant l'API.
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 des agents conversationnels (Dialogflow CX) :
  • 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 CX.
  • Possibilité de détecter l'intention en utilisant l'API.
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 des agents conversationnels (Dialogflow CX) :
  • 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 CX. 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.
Projet >
Administrateur IAM
Accorde aux administrateurs IAM de projet qui ont besoin d'un accès en modification à la configuration des rôles d'agent des agents conversationnels (Dialogflow CX). 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 :
  • Accès en lecture à la hiérarchie des projets Google Cloud.
  • Aucun accès aux agents à l'aide de la console Dialogflow CX.
  • Impossible de détecter d'intent à l'aide de l'API.
Consultez la section Définitions des rôles de projet IAM.
Dialogflow >
Administrateur de l'API Dialogflow
Accorde aux administrateurs de l'API Conversational Agents (Dialogflow CX) qui ont besoin d'un accès complet aux ressources spécifiques à Conversational Agents (Dialogflow CX) :
  • Accès complet à toutes les ressources des agents conversationnels (Dialogflow CX) à l'aide de la console ou des API Google Cloud.
  • Accès complet aux agents à l'aide de la console Dialogflow CX.
  • 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 Conversational Agents (Dialogflow CX) à effectuer des appels de détection d'intent à l'aide de l'API :
  • Accès en session aux ressources d'exécution des agents conversationnels (Dialogflow CX) à l'aide du simulateur ou de l'API des agents conversationnels (Dialogflow CX).
  • Accès limité aux agents à l'aide de la console Dialogflow CX.
  • 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 CX
Autorise les éditeurs de la console Dialogflow CX à modifier les agents existants :
  • Accès complet à toutes les ressources des agents conversationnels (Dialogflow CX) à l'aide de la console Google Cloud.
  • Accès en écriture à la plupart des données d'agent à l'aide de la console Dialogflow CX.
  • 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 aux agents conversationnels (Dialogflow CX) à l'aide de l'API :
  • Accès en lecture à toutes les ressources des agents conversationnels (Dialogflow CX) à l'aide de la console ou des API Google Cloud.
  • Accès en lecture aux agents à l'aide de la console Dialogflow CX. 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.
Administrateur Discovery Engine Accordez-la aux utilisateurs qui créent des agents de data store avec l'interface utilisateur de Vertex AI Agents. Consultez la section Autres définitions de rôles.

OAuth

Si vous utilisez des bibliothèques clientes Google pour accéder aux agents conversationnels (Dialogflow CX), 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 Conversational Agents (Dialogflow CX) 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 des agents de conversation (Dialogflow CX))

Requêtes impliquant l'accès à Cloud Storage

Certains agents conversationnels (Dialogflow CX) demandent l'accès à des objets dans Cloud Storage pour lire ou écrire des données. Lorsque vous appelez l'une de ces requêtes, les agents conversationnels (Dialogflow CX) accèdent aux données Cloud Storage au nom de l'appelant. Cela signifie que l'authentification de votre requête doit disposer d'autorisations pour accéder aux agents conversationnels (Dialogflow CX) 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 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)

Contrôle des accès à la console de l'Agent Builder

Consultez le guide de contrôle des accès pour Vertex AI Agent Builder et Discovery Engine.

Rôles personnalisés pour l'accès à l'outil de playbook

Vous pouvez contrôler précisément l'accès aux outils de playbook à l'aide d'autorisations et de rôles personnalisés.

Pour lister les autorisations disponibles, accédez à l'outil de recherche d'autorisations et recherchez dialogflow.tools.

Vous pouvez utiliser ces autorisations pour créer des rôles personnalisés.