Control de acceso

Es habitual que varios miembros de un equipo colaboren en la creación de un agente y que los servicios accedan al agente. Con los roles, puedes controlar el acceso y los permisos concedidos a los principales.

Puedes configurar el acceso mediante la consola de Conversational Agents o la consola de Google Cloud (consulta la documentación y abre la consola) con Gestión de Identidades y Accesos (IAM). La consola de Google Cloud se usa para conceder roles de IAM a las entidades, mientras que la consola de Conversational Agents se usa para conceder roles de agente de Conversational Agents (Dialogflow CX) a las entidades. Los roles de agente de Conversational Agents (Dialogflow CX) son roles predefinidos que ofrece Conversational Agents (Dialogflow CX) y que restringen el acceso a un agente o a los recursos secundarios de un agente específico.

Hay algunas situaciones en las que debes usar la Google Cloud consola:

  • El rol de propietario del proyecto de gestión de identidades y accesos se concede de forma predeterminada al usuario que creó el proyecto propietario del agente. Este propietario tiene acceso completo a todos los agentes del proyecto. Si quieres cambiar el propietario del proyecto, debes usar la consola Google Cloud .
  • Solo se puede configurar el acceso a nivel de agente a través de la consola de Dialogflow CX. Si quieres configurar el acceso a nivel de proyecto, debes usar la Google Cloud consola.
  • Un subconjunto de roles de gestión de identidades y accesos tienen roles de agente de Conversational Agents (Dialogflow CX) correspondientes. Si quieres asignar un rol a nivel de proyecto o de agente que no exista en la consola de Dialogflow CX, debes usar la Google Cloud consola.
  • Si vas a crear un agente de almacén de datos con la interfaz de usuario de Vertex AI Conversation, debes usar la Google Cloud consola.

Si usas la API, también puedes tener una o varias aplicaciones que envíen solicitudes a un agente. En este caso, puedes controlar el acceso con cuentas de servicio.

Controlar el acceso con la consola Conversational Agents

La consola Conversational Agents te permite aplicar roles de agente configurados para compartir a nivel de agente. Estos roles se corresponden con roles de gestión de identidades y accesos con condiciones de gestión de identidades y accesos que limitan el acceso al agente específico o a un subconjunto de recursos secundarios del agente.

Para acceder a la configuración de los roles de agente desde la consola Agentes conversacionales, debes tener asignado el rol de administrador de gestión de identidades y accesos del proyecto asociado. Este rol se concede desde la Google Cloud consola.

Rol de agente de Conversational Agents (Dialogflow CX) Resumen Rol de IAM
Lector conversacional Proporciona acceso de lectura para consultar (no detectar la intención) el agente desde la consola o la API. Dialogflow > Lector de la API de Dialogflow
Administrador de conversaciones Proporciona acceso completo para crear, actualizar, consultar, detectar intenciones y eliminar el agente desde la consola o la API. Dialogflow > Administrador de la API de Dialogflow
Conversational Client Proporciona acceso para detectar la intención desde la consola o la API. Dialogflow > Cliente de la API de Dialogflow
Agente de servicio Consulta Agentes de servicio. Consulta Agentes de servicio.
Editor de flujos Proporciona acceso para actualizar y consultar un flujo específico, así como para crear, actualizar, eliminar o consultar los recursos de flujo (páginas, grupos de rutas y versiones) desde la consola o la API. Dialogflow > Editor de flujos de Dialogflow
Editor de entorno Proporciona acceso para actualizar y consultar un entorno específico, así como para crear, actualizar, eliminar o consultar los recursos del entorno (experimentos) desde la consola o la API. Dialogflow > Editor de entornos de Dialogflow
Administrador de tipo de entidad Proporciona acceso para crear, actualizar, eliminar o consultar los tipos de entidad de un agente desde la consola o la API. Dialogflow > Administrador de tipos de entidades de Dialogflow
Administrador de intenciones Permite crear, actualizar, eliminar o consultar las intenciones de un agente desde la consola o la API. Dialogflow > Administrador de intenciones de Dialogflow
Administrador de casos de prueba Proporciona acceso para crear, actualizar, eliminar o consultar los casos de prueba de un agente desde la consola o la API. Dialogflow > Administrador de casos de prueba de Dialogflow
Administrador de webhook Proporciona acceso para crear, actualizar, eliminar o consultar los webhooks de un agente desde la consola o la API. Dialogflow > Administrador de webhooks de Dialogflow

