Permisos

Información general

Como administrador de sistema de Workplace, puedes controlar las funcionalidades disponibles en cada integración creando apps y otorgándoles permisos específicos. Cada app puede recibir un nombre para identificar el servicio que ofrece. Las apps incluyen tokens de acceso a la app y permisos que controlan la información que puede ser leída y escrita por dicha app.

En esta guía se describe con un mayor nivel de detalle el modelo de apps y permisos.

Los permisos de control al editar una app de integración personalizada

Permisos disponibles

Cada app de Workplace puede recibir su propio conjunto de permisos para controlar el nivel de funcionalidad disponible en la API Graph y la API de administración de cuenta.

Cuando creas una app y otorgas permisos, estos se aplican a todas las cuentas de tu comunidad. Los titulares de las cuentas no necesitan otorgar permisos adicionales a la app para beneficiarse de su funcionalidad. Esta modalidad se diferencia del modelo de permisos de Facebook, donde cada usuario otorga permisos individualmente a la app al iniciar sesión.

A continuación se incluye el listado completo de permisos de app disponibles para las integraciones, junto con una descripción general de cómo pueden utilizarse.

PermisoDescripción

Leer el contenido del grupo

Consulta las publicaciones y los comentarios en los grupos seleccionados.

read_group

Usa este permiso cuando crees una integración que capte todo el contenido de los grupos seleccionados.

Si tu integración servirá de bot en un grupo, usa el permiso Bot de menciones.

Administrar el contenido del grupo

Administra las publicaciones y los comentarios en los grupos seleccionados.

write_group

Usa este permiso cuando crees una integración que publique contenido en grupos (por ejemplo, un informe semanal de un servicio interno o un bot de notificaciones de estado de servicio).

Leer la biografía del usuario

Consulta las publicaciones realizadas por los miembros del grupo en sus biografías.

read_user_feed

Usa este permiso para que una integración pueda hacer lo siguiente:

  • Captar todo el contenido de la biografía de un miembro del grupo
  • Suscribir los cambios en el campo de estado del perfil del usuario

Administrar la biografía del usuario

Publica y comenta en la biografía de cualquier miembro del grupo.

write_user_feed

Usa este permiso para habilitar que una integración cree o edite una publicación en la biografía de un miembro del grupo.

Bot de menciones

El bot mirará la publicación donde se encuentra mencionado y responderá a los comentarios.

bot_mention

Usa este permiso para crear bots en grupos de Workplace.

Administrar grupos

Crea, edita o elimina los grupos seleccionados y sus miembros.

manage_group

Usa este permiso cuando crees una integración que genere grupos automáticamente y genere miembros de grupo a partir de la estructura del organigrama o los grupos del proyecto.

Si una integración con este permiso se aplica a grupos específicos, no se podrán crear nuevos grupos.

Administrar cuentas

Otorga, actualiza y desactiva cuentas mediante la API de administración de cuentas.

manage_accounts

Usa este permiso para cualquier integración que quieras realizar con un servicio de otorgamiento de cuentas, como proveedores de identidad, la herramienta de sincronización de Active Directory, o bien un cliente personalizado de la API de administración de cuentas.

Al activar este permiso, tendrás la opción de activar el permiso "Invitar automáticamente a las personas a Workplace en cuanto se hayan agregado con esta integración".

Administrar insignias

Otorga insignias a las personas en la comunidad de Workplace.

manage_badges

Usa este permiso para que una integración pueda hacer lo siguiente:

  • Otorgar insignias a un miembro
  • Obtener el listado de insignias otorgadas a un miembro
  • Obtener el listado de insignias disponibles

Leer el correo electrónico de los usuarios

Consulta la dirección de correo electrónico de cualquier miembro del grupo.

read_user_email

Este permiso habilita captar la cuenta de correo electrónico vinculada a la cuenta de un usuario de Workplace.

Leer el perfil laboral

Otorga acceso de solo lectura a la información del directorio de las personas.

read_user_work_profile

Permite que la app capte el departamento, la división, la organización, la dirección principal, el teléfono principal, el cargo y el género de una persona.

Leer el organigrama

Otorga acceso de solo lectura a los gerentes y a los subordinados de las personas.

read_user_org_chart

