Comment fonctionne une connexion
- Fournisseur et mode.
providerestmicrosoftougoogle.modeestown_app, votre propre application Microsoft Entra ou compte de service Google, ouscreenrig_app, l’application de screenRIG, qu’approuve un administrateur Microsoft 365 ou le titulaire d’un compte Google. - Statut. Une connexion reste en
pending_consentjusqu’à ce que quelqu’un approuve l’application de screenRIG. Elle estreadytant qu’elle détient des identifiants que la dernière tentative n’a pas refusés, eterrorquand Microsoft ou Google les a refusés :last_erroren donne la raison, et un succès ultérieur la ramène àready. Une limitation de débit ou une panne ne change rien. - Les secrets restent scellés. Un secret, une clé ou un jeton d’actualisation n’est jamais affiché de nouveau. Une lecture indique si l’un d’eux est conservé, avec un indice : les quatre derniers caractères d’un secret client Microsoft, ou l’adresse d’un compte de service Google.
- Tester. Un test se connecte et conserve le résultat. Pour Microsoft, il liste aussi les autorisations d’application Graph que porte le jeton obtenu.
- Modifier. Modifier les identifiants de votre propre application ramène la connexion à
readyet efface sa dernière erreur. Une connexion en mode application de screenRIG peut seulement être renommée : demandez un nouveau lien de consentement pour changer la personne qui l’a approuvée. - Supprimer. La suppression est refusée (
resource_conflict) tant qu’une source, une connexion Power BI ou un compte de synchronisation des médias lit par la connexion. Elle ne met pas fin à l’accès côté fournisseur : le locataire garde l’application de screenRIG jusqu’à ce qu’un administrateur la retire, et un compte Google garde son autorisation jusqu’à ce que son titulaire la révoque. - Limite. Une organisation compte jusqu’à 50 connexions pour l’ensemble de ses projets.
Votre propre application ou celle de screenRIG
| Votre propre application | L’application de screenRIG | |
|---|---|---|
| Vous fournissez | Pour Microsoft, le locataire, l’ID client et un secret client. Pour Google, la clé JSON d’un compte de service | Rien : screenRIG répond par un lien de consentement à usage unique |
| Qui approuve | Vous, quand vous enregistrez l’application et lui donnez accès | Un administrateur Microsoft 365, ou le titulaire du compte Google, qui ouvre le lien |
| Ce qu’elle lit | Ce que vous accordez à l’application | Pour Microsoft, ce que l’administrateur a approuvé, et que vous pouvez restreindre. Pour Google, les calendriers que le compte approbateur peut voir, en lecture seule |
| Power BI | Fonctionne | Refusé : utilisez votre propre application pour Power BI |
Microsoft
Votre propre application
Enregistrez une application dans le centre d’administration Microsoft Entra, ajoutez un secret client (copiez sa valeur, pas son ID), donnez à l’application les autorisations d’application ci-dessous et accordez le consentement administrateur. Créez la connexion avec l’ID du répertoire ou le domaine principal comme config.tenant_id (common, organizations et consumers sont refusés), l’ID d’application comme config.client_id et la valeur du secret client comme secret.
L’application de screenRIG, avec consentement administrateur
Créez la connexion en mode screenrig_app, sans paramètres ni secret. La réponse contient consent_url, un lien à usage unique valable 24 heures. Envoyez-le à un administrateur Microsoft 365 et à personne d’autre : c’est l’identifiant de ce seul consentement.
- L’administrateur ouvre le lien et approuve l’application de screenRIG pour le locataire.
- Microsoft redirige vers screenRIG, qui demande à l’administrateur de se connecter à ce locataire. La connexion enregistre le locataire qui s’est connecté, jamais un locataire qu’une requête ne ferait que prétendre.
- screenRIG se connecte une fois au locataire avec l’autorisation qui lui a été accordée. La connexion passe à
ready.
Un lien ne fonctionne qu’une fois. Un lien plus récent, un consentement terminé ou une suppression met fin à un lien plus ancien, et vous pouvez demander un nouveau lien à tout moment : pour renouveler une connexion passée à error, ou pour rattacher un autre locataire. Si l’administrateur refuse ou si la connexion n’aboutit pas, la connexion enregistre consent_denied ou consent_failed (avec le code AADSTS de Microsoft) et conserve son consentement en attente, de sorte que le même lien peut être rouvert. Une connexion qui fonctionne déjà n’est jamais dégradée par un second consentement refusé. Si le locataire retire l’application de screenRIG, la connexion indique consent_revoked : demandez à un administrateur d’approuver de nouveau.
L’approbation vaut pour un locataire. Dès qu’un administrateur a approuvé l’application de screenRIG, toute personne qui peut se connecter au locataire peut le rattacher à un projet qui lui appartient : restreignez donc ce que l’application peut lire, comme ci-dessous. Supprimer l’application d’entreprise dans Microsoft Entra met fin à l’accès de tous les projets.
Ce que l’application peut lire
| Utiliser | Autorisation | Notes |
|---|---|---|
| Calendriers de salles | Calendars.Read | Limitez-la à un groupe de sécurité à extension messagerie contenant les boîtes aux lettres des salles avec New-ApplicationAccessPolicy -AccessRight RestrictAccess |
| Nombre de salles, facultatif | Place.Read.All | Un test de source compte les salles que votre organisation liste |
| Synchronisation des médias SharePoint et OneDrive | Sites.Selected | Puis une autorisation read pour chaque site (POST /v1.0/sites/{site-id}/permissions). Files.Read.All et Sites.Read.All lisent tous les sites et ne sont pas demandés |
| Power BI | Aucune pour Microsoft Graph | Les paramètres de locataire propres à Power BI et l’appartenance à l’espace de travail s’appliquent |
Un test de connexion indique lesquelles de ces autorisations le jeton porte. Il avertit quand seule Sites.Selected est détenue, car chaque site a encore besoin de son autorisation, et il échoue quand aucune ne l’est.
Votre propre application
Créez un compte de service dans Google Cloud, activez l’API Google Calendar et téléchargez sa clé JSON (16 Kio au plus). Donnez le fichier entier à la connexion comme secret : screenRIG le vérifie à l’enregistrement. Ensuite, partagez chaque calendrier de salle avec l’adresse du compte de service, ou activez la délégation à l’échelle du domaine pour le compte dans la console d’administration avec la portée https://www.googleapis.com/auth/calendar.events.readonly et indiquez un subject sur la source.
L’application de screenRIG
Le lien de consentement ouvre la page de consentement de Google. Le titulaire du compte accorde un accès en lecture seule aux événements du calendrier (la portée calendar.events.readonly, avec openid et email pour que screenRIG sache quel compte a approuvé). Si la personne décoche l’autorisation du calendrier, le consentement échoue. Une source lit les calendriers que ce compte peut voir : le compte doit donc voir chaque calendrier de salle que la source liste, et une source d’une telle connexion ne peut pas indiquer de subject. Quand Google cesse d’honorer l’autorisation, la connexion indique reconnect_required : demandez un nouveau lien.
Utiliser une connexion
- Sources de salles de réunion. Définissez
connection_idsur une sourcemicrosoft365ougoogle_calendarà la place detenant,client_idetclient_secret, ou deservice_account_key. Les deux modes fonctionnent. Les identifiants en ligne continuent de fonctionner, mais ne peuvent pas être combinés avecconnection_id. - Synchronisation des médias SharePoint et OneDrive. Un compte de synchronisation Microsoft 365 prend
connection_idà la place detenant_id,client_idetsecret. - Power BI. Une connexion Power BI prend le
connection_idd’une connexion Microsoft en modeown_app, à la place de son propre locataire, ID client et secret. Microsoft ne décrit pas une application d’un autre locataire qui génère des jetons d’intégration dans le locataire d’un client : l’application de screenRIG est donc refusée pour Power BI. Un administrateur Power BI doit toujours activer les paramètres de principal de service et ajouter l’application à chaque espace de travail.
Une source dont la connexion est absente, en attente d’approbation ou d’un autre fournisseur indique config_invalid. Quand Microsoft ou Google refuse l’ouverture de session, la source indique auth_failed et la connexion passe à error.
En créer une
Créez une connexion dans le tableau de bord, ou avec POST /api/connections. Pour votre propre application Microsoft :
{
"provider": "microsoft",
"mode": "own_app",
"name": "Contoso rooms",
"config": {"tenant_id": "contoso.com", "client_id": "CLIENT_ID"},
"secret": "CLIENT_SECRET_VALUE"
}Pour l’application de screenRIG, sans paramètres ni secret :
{"provider": "google", "mode": "screenrig_app", "name": "Campus rooms"}La réponse à la seconde contient consent_url et consent_expires_at : envoyez le lien à la personne qui approuve. POST /api/connections/ID/connect crée un nouveau lien, et POST /api/connections/ID/test se connecte et conserve le résultat. Gardez les secrets dans le fichier de requête, pas sur la ligne de commande.
connection_app_not_configured signifie que le serveur n’a pas d’application screenRIG pour ce fournisseur : créez la connexion avec votre propre application. connection_limit_reached signifie que l’organisation en a 50 : supprimez-en une que rien ne lit, ou réutilisez une connexion existante.