Control de acceso

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

Puedes configurar el acceso mediante la consola de Dialogflow CX (consultar la documentación, abrir la consola) o usar Google Cloud Console (consultar la documentación, abrir la consola) con Identity and Access Management (IAM). La consola se usa para otorgar funciones de IAM a las principales, mientras que la consola de Dialogflow se usa a 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 la consola.
  • Solo el acceso a nivel de agente se puede configurar a través de la consola de Dialogflow CX. Si deseas configurar el acceso a nivel de proyecto, debes usar la consola.
  • 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.

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 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. 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 > 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 GCP.
  3. Selecciona el agente.
  4. Haz clic en Configuración del agente.
  5. Haz clic en la pestaña Compartir.

Agrega un principal

  1. Haga 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

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 de IAM en la consola.

Agrega un usuario o miembro de cuenta de servicio al proyecto

Para otorgar permisos a usuarios o cuentas de servicio, otórgales 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 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.

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.

Funciones de IAM

En la siguiente tabla, se enumeran todas las funciones de IAM relevantes para CX de Dialogflow. 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 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
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 mediante la consola 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
Se otorga a los editores de proyectos 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 la consola o las API.
  • Acceso de edición 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
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 Cloud mediante la consola 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
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 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 permite el acceso a los agentes mediante la consola de Dialogflow.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de funciones del proyecto 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:
  • Tiene acceso completo a todos los recursos de Dialogflow mediante la consola 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 de IAM de Dialogflow.
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 funciones de IAM de Dialogflow.
Dialogflow >
Editor del agente de la consola de Dialogflow
Se otorga a los editores de la consola de CX de Dialogflow que editan los agentes existentes:
  • Tiene acceso completo a todos los recursos de Dialogflow mediante la consola.
  • 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 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 de IAM de Dialogflow.

OAuth

Si usas bibliotecas cliente de Google para acceder a Dialogflow, no necesitas usar 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. Para acceder a la API de Dialogflow, se 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 implican acceso a Cloud Storage

Algunas solicitudes de Dialogflow acceden 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 utilizar el siguiente alcance de OAuth:

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