Control de acceso

Es común que varios miembros del equipo colaborar en la creación de un agente y que los servicios accedan al agente. Mediante el uso de roles, puedes controlar el acceso y los permisos otorgados a 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 (consulta la documentación, abre 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 CX de Dialogflow se usa para otorgar funciones de agente de agentes conversacionales (Dialogflow CX) a las principales. Los roles de los agentes de agentes conversacionales (Dialogflow CX) son funciones predefinidas convenientes que define los agentes conversacionales (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 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 agentes de conversación (Dialogflow CX) 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 la consola de Google Cloud.
  • Si creas un agente de almacén de datos con la interfaz de usuario de Vertex AI Conversation, 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 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 agentes de conversación (Dialogflow CX) 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. 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 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 los siguientes parámetros de configuración, abre la IAM en la consola de Google Cloud.

Agrega un usuario o miembro de cuenta de servicio al proyecto

Puedes otorgar permisos a usuarios o cuentas de servicio otorgá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:

  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 Conversational Agents (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 agentes conversacionales (Dialogflow CX) 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 Conversational Agents (Dialogflow CX) 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 los roles de IAM comunes relevantes para los agentes de conversación (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 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 exclusivos de tiempo de ejecución durante una conversación, como detectar intents, actualizar el contexto, actualizar entidades de sesión, o interacciones 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
Otorgar a los propietarios del proyecto que necesitan acceso completo a todos los recursos de Google Cloud y de agentes conversacionales (Dialogflow CX):
  • Acceso total a todos los recursos de los proyectos de Google Cloud con la consola o las APIs de Google Cloud.
  • Acceso completo a los agentes mediante la consola de Dialogflow CX.
  • 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 los agentes de conversación (Dialogflow CX):
  • Acceso de edición a todos los recursos de proyectos de Google Cloud con la consola o las APIs de Google Cloud.
  • Acceso de edición a los agentes mediante la consola de Dialogflow CX.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de funciones básicas de IAM.
Proyecto >
Visualizador
Otorgar a visualizadores del proyecto que necesitan acceso de lectura a todos los recursos de Google Cloud y de Conversational Agents (Dialogflow CX):
  • Acceso de lectura a todos los recursos de los proyectos de Google Cloud con la consola o las APIs de Google Cloud.
  • El acceso de lectura de los agentes que usan la consola de Dialogflow CX o la API no puede usar el simulador.
  • 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 roles del agente de agentes de conversación (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:
  • Tiene acceso de lectura a la jerarquía de proyectos de Google Cloud.
  • Sin acceso a los agentes que usan la consola de Dialogflow CX.
  • 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 agentes conversacionales (Dialogflow CX) que necesitan acceso completo a los recursos específicos de agentes conversacionales (Dialogflow CX):
  • Tiene acceso completo a todos los recursos de Conversational Agents (Dialogflow CX) que usan la consola o las APIs de Google Cloud.
  • Acceso completo a los agentes mediante la consola de Dialogflow CX.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
Dialogflow >
Cliente de la API de Dialogflow
Otorgar a clientes de la API de Conversational Agents (Dialogflow CX) que realizan llamadas de detección de intents con la API:
  • Acceso de sesión a los recursos de agentes de conversación (Dialogflow CX) del entorno de ejecución mediante el simulador o la API de agentes de conversación (Dialogflow CX).
  • Acceso limitado a los agentes que usan la consola de Dialogflow CX.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
Dialogflow >
Editor de agentes de la consola de Dialogflow CX
Se otorga a los editores de la consola de Dialogflow que editan los agentes existentes:
  • Acceso completo a todos los recursos de agentes conversacionales (Dialogflow CX) con la consola de Google Cloud.
  • Acceso de edición a la mayoría de los datos de agentes mediante la consola de Dialogflow CX.
  • 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 agentes de conversación (Dialogflow CX) mediante la API:
  • Acceso de lectura a todos los recursos de agentes conversacionales (Dialogflow CX) mediante la consola de Google Cloud o las APIs.
  • Tiene acceso de lectura de los agentes que usan la consola de Dialogflow CX. No se puede usar el simulador.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
Administrador de Discovery Engine Otorgar a los usuarios que crean para los agentes del almacén de datos Interfaz de usuario de los agentes de Vertex AI. Consulta Otras definiciones de roles.

OAuth

Si usas bibliotecas cliente de Google para acceder a agentes conversacionales (CX de 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 Conversational Agents (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 Conversational Agents [Dialogflow CX])

Solicitudes que involucran acceso a Cloud Storage

Algunos agentes conversacionales (Dialogflow CX) solicitan objetos de acceso en Cloud Storage para leer o escribir datos. Cuando llamas a una de estas solicitudes, Los agentes de conversación (Dialogflow CX) acceden 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 los agentes conversacionales (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, ten en cuenta lo siguiente: debes usar el siguiente alcance de OAuth:

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