Contrôle des accès

Il est courant que plusieurs membres d'une équipe collaborent à la création d'un agent. L'utilisation de rôles vous permet de contrôler les accès et les autorisations accordées aux membres de l'équipe.

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 Cloud IAM (Cloud Identity and Access Management). Cloud Console 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 certaines situations, vous devez utiliser Google Cloud Console :

  • 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 Cloud Console.
  • 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 Cloud Console.
  • 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 Cloud Console.

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 Google Cloud Console.

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 GCP.
  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ôle des accès à l'aide de Cloud Console

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 Cloud Console.

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 Cloud. Vous pouvez ajouter des utilisateurs en fournissant leur adresse email. 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 Cloud Console.

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 tous les rôles IAM pertinents pour 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 une ressource.
  • Modifier l'accès : autorisation de créer, supprimer, modifier et lire une ressource.
  • Accès en lecture : autorisation de lire une 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 :
  • Accès complet à toutes les ressources du projet Google Cloud à l'aide de Cloud Console 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 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 :
  • Accès en modification à toutes les ressources du projet Cloud à l'aide de Cloud Console ou d'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.
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 Cloud à l'aide de Cloud Console ou d'API.
  • Accès en lecture 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 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 :
  • Accès en lecture à la hiérarchie des projets 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.
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 Cloud Console 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 modifications spécifiques à Dialogflow et des appels de détection d'intent à l'aide de l'API :
  • Aucun accès à 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
Autorise les éditeurs de la console Dialogflow à modifier les agents existants :
  • Accès complet à toutes les ressources Dialogflow à l'aide de Cloud Console.
  • 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 Cloud Console ou des API.
  • Accès en lecture 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 IAM Dialogflow.