Control de acceso

Es común que varios miembros del equipo colaboren en la compilación de un agente y que los servicios accedan al agente. Con las funciones, puedes controlar el acceso y los permisos otorgados a las principales.

Puedes configurar el acceso con la consola de Dialogflow CX (consultar la documentación, abrir la consola) o mediante la consola de Google Cloud (consultar la documentación, abrir la consola) con Identity and Access Management (IAM). La consola de Google Cloud se usa para otorgar funciones de IAM a las principales, mientras que la consola de Dialogflow se usa para otorgar roles de agente de Dialogflow a las principales. Las funciones del agente de Dialogflow son funciones predefinidas convenientes que define Dialogflow 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 quieres cambiar el propietario del proyecto, debes usar la consola de Google Cloud.
  • Solo el acceso a nivel de agente se puede configurar 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 funciones de IAM tiene las funciones de agente de Dialogflow correspondientes. Si deseas otorgar una función a nivel de proyecto o de agente que no existe en la consola de Dialogflow CX, debes usar la consola de Google Cloud.
  • Si quieres crear un agente de almacén de datos con la interfaz de usuario de Vertex AI Conversation, debes usar la consola de Google Cloud.

Si estás utilizando 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 Dialogflow CX

La consola de CX de Dialogflow te permite aplicar funciones convenientes de agente configuradas para el uso compartido a nivel de 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 las funciones de agente desde la consola de Dialogflow CX, debes tener la función de administrador de IAM del proyecto para el proyecto asociado. Este rol se otorga desde la consola de Google Cloud.

Función del agente de Dialogflow Resumen Función de IAM
Administrador 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
Lector Proporciona acceso de lectura para consultar (no detectar intents) el agente desde la consola o la API. Dialogflow > Lector de API de Dialogflow
Cliente Proporciona acceso para detectar intents desde la consola o la API. Dialogflow > Cliente de la API 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 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 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
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
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

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:

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

Agrega un principal

  1. Haz clic en Agregar.
  2. Ingresa la dirección de correo electrónico del usuario, grupo o cuenta de servicio.
  3. Selecciona Usuario, Grupo o Cuenta de servicio para el tipo de correo electrónico.
  4. La función lector de Dialogflow se agrega de forma predeterminada, que es necesaria para que los usuarios accedan a la consola de Dialogflow CX.
  5. Haz clic en Agregar función en Asignar funciones.
  6. Selecciona un tipo de función en Tipo.
  7. Para las funciones Editor de flujo y Editor de entorno, selecciona flujos o entornos específicos o mantén la opción predeterminada Todos.
  8. De manera opcional, establece la fecha de vencimiento para la función.
  9. Haz clic en Guardar.

Cambia las funciones principales

  1. Haz clic en el principal de la lista.
  2. Actualiza las funciones para esta principal en la ventana emergente.
  3. Haz clic en Guardar.

Quita un principal

  1. Busca el principal en la lista.
  2. Haz clic en el botón Borrar del usuario.
  3. 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.

Para acceder a la siguiente configuración, abre la página IAM en la consola de Google Cloud.

Agrega un usuario o miembro de cuenta de servicio al proyecto

Puedes proporcionarles permisos a usuarios o cuentas de servicio si les otorgas 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:

  1. Haz clic en el botón Agregar  en la parte superior de la página.
  2. Ingresa la dirección de correo electrónico del principal.
  3. Selecciona una función.
  4. Haz clic en Guardar.

Cambia permisos

  1. Haz clic en el botón Editar del miembro.
  2. Selecciona una función diferente.
  3. Haz clic en Guardar.

Quita un principal

  1. 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 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 para acceder al agente especificado en la condición del proyecto, pero no a otros agentes en el proyecto.

Para agregar esta condición a una función otorgada a una principal, sigue estos pasos:

  1. Selecciona un principal.
  2. Haz clic en el botón Editar del principal.
  3. Haz clic en Agregar condición:
  4. En el campo Título, ingresa For Dialogflow Agent AGENT_ID y reemplaza AGENT_ID por el ID del agente.
  5. Puedes agregar cualquier descripción.
  6. Selecciona el Editor de condiciones para crear tu condición.
  7. 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.
  8. Haz clic en Guardar.

Roles de IAM