Las opciones para compartir se encuentran en los ajustes del agente. Para abrir la configuración para compartir agentes, sigue estos pasos:

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona tu agente.
  4. Haz clic en Configuración del agente.
  5. Haz clic en la pestaña Compartir.

Añadir una entidad principal

  1. Haz clic en Añadir.
  2. Introduce la dirección de correo del usuario, el grupo o la cuenta de servicio.
  3. Selecciona Usuario, Grupo o Cuenta de servicio para el tipo de correo.
  4. El rol Lector de Dialogflow se añade de forma predeterminada, y es necesario para que los usuarios accedan a la consola Conversational Agents.
  5. En Asignar roles, haz clic en Añadir rol.
  6. Selecciona un tipo de rol en Tipo.
  7. En los roles Editor de flujo y Editor de entorno, selecciona flujos o entornos específicos, o bien mantén la opción predeterminada Todos.
  8. También puedes definir la fecha de vencimiento del rol.
  9. Haz clic en Guardar.

Cambiar roles de principales

  1. Haga clic en el principal de la lista.
  2. Actualiza los roles de esta cuenta principal en la ventana emergente.
  3. Haz clic en Guardar.

Quitar un principal

  1. Busca el principal en la lista.
  2. Haz clic en el botón Eliminar del principal.
  3. Haz clic en Aceptar.

Controlar el acceso con la consola de Google Cloud

Puedes controlar el acceso con los ajustes de gestión de identidades y accesos. Consulta la guía de inicio rápido de gestión de identidades y accesos para obtener instrucciones detalladas sobre cómo añadir, editar y quitar permisos.

Para acceder a los ajustes que se indican a continuación, abre la página IAM en la Google Cloud consola.

Añadir un usuario o una cuenta de servicio al proyecto

Puedes proporcionar permisos a usuarios o cuentas de servicio Google Cloud asignándoles roles en tu proyecto. Los usuarios se añaden proporcionando su dirección de correo. Las cuentas de servicio también se añaden proporcionando la dirección de correo asociada. Debes añadir cuentas de servicio cuando quieras usar una cuenta de servicio para varios proyectos. Para encontrar la dirección de correo asociada a tu cuenta de servicio, consulta la página Cuentas de servicio de IAM en la consola de Google Cloud .

Para añadir un principal, sigue estos pasos:

  1. En la parte superior de la página, haz clic en el botón añadir .
  2. Introduce la dirección de correo del director.
  3. Selecciona un rol.
  4. Haz clic en Guardar.

Cambiar permisos

  1. Haz clic en el botón de edición del principal.
  2. Selecciona otro rol.
  3. Haz clic en Guardar.

Quitar un principal

  1. Haz clic en el botón de eliminar del principal.

Añadir una condición para restringir el acceso a un agente

Al añadir o editar un principal, puedes crear una condición de gestión de identidades y accesos que restrinja el acceso a un agente.

Por ejemplo:

{
    "expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
    "title": "For Conversational Agents (Dialogflow CX) Agent AGENT_ID"
}

Esta condición te da acceso básico a un agente específico. Por ejemplo, una cuenta de servicio con esta condición solo puede llamar a la API Conversational Agents (Dialogflow CX) para acceder al agente especificado en la condición del proyecto, pero no a otros agentes del proyecto.