Permite que la app capte a los gerentes y a los subordinados de las personas.

Enviar un mensaje a cualquier miembro

Envía mensajes de chat a cualquier miembro de tu comunidad y los recibe.

message

Usa este permiso para crear bots en Work Chat.

Leer todos los mensajes

Consulta los mensajes de chat de cualquier miembro en tu comunidad.

read_all_messages

Usa este permiso para habilitar una integración de cumplimiento que supervisará el uso de Workplace Chat.

Eliminar mensajes de chat

delete_messages

Usa este permiso para habilitar que una app elimine mensajes de chat de las conversaciones de una persona (por ejemplo, para implementar una política de retención).

Leer registros de seguridad

Otorga acceso a los detalles sobre los eventos de seguridad (incluye los intentos de inicio de sesión y las solicitudes de restablecimiento de la contraseña).

receive_security_logs

Usa este permiso para habilitar una integración de cumplimiento que supervisará el uso de Workplace Chat.

Cerrar sesión

Cierra todas las sesiones activas de los miembros.

logout

Usa este permiso para cerrar la sesión de un usuario en Workplace.

Crear vistas previas de enlaces

Genera vistas previas enriquecidas para los enlaces compartidos en Workplace.

link_unfurling

Las apps que tengan este permiso podrán generar vistas previas autenticadas de los enlaces que se comparten en Workplace.

Administrar perfiles laborales

Consulta y actualiza los perfiles laborales en Workplace.

manage_profiles

Las apps que cuentan con este permiso combinan los permisos de lectura "read_user_work_profile" y "read_user_org_chart". A su vez, las apps con este permiso pueden actualizar la información de la cuenta (por ejemplo, nombre, departamento, división, cargo, organización, teléfonos).

Otorgar cuentas de usuario

Otorga cuentas en Workplace.

provision_accounts

Las apps que cuentan con este permiso pueden otorgar, desactivar y eliminar cuentas de Workplace (solo se pueden eliminar aquellas no reclamadas). A su vez, este permiso te permite actualizar los campos "email" (correo electrónico), "name" (nombre) y "hire_date" (fecha de contratación) de los miembros activos o invitados.

Leer miembros de grupo

Genera un listado con los miembros de un grupo y otro listado con los grupos de los cuales un usuario es miembro.

list_group_members

Las apps que cuenten con este permiso pueden consultar el listado de miembros de un grupo particular. A su vez, se puede generar un listado de los grupos de los cuales un usuario es miembro.

Administrar el contenido de la biblioteca de recursos

Crea, edita y elimina información importante de la empresa en la biblioteca de recursos.

manage_knowledge_library

Las apps que cuenten con este permiso pueden crear y modificar contenido dentro de la biblioteca de recursos. Usa este permiso para que una integración pueda hacer lo siguiente:

  • Crear, actualizar o eliminar una categoría
  • Crear subcategorías dentro de una categoría
  • Actualizar fotos, videos y archivos en una categoría
  • Crear, actualizar y eliminar un enlace rápido

Leer contenido de la biblioteca de recursos

Consulta información importante de la empresa en la biblioteca de recursos.

read_knowledge_library

Las apps que cuenten con este permiso pueden acceder al contenido de la biblioteca de recursos. Usa este permiso para que una integración pueda hacer lo siguiente:

  • Obtener el listado de categorías
  • Obtener contenido de una categoría específica
  • Obtener el listado de enlaces rápidos

Exportar datos de empleados

Exporta una lista de los empleados actuales y los datos de su actividad en formato CSV.

export_employee_data

Las apps que cuentan con este permiso pueden programar una tarea de exportación de datos que genera un archivo CSV con todos los usuarios de Workplace. El archivo CSV también incluye datos sobre el usuario e información sobre su uso reciente de funciones de Workplace.

Bot de chat en grupo

Permite a los bots interactuar en un chat en grupo.

bot_group_chat

Las apps con este permiso permitirán que los bots interactúen con los miembros de un chat en grupo. Usa este permiso para habilitar que una integración cree o administre un chat en grupo de varias personas.

Este permiso depende del permiso message.

Administrar encuestas

Crear, actualizar, borrar y leer configuración de encuestas

manage_surveys

Las apps que tengan este permiso podrán crear, actualizar, eliminar y leer la configuración de encuestas.

