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. Mediante el uso de roles, puedes controlar el acceso y los permisos otorgados a principales.

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.

Puedes controlar el acceso mediante la administración de identidades y accesos (IAM) o la consola de Dialogflow. Hay algunas situaciones en las que debes usar la consola de Google Cloud:

  • La consola de Dialogflow proporciona al administrador del agente (propietario del proyecto de IAM) al usuario que creó el agente. Si quieres cambiar el administrador, agrega varios administradores a un agente o quitar administradores de un agente, debes usar la consola de Google Cloud.
  • Si tienes integraciones con otros recursos de Google Cloud, como Cloud Functions, y no quiere otorgar acceso completo al proyecto a una aplicación, debes asignar los roles de la API de Dialogflow (Administrador, Cliente o Lector) en la consola de Google Cloud para IAM.
  • Un subconjunto de funciones de IAM tiene las funciones de la consola de Dialogflow correspondientes. Si deseas otorgar un rol que no existe en la consola de Dialogflow, debes usar la consola de Google Cloud.

Funciones

En la siguiente tabla, se enumeran las funciones comunes relevantes para 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. Este tipo de acceso proporciona un subconjunto de permisos que se encuentran en acceso completo y de edición.
  • Acceso de lectura: Permiso para leer cualquier recurso.
Función de la consola de Dialogflow Función de IAM Resumen de los permisos Detalles de los permisos
Administrador Proyecto >
Propietario
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 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.
  • Permite detectar el intent mediante la API.
  • Puede cambiar la edición del agente en la consola de Dialogflow o mediante la API.
Consulta las definiciones de funciones básicas de IAM.
Programador 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 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.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de funciones básicas de IAM.
Revisor 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 de los proyectos de Google Cloud con la consola o las APIs de Google Cloud.
  • El acceso de lectura de los agentes mediante la consola de Dialogflow 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.
N/A 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.
  • 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 de los proyectos de IAM.
N/A 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 o las APIs de Google Cloud.
  • Acceso de lectura 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.
N/A Dialogflow >
Cliente de la API de Dialogflow
Otorgar a los clientes de la API de Dialogflow que realizan llamadas de detección de intents con la API:
  • Acceso de sesión a los recursos de Dialogflow del entorno de ejecución mediante el simulador o la API de Dialogflow.
  • Acceso limitado a los agentes que usan la consola de Dialogflow.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
N/A 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 la consola de Google Cloud.
  • Acceso de edición a la mayoría de los datos de agentes mediante la consola de Dialogflow. No permite acceder al editor intercalado para la integración de Cloud Functions o Asistente de Google.
  • Permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.
N/A 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 APIs de Google Cloud.
  • Tiene acceso de lectura de los agentes mediante la consola de Dialogflow; no se puede usar el simulador.
  • No permite detectar el intent mediante la API.
Consulta las definiciones de las funciones de Dialogflow de IAM.

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 página de 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. Los miembros de la cuenta de servicio se deben agregar cuando deseas usar una cuenta de servicio para múltiples proyectos y agentes. Para encontrar la dirección de correo electrónico asociada con tu cuenta de servicio, consulta IAM Cuentas de servicio en la consola de Google Cloud.

Para agregar un miembro, 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 miembro.
  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 miembro

  1. Haz clic en el botón Borrar  del miembro.

Controla el acceso con la consola 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. Ve a la consola de Dialogflow ES.
  2. Selecciona tu agente cerca de la parte superior del menú de la barra lateral izquierda.
  3. Haz clic en el botón de configuración junto al nombre del agente.
  4. Haz clic en la pestaña Compartir. Si no ves la pestaña Compartir, haz lo siguiente: es porque no tienes el rol de administrador de agentes necesario.

Pestaña Compartir que muestra a los usuarios con sus niveles de acceso

Agregar un usuario

  1. Ingresa la dirección de correo electrónico del usuario en Invitar personas nuevas.
  2. Selecciona una función.
  3. Haz clic en Agregar.
  4. Haz clic en Guardar.

Cambia permisos

  1. Encuentra el usuario en la lista.
  2. Selecciona una función diferente.
  3. Haz clic en Guardar.

Quita un usuario

  1. Encuentra el usuario en la lista.

  2. Haz clic en el botón Borrar del usuario.

  3. Haz clic en Guardar.

Cuentas de servicio creadas de forma automática

Cuando creas un agente y trabajas con él, Dialogflow crea algunos agentes de servicio automáticamente.

Para ver los roles otorgados a estos agentes de servicio, habilita la opción Incluir otorgamientos de roles proporcionados por Google. en la Página de IAM.

No debes borrar, editar ni descargar claves para ninguno de estos agentes de servicio. ni los agentes de servicio para realizar llamadas directas a la API. Solo el servicio de Dialogflow las usa para conectarse a una variedad de servicios de Google Cloud que usa tu agente. Es posible que debas consultar a estos agentes de servicio por correo electrónico cuando configurar ciertas funciones de Dialogflow.

En la siguiente tabla, se describen algunos de estos agentes de servicio:

Formulario de correo electrónico de IAM Objetivo
service-project-number
@gcp-sa-dialogflow.iam.gserviceaccount.com
Se usa para conectar a tu agente con los servicios que manejan el tráfico de integración.
firebase-adminsdk-alphanum
@project-id.iam.gserviceaccount.com
Se usa para conectar tu agente a los servicios que controlan el tráfico de la integración del Asistente de Google.
project-id
@appspot.gserviceaccount.com
Se usa para conectar tu agente a los servicios que controlan el tráfico de la integración del Asistente de Google.

Transferir rol de administrador

Para transferir el rol de administrador de un agente, el administrador actual debe seguir los pasos anteriores para agregar un nuevo administrador. Una vez que el nuevo administrador acepte el rol otorgado, es seguro eliminar el antiguo administrador.

Si el administrador actual ya no trabaja en tu organización, y necesitas que el rol de administrador se transfiera a otro empleado, tienes dos opciones:

  • Un administrador del organización asociado con el proyecto del agente tiene permisos para modificar al administrador del agente.
  • Si tienes permisos de lectura para el agente, puedes exportar el agente y, luego, importarlo a un agente en el que el empleado deseado es el administrador. Esto puede crear tiempo de inactividad para un agente de producción en vivo, mientras se migra el agente y se actualizan las integraciones.

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, quizás 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 involucran 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 usas una biblioteca cliente de Google y roles de IAM, consulta la Guía de control de acceso a 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)