Cómo funciona una conexión
- Proveedor y modo.
provideresmicrosoftogoogle.modeesown_app, su propia aplicación de Microsoft Entra o cuenta de servicio de Google, oscreenrig_app, la aplicación de screenRIG, que aprueba un administrador de Microsoft 365 o el titular de una cuenta de Google. - Estado. Una conexión espera en
pending_consenthasta que alguien apruebe la aplicación de screenRIG. Estáreadymientras tenga credenciales que el último intento no rechazó, yerrorcuando Microsoft o Google las rechazaron:last_errordice por qué, y un éxito posterior la devuelve aready. Una limitación de velocidad o una caída no cambian nada. - Los secretos permanecen sellados. Un secreto, una clave o un token de actualización nunca vuelve a mostrarse. Una lectura indica si hay uno guardado y da una pista: los cuatro últimos caracteres de un secreto de cliente de Microsoft, o la dirección de una cuenta de servicio de Google.
- Pruébela. Una prueba inicia sesión y guarda el resultado. En Microsoft también lista los permisos de aplicación de Graph que lleva el token obtenido.
- Cámbiela. Cambiar las credenciales de su propia aplicación devuelve la conexión a
readyy borra su último error. Una conexión en modo aplicación de screenRIG solo puede renombrarse: pida un nuevo enlace de consentimiento para cambiar quién la aprobó. - Elimínela. La eliminación se rechaza (
resource_conflict) mientras una fuente, una conexión de Power BI o una cuenta de sincronización de medios lea a través de la conexión. No pone fin al acceso del lado del proveedor: el tenant conserva la aplicación de screenRIG hasta que un administrador la quite, y una cuenta de Google conserva su concesión hasta que su titular la revoque. - Límite. Una organización tiene hasta 50 conexiones en todos sus proyectos.
Su propia aplicación o la de screenRIG
| Su propia aplicación | La aplicación de screenRIG | |
|---|---|---|
| Usted aporta | En Microsoft, el tenant, el ID de cliente y un secreto de cliente. En Google, la clave JSON de una cuenta de servicio | Nada: screenRIG responde con un enlace de consentimiento de un solo uso |
| Quién aprueba | Usted, cuando registra la aplicación y le concede acceso | Un administrador de Microsoft 365, o el titular de la cuenta de Google, que abre el enlace |
| Qué lee | Lo que usted concede a la aplicación | En Microsoft, lo que aprobó el administrador, que usted puede acotar. En Google, los calendarios que la cuenta aprobadora puede ver, en solo lectura |
| Power BI | Funciona | Rechazado: use su propia aplicación para Power BI |
Microsoft
Su propia aplicación
Registre una aplicación en el centro de administración de Microsoft Entra, añada un secreto de cliente (copie su valor, no su ID), dé a la aplicación los permisos de aplicación que figuran abajo y conceda el consentimiento del administrador. Cree la conexión con el ID del directorio o el dominio principal como config.tenant_id (common, organizations y consumers se rechazan), el ID de aplicación como config.client_id y el valor del secreto de cliente como secret.
La aplicación de screenRIG, con consentimiento del administrador
Cree la conexión en modo screenrig_app, sin ajustes ni secreto. La respuesta incluye consent_url, un enlace de un solo uso válido durante 24 horas. Envíelo a un administrador de Microsoft 365 y a nadie más: es la credencial de ese único consentimiento.
- El administrador abre el enlace y aprueba la aplicación de screenRIG para el tenant.
- Microsoft vuelve a screenRIG, que pide al administrador que inicie sesión en ese tenant. La conexión registra el tenant en el que se inició sesión, nunca uno que una solicitud solo afirme.
- screenRIG inicia sesión una vez en el tenant con el permiso que se le dio. La conexión pasa a
ready.
Un enlace funciona una sola vez. Un enlace más nuevo, un consentimiento terminado o una eliminación invalida uno anterior, y puede pedir un enlace nuevo en cualquier momento: para renovar una conexión que pasó a error, o para asociar otro tenant. Si el administrador lo rechaza o el inicio de sesión no se completa, la conexión registra consent_denied o consent_failed (con el código AADSTS de Microsoft) y conserva su consentimiento pendiente, de modo que el mismo enlace puede abrirse de nuevo. Una conexión que ya funciona nunca se degrada por un segundo consentimiento rechazado. Si el tenant quita la aplicación de screenRIG, la conexión indica consent_revoked: pida a un administrador que apruebe de nuevo.
La aprobación es por tenant. Cuando un administrador ha aprobado la aplicación de screenRIG, cualquier persona que pueda iniciar sesión en el tenant puede conectarlo a un proyecto propio, así que acote lo que la aplicación puede leer, como se indica abajo. Eliminar la aplicación empresarial en Microsoft Entra pone fin al acceso de todos los proyectos.
Qué puede leer la aplicación
| Usar | Permiso | Notas |
|---|---|---|
| Calendarios de salas | Calendars.Read | Límitelo a un grupo de seguridad habilitado para correo con los buzones de las salas mediante New-ApplicationAccessPolicy -AccessRight RestrictAccess |
| Recuento de salas, opcional | Place.Read.All | Una prueba de fuente cuenta las salas que lista su organización |
| Sincronización de medios de SharePoint y OneDrive | Sites.Selected | Después, una concesión read para cada sitio (POST /v1.0/sites/{site-id}/permissions). Files.Read.All y Sites.Read.All leen todos los sitios y no se solicitan |
| Power BI | Ninguno para Microsoft Graph | Se aplican los ajustes de tenant propios de Power BI y la pertenencia al área de trabajo |
Una prueba de conexión lista cuáles de estos permisos lleva el token. Avisa cuando solo se tiene Sites.Selected, porque cada sitio sigue necesitando su concesión, y falla cuando no se tiene ninguno.
Su propia aplicación
Cree una cuenta de servicio en Google Cloud, habilite la API de Google Calendar y descargue su clave JSON (16 KiB como máximo). Entregue a la conexión el archivo completo como secret: screenRIG lo comprueba al guardar. Después comparta cada calendario de sala con la dirección de la cuenta de servicio, o active la delegación en todo el dominio para la cuenta en la consola de administración con el ámbito https://www.googleapis.com/auth/calendar.events.readonly e indique un subject en la fuente.
La aplicación de screenRIG
El enlace de consentimiento abre la página de consentimiento de Google. El titular de la cuenta concede acceso de solo lectura a los eventos del calendario (el ámbito calendar.events.readonly, con openid y email para que screenRIG sepa qué cuenta aprobó). Si la persona desmarca el permiso del calendario, el consentimiento falla. Una fuente lee los calendarios que esa cuenta puede ver, así que la cuenta debe ver cada calendario de sala que la fuente lista, y una fuente de una conexión así no puede indicar un subject. Cuando Google deja de aceptar la concesión, la conexión indica reconnect_required: pida un enlace nuevo.
Usar una conexión
- Fuentes de salas de reuniones. Establezca
connection_iden una fuentemicrosoft365ogoogle_calendaren lugar detenant,client_idyclient_secret, o deservice_account_key. Sirven los dos modos. Las credenciales en línea siguen funcionando, pero no pueden combinarse conconnection_id. - Sincronización de medios de SharePoint y OneDrive. Una cuenta de sincronización de Microsoft 365 acepta
connection_iden lugar detenant_id,client_idysecret. - Power BI. Una conexión de Power BI acepta el
connection_idde una conexión de Microsoft en modoown_app, en lugar de su propio tenant, ID de cliente y secreto. Microsoft no describe una aplicación de otro tenant que genere tokens de inserción en el tenant de un cliente, así que la aplicación de screenRIG se rechaza para Power BI. Un administrador de Power BI sigue teniendo que activar los ajustes de la entidad de servicio y añadir la aplicación a cada área de trabajo.
Una fuente cuya conexión falta, está pendiente de aprobación o es del otro proveedor indica config_invalid. Cuando Microsoft o Google rechaza el inicio de sesión, la fuente indica auth_failed y la conexión pasa a error.
Crear una
Cree una conexión en el panel o con POST /api/connections. Para su propia aplicación de Microsoft:
{
"provider": "microsoft",
"mode": "own_app",
"name": "Contoso rooms",
"config": {"tenant_id": "contoso.com", "client_id": "CLIENT_ID"},
"secret": "CLIENT_SECRET_VALUE"
}Para la aplicación de screenRIG, sin ajustes ni secreto:
{"provider": "google", "mode": "screenrig_app", "name": "Campus rooms"}La respuesta a la segunda incluye consent_url y consent_expires_at: envíe el enlace a la persona que aprueba. POST /api/connections/ID/connect crea un enlace nuevo, y POST /api/connections/ID/test inicia sesión y guarda el resultado. Guarde los secretos en el archivo de la solicitud, no en la línea de comandos.
connection_app_not_configured significa que el servidor no tiene aplicación de screenRIG para ese proveedor: cree la conexión con su propia aplicación. connection_limit_reached significa que la organización tiene 50: elimine una que nada lea, o reutilice una conexión existente.