Para añadir esta condición a un rol concedido a una cuenta principal, sigue estos pasos:

  1. Selecciona un director.
  2. Haz clic en el botón de edición del principal.
  3. Haz clic en Añadir condición.
  4. En el campo Título, introduce For Conversational Agents (Dialogflow CX) Agent AGENT_ID y sustituye AGENT_ID por el ID de tu agente.
  5. Puedes añadir cualquier descripción.
  6. Seleccione el editor de condiciones para crear la condición.
  7. Añade la expresión resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID"), sustituyendo AGENT_ID por el ID de tu agente y PROJECT_ID por el ID de tu proyecto.
  8. Haz clic en Guardar.

Roles de gestión de identidades y accesos

En la siguiente tabla se enumeran los roles de IAM habituales relacionados con los agentes conversacionales (Dialogflow CX). En los resúmenes de permisos de la tabla se usan los siguientes términos:

  • Acceso completo: permiso para modificar el acceso, crear, eliminar, editar y leer cualquier recurso.
  • Acceso de edición: permiso para crear, eliminar, editar y leer cualquier recurso.
  • Acceso a la sesión: permiso para llamar a métodos de recursos solo de tiempo de ejecución durante una conversación, como detectar intenciones, actualizar el contexto, actualizar entidades de la sesión o interacciones de la conversación de Agent Assist.
  • Acceso de lectura: permiso para leer cualquier recurso.
Rol de gestión de identidades y accesos Resumen de permisos Detalles del permiso
Proyecto >
Propietario
Concede a los propietarios del proyecto que necesiten acceso completo a todos los recursos de Google Cloud y Conversational Agents (Dialogflow CX):
  • Acceso completo a todos los Google Cloud recursos del proyecto mediante Google Cloud la consola o las APIs.
  • Acceso completo a los agentes mediante la consola Conversational Agents.
  • Puede detectar la intención mediante la API.
Consulta las definiciones de los roles básicos de gestión de identidades y accesos.
Proyecto >
Editor
Concede a los editores del proyecto que necesiten acceso de edición a todos los recursos de Google Cloud y Conversational Agents (Dialogflow CX):
  • Acceso de edición a todos los recursos del proyecto mediante la consola o las APIs. Google Cloud Google Cloud
  • Edita el acceso a los agentes mediante la consola Conversational Agents.
  • Puede detectar la intención mediante la API.
Consulta las definiciones de los roles básicos de gestión de identidades y accesos.
Proyecto >
lector
Concede a los lectores del proyecto que necesiten acceso de lectura a todos los recursos de Google Cloud y Conversational Agents (Dialogflow CX):
  • Acceso de lectura a todos los recursos de un proyecto mediante la consola o las APIs. Google Cloud Google Cloud
  • Los usuarios con acceso de lectura a los agentes mediante la consola o la API de agentes conversacionales no pueden usar el simulador.
  • No se puede detectar la intención mediante la API.
Consulta las definiciones de los roles básicos de gestión de identidades y accesos.
Proyecto >
Administrador de gestión de identidades y accesos
Concede acceso a los administradores de gestión de identidades y accesos del proyecto que necesiten editar la configuración de los roles de los agentes de Conversational Agents (Dialogflow CX). Consulta las definiciones de roles de administrador de recursos de gestión de identidades y accesos.
Proyecto >
Navegador
Concede a los navegadores de proyectos que necesiten acceso de lectura para examinar la jerarquía de un proyecto, incluidas la carpeta, la organización y la política de gestión de identidades y accesos:
  • Acceso de lectura a la Google Cloud jerarquía de proyectos.
  • No tiene acceso a los agentes mediante la consola Conversational Agents.
  • No se puede detectar la intención mediante la API.
Consulta las definiciones de roles de proyecto de gestión de identidades y accesos.
Dialogflow >
Administrador de la API de Dialogflow
Concede a los administradores de la API Conversational Agents (Dialogflow CX) que necesiten acceso completo a los recursos específicos de Conversational Agents (Dialogflow CX):
  • Acceso completo a todos los recursos de Conversational Agents (Dialogflow CX) mediante la Google Cloud consola o las APIs.
  • Acceso completo a los agentes mediante la consola Conversational Agents.
  • Puede detectar la intención mediante la API.