Leer encuestas

Leer la configuración de encuestas y recibir actualizaciones de webhooks relacionadas con encuestas

read_surveys

Las apps que cuentan con este permiso pueden leer configuraciones de encuestas y recibir actualizaciones de webhooks relacionadas con encuestas.

Leer encuestas

Leer la configuración de encuestas y recibir actualizaciones de webhooks relacionadas con encuestas

read_surveys

Las apps que cuentan con este permiso pueden leer configuraciones de encuestas y recibir actualizaciones de webhooks relacionadas con encuestas.

Leer conjuntos de personas

Leer conjuntos de personas

read_people_sets

Las apps que cuentan con este permiso pueden ver configuraciones de conjuntos de personas y suscribirse a actualizaciones relacionadas con conjuntos de personas.

Administrar conjuntos de personas

Administrar conjuntos de personas

manage_people_sets

Las apps que cuentan con este permiso pueden crear, actualizar y eliminar conjuntos de personas en la comunidad de Workplace.

Leer publicaciones importantes

Leer publicaciones importantes

read_important_posts

Permite que la integración lea información sobre las promociones de publicaciones importantes, tanto activas como vencidas.

Administrar publicaciones importantes

Administrar publicaciones importantes

manage_important_posts

Permite que la integración marque publicaciones grupales como de carácter importante y las haga aparecer en la parte superior del feed. También permite detener la promoción de publicaciones importantes de forma prematura.

Eliminar información del perfil

Eliminar información personal para un usuario desactivado

remove_profile_information

Permite que la integración elimine campos de perfil, como el nombre y la imagen de perfil, de usuarios desactivados en Workplace.

Permisos de nivel de grupo

En algunos permisos, existe la posibilidad de limitar una integración para que se encuentre habilitada en determinados grupos. Esto te permite especificar el acceso de una integración al contenido puntual que quieras mostrar.

Por ejemplo, puedes permitir que una integración de publicación de alertas publique únicamente en el grupo exclusivo de un equipo, o bien habilitar que una integración de app para empleados consulte contenido únicamente en determinados grupos abiertos.

Para especificar los permisos de nivel de grupo en una integración personalizada, usa el panel "Acceso al grupo" en el diálogo "Editar integración".

Habilitación del permiso de nivel grupal en esta integración.

Los permisos de nivel de grupo se aplican a los siguientes permisos:

  • Leer el contenido del grupo: consulta las publicaciones, los comentarios y los perfiles de miembro en los grupos seleccionados.
  • Administrar el contenido del grupo : administra las publicaciones y los comentarios en los grupos seleccionados.
  • Administrar grupos: edita o elimina los grupos seleccionados y los miembros.

Puedes configurar una integración para que los permisos de nivel de grupo puedan aplicarse a todos los grupos, grupos específicos seleccionados por el administrador del sistema, o bien permitir que los administradores de grupo habiliten los permisos para sus grupos.

Flujo de instalación para administradores

Cuando la opción Permitir que los administradores de grupo habiliten los permisos para sus grupos está activada, el administrador de un grupo verá una nueva pestaña Integraciones en la pantalla Administrar grupo, la cual le permitirá habilitar la integración en su grupo.

Una app de muestra que ahora puede habilitar el administrador del grupo.

Uso y tokens de app

Cuando creas una nueva app para Workplace, se generará un token de acceso para usarlo con la API Graph, la API de administración de cuentas, o los Webhooks.

Este token de acceso solo se mostrará una vez, así que es importante que lo almacenes en un lugar seguro para usarlo más tarde en el código.

El flujo de restablecimiento de token en una app de integración personalizada

Los tokens de app de Workplace nunca caducan y no necesitan ser actualizados, salvo que hayan sido restablecidos manualmente. Si editas los permisos disponibles para una app determinada, el token existente continuará funcionando; no necesitarás generar un nuevo token.

Si en algún momento necesitas invalidar un token, puedes restablecerlo mediante el botón Restablecer token de acceso en el diálogo Editar app. Se generará un nuevo token, el cual aparecerá visible e invalidará inmediatamente el token anterior.

Seguridad del token

