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 los 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.
La consola de Dialogflow proporciona el rol de administrador del agente al usuario que creó el agente. Este usuario obtiene automáticamente el rol de propietario del proyecto de IAM en el proyecto asociado con el agente.
Los administradores del agente pueden agregar desarrolladores y revisores al agente en la consola de Dialogflow. Cuando se otorga el rol de desarrollador o revisor en la consola de Dialogflow, el usuario obtiene el rol de editor del proyecto de IAM o el rol de visualizador del proyecto de IAM, respectivamente. Una forma alternativa de agregar desarrolladores y revisores al agente es otorgar a los usuarios los roles correspondientes de editor del proyecto de IAM o visualizador del proyecto de IAM en la Google Cloud consola.
Hay algunas situaciones en las que debes usar la Google Cloud consola:
- Si deseas cambiar el administrador, agregar varios administradores a un agente, o quitar administradores de un agente, debes usar la Google Cloud consola.
- Si tienes integraciones con otros Google Cloud recursos, como Cloud Functions, y no deseas otorgar acceso completo al proyecto a una aplicación, debes asignar las funciones de API de Dialogflow (administrador, cliente o lector) en la Google Cloud consola para IAM.
- Un subconjunto de roles de IAM tiene los roles de la consola de Dialogflow correspondientes. Si deseas otorgar un rol que no existe en la consola de Dialogflow, debes usar la Google Cloud consola.
Roles
En la siguiente tabla, se enumeran los roles comunes relevantes para Dialogflow, la correlación entre los roles de la consola de Dialogflow y los roles de IAM, y los detalles sobre los permisos.
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 solo de tiempo de ejecución durante una conversación, como detectar el intent, actualizar el contexto, actualizar las entidades de sesión o las interacciones de conversación de Agent Assist. Este acceso proporciona un subconjunto de permisos que se encuentran en el acceso completo y de edición.
- Acceso de lectura: Permiso para leer cualquier recurso.
| Rol de la consola de Dialogflow | Rol de IAM | Resumen de los permisos | Detalles de los permisos |
|---|---|---|---|
| Administrador | Proyecto > Propietario |
Se otorga a los propietarios de proyectos
que necesitan acceso completo a todos los recursos de Google Cloud y Dialogflow:
|
Consulta las definiciones de rol básico de IAM. |
| Desarrollador | Proyecto > Editor |
Se otorga a los editores de proyectos
que necesitan acceso de edición a todos los recursos de Google Cloud y Dialogflow:
|
Consulta las definiciones de rol básico de IAM. |
| Revisor | Proyecto > Visualizador |
Se otorga a los visualizadores de proyectos
que necesitan acceso de lectura a todos los recursos de Google Cloud y Dialogflow:
|
Consulta las definiciones de rol básico 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:
|
Consulta las definiciones de roles de proyecto 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:
|
Consulta las definiciones de roles de IAM de Dialogflow. |
| N/A | Dialogflow > Cliente de la API de Dialogflow |
Se otorga a los clientes de la API de Dialogflow
que realizan llamadas de detección de intent mediante la API:
|
Consulta las definiciones de roles de IAM de Dialogflow. |
| 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:
|
Consulta las definiciones de roles de IAM de Dialogflow. |
| 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:
|
Consulta las definiciones de roles de IAM de Dialogflow. |
Controla el acceso con la Google Cloud 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 IAM página en la Google Cloud consola.
Agrega un usuario o miembro de cuenta de servicio al proyecto
Para otorgar permisos a usuarios o cuentas de servicio otórgales roles en tu Google Cloud proyecto. 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 la página Cuentas de servicio de IAM en la Google Cloud consola.
Para agregar un miembro, sigue estos pasos:
- Haz clic en el botón Agregar en la parte superior de la página.
- Ingresa la dirección de correo electrónico del miembro.
- Elige un rol.
- Haz clic en Guardar.
Cambia permisos
- Haz clic en el botón Editar del miembro.
- Selecciona un rol diferente.
- Haz clic en Guardar.
Quita un miembro
- 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:
- Ve a la consola de Dialogflow ES.
- Selecciona tu agente cerca de la parte superior del menú de la barra lateral izquierda.
- Haz clic en el botón de configuración junto al nombre del agente.
- Haz clic en la pestaña Compartir. Si no ves la pestaña Compartir , es porque no tienes el rol de administrador del agente requerido.
Agregar un usuario
- Ingresa la dirección de correo electrónico del usuario en Invitar personas nuevas.
- Elige un rol.
- Haz clic en Agregar.
- Haz clic en Guardar.
Cambia permisos
- Encuentra el usuario en la lista.
- Selecciona un rol diferente.
- Haz clic en Guardar.
Quita un usuario
Encuentra el usuario en la lista.
Haz clic en el botón Borrar del usuario.
Haz clic en Guardar.
Cuentas de servicio creadas de forma automática
Cuando creas y trabajas con tu agente, Dialogflow crea algunos agentes de servicio automáticamente.
Para ver los roles otorgados a estos agentes de servicio, habilita la opción Incluir asignaciones de roles proporcionadas por Google en la página de IAM.
No debes borrar, editar ni descargar claves para ninguno de estos agentes de servicio, ni debes usar estas cuentas de servicio a fin de realizar llamadas directas a la API. Solo el servicio de Dialogflow las usa para conectarse a una variedad de Google Cloud servicios que usa tu agente. Es posible que debas consultar estos agentes de servicio por correo electrónico cuando configures ciertas características 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 de 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 de Asistente de Google. |
Transfiere el rol de administrador
Para transferir el rol de administrador de un agente, el administrador existente debe seguir los pasos anteriores para agregar un administrador nuevo. Una vez que el administrador nuevo acepte el rol otorgado, es seguro quitar al administrador anterior.
Si el administrador existente ya no funciona en tu organización y necesitas transferir el rol de administrador a otro empleado, tienes dos opciones:
- Un administrador de la organización asociada con el proyecto del agente tiene permisos para modificar el administrador del agente.
- Si tienes permisos de lectura para el agente, puedes exportar el agente e importarlo a un agente en el que el empleado deseado sea 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 las 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. 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 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 de la persona que llama. 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 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, debes usar el siguiente permiso de OAuth:
https://www.googleapis.com/auth/cloud-platform(acceso a todos los recursos del proyecto)