Documentation

Connectez Microsoft et Google

Une connexion est l’accès enregistré de votre projet à Microsoft ou à Google, pour le travail qui s’exécute sans personne de connecté. Les sources de salles de réunion, les tableaux de bord Power BI et la synchronisation des médias SharePoint ou OneDrive désignent une connexion plutôt que de porter chacun un locataire, un ID client et un secret. Créez-la une fois et faites-y pointer chacun d’eux.

Comment fonctionne une connexion

  • Fournisseur et mode. provider est microsoft ou google. mode est own_app, votre propre application Microsoft Entra ou compte de service Google, ou screenrig_app, l’application de screenRIG, qu’approuve un administrateur Microsoft 365 ou le titulaire d’un compte Google.
  • Statut. Une connexion reste en pending_consent jusqu’à ce que quelqu’un approuve l’application de screenRIG. Elle est ready tant qu’elle détient des identifiants que la dernière tentative n’a pas refusés, et error quand Microsoft ou Google les a refusés : last_error en 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 à ready et 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 applicationL’application de screenRIG
Vous fournissezPour Microsoft, le locataire, l’ID client et un secret client. Pour Google, la clé JSON d’un compte de serviceRien : screenRIG répond par un lien de consentement à usage unique
Qui approuveVous, quand vous enregistrez l’application et lui donnez accèsUn administrateur Microsoft 365, ou le titulaire du compte Google, qui ouvre le lien
Ce qu’elle litCe que vous accordez à l’applicationPour 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 BIFonctionneRefusé : 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.

  1. L’administrateur ouvre le lien et approuve l’application de screenRIG pour le locataire.
  2. 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.
  3. 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

UtiliserAutorisationNotes
Calendriers de sallesCalendars.ReadLimitez-la à un groupe de sécurité à extension messagerie contenant les boîtes aux lettres des salles avec New-ApplicationAccessPolicy -AccessRight RestrictAccess
Nombre de salles, facultatifPlace.Read.AllUn test de source compte les salles que votre organisation liste
Synchronisation des médias SharePoint et OneDriveSites.SelectedPuis 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 BIAucune pour Microsoft GraphLes 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.

Google

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_id sur une source microsoft365 ou google_calendar à la place de tenant, client_id et client_secret, ou de service_account_key. Les deux modes fonctionnent. Les identifiants en ligne continuent de fonctionner, mais ne peuvent pas être combinés avec connection_id.
  • Synchronisation des médias SharePoint et OneDrive. Un compte de synchronisation Microsoft 365 prend connection_id à la place de tenant_id, client_id et secret.
  • Power BI. Une connexion Power BI prend le connection_id d’une connexion Microsoft en mode own_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.