Los tokens de acceso son importantes. Otorgan acceso a los datos de tu empresa en Workplace. Al crear una app, evalúa el conjunto mínimo de permisos necesarios para completar las funciones de integración; no otorgues permisos innecesarios.

Cuando almacenes tokens o los agregues a los repositorios de código, ten mucho cuidado de asegurarte de no compartirlos con las personas equivocadas.

Nunca compartas tokens de acceso a la producción en repositorios de código públicos.

Debes almacenar y usar tus credenciales de la API únicamente en el entorno de tu servidor privado, y asegurarte de que estos valores nunca se copien o transmitan a otro lugar (por ejemplo, a clientes de navegador web o apps para celulares).

Si quieres agregar una capa de seguridad adicional para las integraciones, puedes agregar una lista de IP permitidas, la cual restringirá el uso del token únicamente a aquellos servidores que aparecen entre las direcciones IP autorizadas.

Incorporación de una lista de IP permitidas para restringir el uso del token a determinados servidores, y requisito de la prueba de clave secreta de la app.

Eliminación automática de permisos sin utilizar

Si una integración personalizada no realiza llamadas con un permiso determinado durante 30 días, dicho permiso será eliminado. Luego de que esta situación ocurra una vez en una integración personalizada, habrá una opción disponible para detener dicho proceso de eliminación.

Si se configuró una suscripción válida al Webhook, los Webhooks enviados contarán como una instancia de uso del permiso vinculado.

Controles para la eliminación automática de permisos

Prueba de clave secreta de la app

Los tokens de acceso a Workplace no caducan. Las integraciones personalizadas pueden requerir una prueba de clave secreta de la app para agregar una capa de seguridad adicional. Habilitar la opción "Requerir prueba de clave secreta de la app" garantiza que las llamadas a la API se realizarán únicamente desde el código del servidor. Al realizar llamadas a la API, se requerirá una prueba de clave secreta de la app, junto con el token de acceso.

Para generar una prueba de clave secreta de la app caducable, deberás concatenar el token con una marca de tiempo UNIX separada por una barra vertical | y luego crear un hash SHA-256 de la cadena concatenada usando la clave secreta de la app. A continuación, puedes ver un ejemplo en PHP:

$appsecret_proof = hash_hmac('sha256', $access_token.'|'.time(), $app_secret); 

Algunos sistemas operativos y lenguajes de programación devolverán una marca de tiempo con un valor flotante. Asegúrate de convertir el valor a un número entero antes de calcular la prueba de la clave secreta de la app. Algunos lenguajes de programación crean el hash como objeto "digest". Asegúrate de expresar el hash como objeto hexadecimal.

Para realizar llamadas a la API con la prueba de clave secreta de la app, somete el hash generado al parámetro appsecret_proof, junto con el appsecret_time configurado a la marca de tiempo que usaste al cifrar la clave secreta de la app, acompañada del token de acceso.

GET https://graph.facebook.com/v2.9/community/groups?
&access_token={access-token}
&appsecret_proof={appsecret_proof}
&appsecret_time={appsecret_time}

Las pruebas de clave secreta de la app se considerarán caducadas luego de cinco minutos, de modo que te recomendamos que generes una nueva prueba cada vez que realices una llamada a la API Graph.

Explorar la funcionalidad de la API con Postman

Postman es una herramienta muy utilizada para trabajar con API de sitios web. Es posible que te resulte conveniente explorar la API de Workplace mediante Postman, pero el parámetro $appsecret_proof presenta una complicación: dado que este valor debe ser calculado y expira luego de cinco minutos, la operación puede simplificarse si Postman genera el valor en el momento solicitado. Postman puede lograr tal operación mediante sus scripts de solicitud previa y las funciones de parámetros. Puedes usar el siguiente script como punto de partida:

// Add to Postman's Pre-request Script Tab
var access_token = "replace-me";
var app_secret = "replace-me";
var time = (new Date().getTime()/1000|0);
postman.setEnvironmentVariable("access_token", access_token)
postman.setEnvironmentVariable("appsecret_time", time);
postman.setEnvironmentVariable("appsecret_proof", CryptoJS.HmacSHA256(access_token + '|' + time, app_secret));
1) Crear un entorno activo (no existe uno de forma predeterminada); y luego 2) agregar estos tres parámetros, los cuales calcula tu script de solicitud previa.