En la siguiente tabla, se enumeran los roles comunes de IAM 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 y 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 de recursos exclusivos de entorno de ejecución durante una conversación, como detectar intents, actualizar el contexto, actualizar entidades de sesión o interactuar con las conversaciones de Agent Assist.
  • Acceso de lectura: Permiso para leer cualquier recurso.
Función de IAM Resumen de los permisos Detalles de los permisos
Proyecto >
Propietario
Se otorga a los propietarios de proyectos que necesitan acceso completo a todos los recursos de Google Cloud y Dialogflow:
  • Acceso total a todos los recursos del proyecto de Google Cloud con la consola de Google Cloud o las APIs.
  • Acceso completo a los agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definicionesrol básicos de IAM.
Proyecto >
Editor
Se otorga a los editores de proyectos que necesitan acceso de edición a todos los recursos de Google Cloud y Dialogflow:
  • Tiene acceso de edición a todos los recursos del proyecto de Google Cloud mediante la consola de Google Cloud o las APIs.
  • Acceso de edición a los agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definicionesrol básicos de IAM.
Proyecto >
Visualizador
Se otorga a los visualizadores de proyectos que necesitan acceso de lectura a todos los recursos de Google Cloud y Dialogflow:
  • Acceso de lectura a todos los recursos del proyecto de Google Cloud mediante la consola de Google Cloud o las APIs.
  • El acceso de lectura a los agentes que usan la consola o la API de Dialogflow no puede usar el simulador.
  • No permite detectar el intent mediante la API.
Consulta las definicionesrol básicos de IAM.
Proyecto >
Administrador de IAM
Otorga a los administradores de IAM de proyectos que necesitan acceso de edición a la configuración de funciones del agente de Dialogflow. 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 navegar por la jerarquía de un proyecto, incluida la carpeta, la organización y la política de IAM:
  • Tiene acceso de lectura a la jerarquía de proyectos de Google Cloud.
  • No permite el acceso a los agentes mediante la consola de Dialogflow.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de los proyectos de IAM.
Dialogflow >
Administrador de la API de Dialogflow
Se otorga a los administradores de la API de Dialogflow que necesitan acceso completo a los recursos específicos de Dialogflow:
  • Acceso completo a todos los recursos de Dialogflow mediante la consola de Google Cloud o las APIs.
  • Acceso completo a los agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de funciones de IAM de Dialogflow.
Dialogflow >
Cliente de la API de Dialogflow
Se otorga a los clientes de la API de Dialogflow que realizan llamadas de intent de detección mediante la API:
  • Acceso de sesión a los recursos del entorno de ejecución de Dialogflow mediante la API o el simulador de Dialogflow.
  • Acceso limitado a los agentes que usan la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de funciones de IAM de Dialogflow.
Dialogflow >
Editor del agente de la consola de Dialogflow
Se otorga a los editores de la consola de Dialogflow CX que editan los agentes existentes:
  • Acceso completo a todos los recursos de Dialogflow mediante la consola de Google Cloud.
  • Acceso de edición a la mayoría de los datos de agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de funciones de IAM de Dialogflow.
Dialogflow >
Lector de la API de Dialogflow
Se otorga a los clientes de la API de Dialogflow que realizan llamadas de solo lectura específicas de Dialogflow mediante la API:
  • Acceso de lectura a todos los recursos de Dialogflow mediante la consola de Google Cloud o las APIs.
  • Acceso de lectura a los agentes que usan la consola de Dialogflow, no puede usar el simulador.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de funciones de IAM de Dialogflow.
Administrador de Discovery Engine Se otorga a usuarios que crean agentes de almacén de datos con la interfaz de usuario de Vertex AI Conversation. Consulta Otras definiciones de funciones.

OAuth

Si usas bibliotecas cliente de Google para acceder a Dialogflow, 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 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)

Solicitudes que involucran acceso a Cloud Storage

Algunas solicitudes de Dialogflow tienen acceso a objetos en Cloud Storage para leer o escribir datos. Cuando llamas a una de estas solicitudes, Dialogflow 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 y a los objetos de Cloud Storage.

Cuando uses una biblioteca cliente de Google y las funciones de IAM, consulta la guía de control de acceso de Cloud Storage para obtener información sobre las funciones de Cloud Storage.

Cuando implementas tu propio cliente y usas OAuth, debes usar el siguiente alcance de OAuth:

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