Es común que varios miembros del equipo colaboren en la compilación de un agente y que los servicios accedan al agente. Con los roles, puedes controlar el acceso y los permisos que se otorgan a las principales.
Puedes configurar el acceso con la consola de Agentes conversacionales o con la consola de Google Cloud (revisa la documentación, abre la consola) con la administración de identidades y accesos (IAM). La consola de Google Cloud se usa para otorgar roles de IAM a las principales, mientras que la consola de Agentes conversacionales se usa para otorgar roles de agente de Dialogflow CX a las principales. Los roles de agente de Dialogflow CX son roles predefinidos convenientes definidos por Dialogflow CX 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 consola de Google Cloud :
- La función de propietario del proyecto de IAM se otorga de forma predeterminada al usuario que creó el proyecto que posee el agente. Este propietario tiene acceso completo a todos los agentes del proyecto. Si deseas cambiar el propietario del proyecto, debes usar la consola de 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 consola de Google Cloud .
- Un subconjunto de roles de IAM tiene roles de agente de Dialogflow CX correspondientes. Si quieres otorgar un rol a nivel de proyecto o de agente que no existe en la consola de Dialogflow CX, debes usar la consola de Google Cloud .
- Si creas un agente de almacén de datos con la interfaz de usuario de Vertex AI Agents, debes usar la consola de Google Cloud .
Si usas la API, es posible que una o más aplicaciones también envíen solicitudes a un agente. En este caso, puedes controlar el acceso con las cuentas de servicio.
Controla el acceso con la consola de Agentes conversacionales
La consola de Agentes conversacionales te permite aplicar roles de agente convenientes configurados para el uso compartido a nivel del agente. Estas funciones se relacionan con las funciones de IAM con condiciones de IAM que limitan el acceso al agente específico o un subconjunto de recursos secundarios del agente.
Para acceder a la configuración de roles de agente desde la consola de Agentes conversacionales, se te debe otorgar el rol de administrador de IAM del proyecto para el proyecto asociado. Este rol se otorga desde la consola de Google Cloud .
| Rol de agente de Dialogflow CX | Resumen | Función de IAM |
|---|---|---|
| Lector conversacional | Proporciona acceso de lectura para consultar (no detectar intents) el agente desde la consola o la API. | Dialogflow > Lector de API de Dialogflow |
| Administrador conversacional | Proporciona acceso completo para crear, actualizar, consultar, detectar intent y borrar el agente desde la consola o la API. | Dialogflow > Admin. de API de Dialogflow |
| Cliente conversacional | Proporciona acceso para detectar intents 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, consultar un flujo específico y crear, actualizar, borrar o consultar los recursos de flujos (páginas, grupos de rutas y versiones) desde la consola o la API. | Dialogflow > Editor de flujo de Dialogflow |
| Editor del entorno | Proporciona acceso para actualizar, consultar un entorno específico y crear, actualizar, borrar o consultar los recursos del entorno (experimentos) desde la consola o la API. | Dialogflow > Editor del entorno de Dialogflow |
| Administrador de tipos de entidades | Proporciona acceso para crear, actualizar, borrar o consultar los tipos de entidades de un agente desde la consola o la API. | Dialogflow > Admin. de tipos de entidad de Dialogflow |
| Administrador de intents | Proporciona acceso para crear, actualizar, borrar o consultar los intents de un agente desde la consola o la API. | Dialogflow > Administrador de intents de Dialogflow |
| Administrador de casos de prueba | Proporciona acceso para crear, actualizar, borrar 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 webhooks | Proporciona acceso para crear, actualizar, borrar 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 la configuración del agente. Para abrir la configuración de uso compartido del agente, sigue estos pasos:
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Haz clic en Configuración del agente.
- Haz clic en la pestaña Compartir.
Agrega un principal
- Haga clic en Agregar.
- Ingresa la dirección de correo electrónico del usuario, grupo o cuenta de servicio.
- Selecciona Usuario, Grupo o Cuenta de servicio para el tipo de correo electrónico.
- El rol Lector de Dialogflow se agrega de forma predeterminada, lo que es necesario para que los usuarios accedan a la consola de Agentes conversacionales.
- Haz clic en Agregar función en Asignar funciones.
- Selecciona un tipo de función en Tipo.
- Para las funciones Editor de flujo y Editor de entorno, selecciona flujos o entornos específicos o mantén la opción predeterminada Todos.
- De manera opcional, establece la fecha de vencimiento para la función.
- Haz clic en Guardar.
Cambia las funciones principales
- Haz clic en el principal de la lista.
- Actualiza las funciones para esta principal en la ventana emergente.
- Haz clic en Guardar.
Quita un principal
- Busca el principal en la lista.
- Haz clic en el botón Borrar delete del usuario.
- Haga clic en Ok.
Controla el acceso con la consola de Google Cloud
Puedes controlar el acceso con la configuración de IAM. Consulta la guía de inicio rápido de IAM para obtener instrucciones detalladas sobre cómo agregar, editar y quitar permisos.
Agrega un usuario o miembro de cuenta de servicio al proyecto
Puedes otorgar permisos a usuarios o cuentas de servicio asignándoles roles en tu proyecto de Google Cloud . Los usuarios se agregan mediante el ingreso de la dirección de correo electrónico. Las cuentas de servicio también se agregan mediante el ingreso de la dirección de correo electrónico asociada. Debes agregar cuentas de servicio cuando quieras usar una cuenta de servicio para varios proyectos. Para encontrar la dirección de correo electrónico asociada con tu cuenta de servicio, consulta la página Cuentas de servicio de IAM en la consola de Google Cloud .
Para agregar una principal, haz lo siguiente:
- Haz clic en el botón Agregar en la parte superior de la página.
- Ingresa la dirección de correo electrónico del principal.
- Selecciona una función.
- Haz clic en Guardar.
Cambia permisos
- Haz clic en el botón Editar del miembro.
- Selecciona una función diferente.
- Haz clic en Guardar.
Quita un principal
- Haz clic en el botón Borrar del usuario.
Agrega una condición para restringir el acceso a un agente
Cuando agregas o editas un principal, puedes crear una condición de IAM que restrinja el acceso a un agente.
Por ejemplo:
{
"expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
"title": "For Dialogflow CX Agent AGENT_ID"
}
Esta condición te brinda acceso básico a un agente específico. Por ejemplo, una cuenta de servicio con esta condición solo puede llamar a la API de Dialogflow CX para acceder al agente especificado en la condición del proyecto, pero no a otros agentes del proyecto.
Para agregar esta condición a una función otorgada a una principal, sigue estos pasos:
- Selecciona un principal.
- Haz clic en el botón Editar del principal.
- Haz clic en Agregar condición:
- En el campo Título, ingresa
For Dialogflow CX Agent AGENT_IDy reemplaza AGENT_ID por el ID del agente. - Puedes agregar cualquier descripción.
- Selecciona el Editor de condiciones para crear tu condición.
- Agrega la expresión
resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID")y reemplaza AGENT_ID por el ID del agente y PROJECT_ID por el ID del proyecto. - Haz clic en Guardar.
Roles de IAM
En la siguiente tabla, se enumeran los roles de IAM comunes que son relevantes para 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, borrar, editar y leer cualquier recurso.
- Acceso de edición: Permiso para crear, borrar, editar y leer cualquier recurso.
- Acceso a la sesión: Permiso para llamar a métodos para recursos de solo entorno de ejecución durante una conversación, como detectar la intención, actualizar el contexto, actualizar las entidades de sesión o las interacciones de conversación de Agent Assist.
- Acceso de lectura: Permiso para leer cualquier recurso.
| Rol de IAM | Resumen de los permisos | Detalles de los permisos |
|---|---|---|
| Proyecto > Propietario |
Otorgar a los propietarios del proyecto
que necesitan acceso completo a todos los recursos de Google Cloud y Dialogflow CX:
|
Consulta las definiciones de funciones básicas de IAM. |
| Proyecto > Editor |
Otorgar a los editores de proyectos
que necesitan acceso de edición a todos los recursos de Google Cloud y Dialogflow CX:
|
Consulta las definiciones de funciones básicas de IAM. |
| Proyecto > Visualizador |
Otorgar a los visualizadores de proyectos
que necesitan acceso de lectura a todos los recursos de Google Cloud y Dialogflow CX:
|
Consulta las definiciones de funciones básicas de IAM. |
| Proyecto > Administrador de IAM |
Otorga acceso a los administradores de IAM del proyecto que necesitan acceso de edición a la configuración de roles de agentes de Dialogflow CX. | Consulta las definiciones de funciones de la administración de recursos de IAM. |
| Proyecto > Navegador |
Se otorga a los navegadores de proyectos que necesitan acceso de lectura para explorar la jerarquía de un proyecto, incluida la carpeta, la organización y la política de IAM:
|
Consulta las definiciones de funciones de los proyectos de IAM. |
| Dialogflow > Administrador de la API de Dialogflow |
Otorgar a los administradores de la API de Dialogflow CX
que necesitan acceso completo a recursos específicos de Dialogflow CX:
|
Consulta las definiciones de las funciones de Dialogflow de IAM. |
| Dialogflow > Cliente de API de Dialogflow |
Otorgar a los clientes de API de Dialogflow CX
que realizan llamadas de detección de intents con la API:
|
Consulta las definiciones de las funciones de Dialogflow de IAM. |
| Dialogflow > Editor de agentes de la consola de Agentes conversacionales |
Otorgar a editores de la consola de Agentes conversacionales
que editan agentes existentes:
|
Consulta las definiciones de las funciones de Dialogflow de IAM. |
| Dialogflow > Lector de la API de Dialogflow |
Otorgar a los clientes de API de Dialogflow
que realizan llamadas de solo lectura específicas de Dialogflow CX
con la API:
|
Consulta las definiciones de las funciones de Dialogflow de IAM. |
| Administrador de Discovery Engine | Otorga este rol a los usuarios que crean agentes de almacén de datos con la interfaz de usuario de Vertex AI Agents. | Consulta Definiciones de roles de IAM de Discovery Engine. |
OAuth
Si usas las bibliotecas cliente de Google para acceder a Dialogflow CX, no es necesario que uses OAuth directamente, ya que estas bibliotecas controlan la implementación por ti. Sin embargo, si implementas tu propio cliente, es posible que debas implementar tu propio flujo de OAuth. El acceso a la API de Dialogflow CX requiere 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 Dialogflow CX)
Solicitudes que implican el acceso a Cloud Storage
Algunas solicitudes de Dialogflow CX acceden a objetos en Cloud Storage para leer o escribir datos. Cuando llamas a una de estas solicitudes, Dialogflow CX accede a los datos de Cloud Storage en nombre del emisor. Esto significa que la autenticación de tu solicitud debe tener permisos para acceder a Dialogflow CX y a los objetos de Cloud Storage.
Cuando uses una biblioteca cliente de Google y roles de IAM, 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 uses 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 el acceso a las herramientas de guías
Puedes proporcionar un control de acceso detallado para las herramientas de la guía con permisos y roles personalizados.
Puedes enumerar los permisos disponibles visitando
la herramienta de búsqueda de permisos
y buscando dialogflow.tools.
Con esos permisos, puedes crear roles personalizados.