Control de acceso

Es común que varios miembros del equipo colaboren en la compilación de un agente. Mediante el uso de funciones, puedes controlar el acceso y los permisos otorgados a los miembros del equipo.

Puedes configurar el acceso mediante la consola de CX de Dialogflow (revisa la documentación, abre Console ) o mediante Google Cloud Console (revisa la documentación, abre Console) con la administración de identidades y accesos (IAM). Cloud Console se usa para otorgar funciones de IAM a las principales, mientras que la consola de Dialogflow se usa con el fin de otorgar funciones 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 Google Cloud Console:

  • 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 Cloud Console.
  • Solo el acceso a nivel de agente se puede configurar mediante la consola de Dialogflow CX. Si quieres configurar el acceso a nivel de proyecto, debes usar Cloud Console.
  • 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 CX de Dialogflow, debes usar Cloud Console.

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 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 correlacionan con las funciones de IAM con condiciones de IAM que limitan el acceso al agente específico o a un subconjunto de recursos secundarios del agente.

Para acceder a la configuración de funciones del agente desde la consola de Dialogflow CX, se te debe otorgar la función de administrador de IAM del proyecto para el proyecto asociado. Esta función se otorga desde Google Cloud Console.

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 > Administrador de tipo 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 flujo (páginas, grupos de rutas y versiones) desde la consola o la API. Dialogflow > Editor de flujo de Dialogflow
Editor de 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 de 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 GCP.
  3. Selecciona el agente.
  4. Haz clic en Configuración del agente.
  5. Haz clic en la pestaña Compartir.

Agregar una principal

  1. Haga clic en Agregar.
  2. Ingresa la dirección de correo electrónico del usuario, el grupo o la cuenta de servicio.
  3. Selecciona Usuario, Grupo o Cuenta de servicio para el tipo de correo electrónico.
  4. La función de lector de Dialogflow se agrega de forma predeterminada, lo cual es necesario 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 de 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 de la función.
  9. Haz clic en Guardar.

Cambiar funciones principales

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

Cómo quitar una principal

  1. Busca el principal en la lista.
  2. Haz clic en el botón de borrar para la principal.
  3. Haga clic en Ok.

Controla el acceso con Cloud Console

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 configuración a continuación, abre la página IAM en Cloud Console.

Agrega un usuario o una cuenta de servicio al proyecto

Puedes proporcionar permisos a usuarios o cuentas de servicio si les otorgas funciones en tu proyecto de 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 desees 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 Cloud Console.

Para agregar una principal, sigue estos pasos:

  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 de edición para la principal.
  2. Selecciona una función diferente.
  3. Haz clic en Guardar.

Cómo quitar una principal

  1. Haz clic en el botón de borrar para la principal.

Agrega una condición para restringir el acceso a un agente

Cuando agregas o editas una 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 de edición para la 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. Haga clic en Save.

Funciones de IAM

En la siguiente tabla, se enumeran todas las funciones de IAM relevantes para CX de Dialogflow. Los resúmenes de permisos en la tabla usan los siguientes términos:

  • Acceso completo: Permiso para modificar el acceso, crear, borrar, editar y leer un recurso.
  • Acceso de edición: permiso para crear, borrar, editar y leer un recurso.
  • Acceso de lectura: permiso para leer un recurso.
Función de IAM Resumen de los permisos Detalles de los permisos
Proyecto >
Propietario
Otorga a los propietarios de proyectos que necesitan acceso completo a todos los recursos de Google Cloud y Dialogflow:
  • Acceso completo a todos los recursos de proyectos de Google Cloud con Cloud Console o las API.
  • Acceso completo a los agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de funciones básicas de IAM.
Proyecto >
Editor
Otorga acceso a los editores del proyecto que necesitan acceso de edición a todos los recursos de Google Cloud y Dialogflow:
  • Acceso de edición a todos los recursos del proyecto de Cloud mediante Cloud Console o las API.
  • Edita el acceso a los agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de funciones básicas de IAM.
Proyecto >
Visualizador
Otorga acceso a los visualizadores del proyecto que necesitan acceso de lectura a todos los recursos de Google Cloud y Dialogflow:
  • Acceso de lectura a todos los recursos del proyecto de Cloud mediante Cloud Console o las API.
  • Acceso de lectura a los agentes mediante la consola de Dialogflow.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de funciones básicas de IAM.
Proyecto >
Administrador de IAM
Otorgar 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 las funciones del administrador 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:
  • Acceso de lectura a la jerarquía de proyectos de Cloud.
  • No otorga acceso a los agentes mediante la consola de Dialogflow.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de 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 total a todos los recursos de Dialogflow mediante Cloud Console o las API.
  • Acceso completo a los agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
Dialogflow >
Cliente de la API de Dialogflow
Se otorga a los clientes de la API de Dialogflow que realizan ediciones específicas de Dialogflow y detectan llamadas de intent mediante la API:
  • No tienes acceso a la consola de Dialogflow CX.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
Dialogflow >
Editor del agente de la consola de Dialogflow
Se otorga a los editores de la consola de Dialogflow que editan los agentes existentes:
  • Acceso completo a todos los recursos de Dialogflow mediante Cloud Console.
  • Edita el acceso a la mayoría de los datos de los agentes mediante la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
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 Cloud Console o las API.
  • Acceso de lectura a los agentes mediante la consola de Dialogflow.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.