Consulta las definiciones de roles de gestión de identidades y accesos de Dialogflow.
Dialogflow >
Cliente de la API de Dialogflow
Concede a los clientes de la API Conversational Agents (Dialogflow CX) que realicen llamadas a la API para detectar la intención:
  • Acceso a sesiones de recursos de agentes conversacionales (Dialogflow CX) en tiempo de ejecución mediante el simulador o la API de agentes conversacionales (Dialogflow CX).
  • Acceso limitado a los agentes mediante la consola Conversational Agents.
  • Puede detectar la intención mediante la API.
Consulta las definiciones de roles de gestión de identidades y accesos de Dialogflow.
Dialogflow >
Consola Conversational Agents > Editor de agentes
Concede a los editores de la consola Conversational Agents que editen agentes:
  • Acceso completo a todos los recursos de Conversational Agents (Dialogflow CX) mediante la Google Cloud consola.
  • Edita el acceso a la mayoría de los datos de los agentes mediante la consola Conversational Agents.
  • Puede detectar la intención mediante la API.
Consulta las definiciones de roles de gestión de identidades y accesos de Dialogflow.
Dialogflow >
Lector de la API de Dialogflow
Concede a los clientes de la API de Dialogflow que realizan llamadas de solo lectura específicas de agentes conversacionales (Dialogflow CX) mediante la API:
  • Acceso de lectura a todos los recursos de agentes conversacionales (Dialogflow CX) mediante la Google Cloud consola o las APIs.
  • Acceso de lectura a los agentes mediante la consola Conversational Agents. No se puede usar el simulador.
  • No se puede detectar la intención mediante la API.
Consulta las definiciones de roles de gestión de identidades y accesos de Dialogflow.
Administrador de Discovery Engine Concede a los usuarios que crean agentes de almacén de datos con la interfaz de usuario de Vertex AI Agents. Consulta Otras definiciones de roles.

OAuth

Si usas bibliotecas de cliente de Google para acceder a Conversational Agents (Dialogflow CX), no tienes que usar OAuth directamente, ya que estas bibliotecas se encargan de la implementación. Sin embargo, si implementas tu propio cliente, es posible que tengas que implementar tu propio flujo de OAuth. Para acceder a la API Conversational Agents (Dialogflow CX), debes disponer de uno de los siguientes permisos de OAuth:

  • https://www.googleapis.com/auth/cloud-platform (acceso a todos los recursos del proyecto)
  • https://www.googleapis.com/auth/dialogflow (acceso a los recursos de Conversational Agents [Dialogflow CX])

Solicitudes que implican acceso a Cloud Storage

Algunas solicitudes de agentes conversacionales (Dialogflow CX) acceden a objetos de Cloud Storage para leer o escribir datos. Cuando llamas a una de estas solicitudes, los agentes conversacionales (Dialogflow CX) acceden a los datos de Cloud Storage en nombre de la persona que llama. Esto significa que la autenticación de tu solicitud debe tener permisos para acceder a los agentes conversacionales (Dialogflow CX) y a los objetos de Cloud Storage.

Cuando se usan una biblioteca de cliente de Google y roles de gestión de identidades y accesos, consulta la guía de control de acceso de Cloud Storage para obtener información sobre los roles de Cloud Storage.

Cuando implementes tu propio cliente y utilices OAuth, debes usar el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform (acceso a todos los recursos del proyecto)

Roles personalizados para acceder a la herramienta de guías

Puedes proporcionar un control de acceso granular para las herramientas de runbook mediante permisos y roles personalizados.

Puedes consultar la lista de permisos disponibles en la herramienta de búsqueda de permisos y buscar dialogflow.tools.

Con esos permisos, puedes crear roles personalizados.