Dokumentation

Microsoft und Google verbinden

Eine Verbindung ist der gespeicherte Zugriff Ihres Projekts auf Microsoft oder Google, für Arbeit, die läuft, ohne dass jemand angemeldet ist. Quellen für Besprechungsräume, Power-BI-Dashboards und die SharePoint- oder OneDrive-Mediensynchronisierung nennen eine Verbindung, statt jeweils einen Mandanten, eine Client-ID und ein Secret mitzubringen. Legen Sie sie einmal an und lassen Sie jede davon darauf zeigen.

So funktioniert eine Verbindung

  • Anbieter und Modus. provider ist microsoft oder google. mode ist own_app, Ihre eigene Microsoft-Entra-App oder Ihr eigenes Google-Dienstkonto, oder screenrig_app, die App von screenRIG, die ein Microsoft-365-Administrator oder ein Google-Kontoinhaber genehmigt.
  • Status. Eine Verbindung bleibt in pending_consent, bis jemand die App von screenRIG genehmigt. Sie ist ready, solange sie Zugangsdaten hält, die der letzte Versuch nicht abgelehnt hat, und error, wenn Microsoft oder Google sie abgelehnt haben: last_error nennt den Grund, und ein späterer Erfolg setzt sie auf ready zurück. Eine Drosselung oder ein Ausfall ändert nichts.
  • Secrets bleiben versiegelt. Ein Secret, ein Schlüssel oder ein Aktualisierungs-Token wird nie wieder angezeigt. Ein Lesezugriff zeigt, ob eines gespeichert ist, und einen Hinweis: die letzten vier Zeichen eines Microsoft-Client-Secrets oder die Adresse eines Google-Dienstkontos.
  • Testen. Ein Test meldet sich an und speichert das Ergebnis. Bei Microsoft listet er außerdem die Graph-Anwendungsberechtigungen auf, die das erhaltene Token trägt.
  • Ändern. Wenn Sie die Zugangsdaten Ihrer eigenen App ändern, wird die Verbindung auf ready zurückgesetzt und ihr letzter Fehler gelöscht. Eine Verbindung im Modus „App von screenRIG“ kann nur umbenannt werden: Fordern Sie einen neuen Zustimmungslink an, um zu ändern, wer sie genehmigt hat.
  • Löschen. Das Löschen wird abgelehnt (resource_conflict), solange eine Quelle, eine Power-BI-Verbindung oder ein Mediensynchronisierungskonto über die Verbindung liest. Es beendet nicht die Seite des Anbieters: Der Mandant behält die App von screenRIG, bis ein Administrator sie entfernt, und ein Google-Konto behält seine Freigabe, bis der Inhaber sie widerruft.
  • Limit. Eine Organisation hat bis zu 50 Verbindungen über alle ihre Projekte.

Ihre eigene App oder die App von screenRIG

Ihre eigene AppDie App von screenRIG
Sie liefernBei Microsoft den Mandanten, die Client-ID und ein Client-Secret. Bei Google den JSON-Schlüssel eines DienstkontosNichts: screenRIG antwortet mit einem einmaligen Zustimmungslink
Wer genehmigtSie, wenn Sie die App registrieren und ihr Zugriff gewährenEin Microsoft-365-Administrator oder der Google-Kontoinhaber, der den Link öffnet
Was sie liestWas Sie der App gewährenBei Microsoft das, was der Administrator genehmigt hat und was Sie einschränken können. Bei Google die Kalender, die das genehmigende Konto sehen kann, nur lesend
Power BIFunktioniertAbgelehnt: Verwenden Sie für Power BI Ihre eigene App

Microsoft

Ihre eigene App

Registrieren Sie eine App im Microsoft-Entra-Admin-Center, fügen Sie ein Client-Secret hinzu (kopieren Sie seinen Wert, nicht seine ID), geben Sie der App die unten genannten Anwendungsberechtigungen und erteilen Sie die Administratorzustimmung. Legen Sie die Verbindung mit der Verzeichnis-ID oder der primären Domain als config.tenant_id an (common, organizations und consumers werden abgelehnt), mit der Anwendungs-ID als config.client_id und dem Wert des Client-Secrets als secret.

Die App von screenRIG, mit Administratorzustimmung

Legen Sie die Verbindung im Modus screenrig_app ohne Einstellungen und ohne Secret an. Die Antwort enthält consent_url, einen einmaligen Link, der 24 Stunden gilt. Senden Sie ihn an einen Microsoft-365-Administrator und an niemanden sonst: Er ist die Zugangsberechtigung dieser einen Zustimmung.

  1. Der Administrator öffnet den Link und genehmigt die App von screenRIG für den Mandanten.
  2. Microsoft kehrt zu screenRIG zurück, das den Administrator bittet, sich bei diesem Mandanten anzumelden. Die Verbindung speichert den Mandanten, bei dem die Anmeldung erfolgte, nie einen, den eine Anfrage nur behauptet.
  3. screenRIG meldet sich einmal mit der erteilten Berechtigung beim Mandanten an. Die Verbindung wird ready.

Ein Link funktioniert nur einmal. Ein neuerer Link, eine abgeschlossene Zustimmung oder ein Löschen beendet einen älteren, und Sie können jederzeit einen neuen Link anfordern: um eine Verbindung zu erneuern, die auf error gewechselt ist, oder um einen anderen Mandanten zuzuordnen. Lehnt der Administrator ab oder wird die Anmeldung nicht abgeschlossen, speichert die Verbindung consent_denied oder consent_failed (mit dem AADSTS-Code von Microsoft) und behält die ausstehende Zustimmung, sodass derselbe Link erneut geöffnet werden kann. Eine Verbindung, die bereits funktioniert, wird durch eine abgelehnte zweite Zustimmung nie beeinträchtigt. Entfernt der Mandant die App von screenRIG, meldet die Verbindung consent_revoked: Bitten Sie einen Administrator, erneut zu genehmigen.

Die Genehmigung gilt je Mandant. Hat ein Administrator die App von screenRIG einmal genehmigt, kann jede Person, die sich beim Mandanten anmelden kann, ihn mit einem eigenen Projekt verbinden. Schränken Sie deshalb ein, was die App lesen darf, wie unten beschrieben. Das Löschen der Unternehmensanwendung in Microsoft Entra beendet den Zugriff aller Projekte.

Was die App lesen darf

VerwendenBerechtigungNotizen
RaumkalenderCalendars.ReadBeschränken Sie sie mit New-ApplicationAccessPolicy -AccessRight RestrictAccess auf eine E-Mail-aktivierte Sicherheitsgruppe der Raumpostfächer
Raumanzahl, optionalPlace.Read.AllEin Quellentest zählt die Räume, die Ihre Organisation auflistet
SharePoint- und OneDrive-MediensynchronisierungSites.SelectedDann eine read-Freigabe für jede Website (POST /v1.0/sites/{site-id}/permissions). Files.Read.All und Sites.Read.All lesen jede Website und werden nicht angefordert
Power BIKeine für Microsoft GraphEs gelten die eigenen Mandanteneinstellungen von Power BI und die Mitgliedschaft im Arbeitsbereich

Ein Verbindungstest listet auf, welche dieser Berechtigungen das Token trägt. Er warnt, wenn nur Sites.Selected vorhanden ist, weil jede Website weiterhin ihre Freigabe braucht, und er schlägt fehl, wenn keine vorhanden ist.

Google

Ihre eigene App

Erstellen Sie in Google Cloud ein Dienstkonto, aktivieren Sie die Google Calendar API und laden Sie seinen JSON-Schlüssel herunter (höchstens 16 KiB). Geben Sie der Verbindung die ganze Datei als secret: screenRIG prüft sie beim Speichern. Geben Sie dann jeden Raumkalender für die Adresse des Dienstkontos frei oder aktivieren Sie für das Konto in der Admin-Konsole die domänenweite Delegierung mit dem Bereich https://www.googleapis.com/auth/calendar.events.readonly und nennen Sie an der Quelle ein subject.

Die App von screenRIG

Der Zustimmungslink öffnet die Zustimmungsseite von Google. Der Kontoinhaber gewährt Lesezugriff auf Kalenderereignisse (der Bereich calendar.events.readonly, mit openid und email, damit screenRIG erfährt, welches Konto genehmigt hat). Entfernt die Person das Häkchen bei der Kalenderberechtigung, schlägt die Zustimmung fehl. Eine Quelle liest die Kalender, die dieses Konto sehen kann, daher muss das Konto jeden Raumkalender sehen, den die Quelle auflistet, und eine Quelle einer solchen Verbindung kann kein subject nennen. Erkennt Google die Freigabe nicht mehr an, meldet die Verbindung reconnect_required: Fordern Sie einen neuen Link an.

Eine Verbindung verwenden

  • Quellen für Besprechungsräume. Setzen Sie connection_id an einer microsoft365- oder google_calendar-Quelle anstelle von tenant, client_id und client_secret oder service_account_key. Beide Modi funktionieren. Inline-Zugangsdaten funktionieren weiterhin, lassen sich aber nicht mit connection_id mischen.
  • SharePoint- und OneDrive-Mediensynchronisierung. Ein Microsoft-365-Synchronisierungskonto nimmt connection_id anstelle von tenant_id, client_id und secret.
  • Power BI. Eine Power-BI-Verbindung nimmt die connection_id einer Microsoft-Verbindung im Modus own_app anstelle ihres eigenen Mandanten, ihrer Client-ID und ihres Secrets. Microsoft beschreibt nicht, dass eine App eines anderen Mandanten Einbettungs-Token im Mandanten eines Kunden erzeugt, daher wird die App von screenRIG für Power BI abgelehnt. Ein Power-BI-Administrator muss weiterhin die Einstellungen für Dienstprinzipale aktivieren und die App jedem Arbeitsbereich hinzufügen.

Eine Quelle, deren Verbindung fehlt, auf Genehmigung wartet oder zum anderen Anbieter gehört, meldet config_invalid. Wenn Microsoft oder Google die Anmeldung ablehnt, meldet die Quelle auth_failed und die Verbindung wechselt zu error.

Eine anlegen

Legen Sie eine Verbindung im Dashboard oder mit POST /api/connections an. Für Ihre eigene Microsoft-App:

{
  "provider": "microsoft",
  "mode": "own_app",
  "name": "Contoso rooms",
  "config": {"tenant_id": "contoso.com", "client_id": "CLIENT_ID"},
  "secret": "CLIENT_SECRET_VALUE"
}

Für die App von screenRIG, ohne Einstellungen und ohne Secret:

{"provider": "google", "mode": "screenrig_app", "name": "Campus rooms"}

Die Antwort auf die zweite enthält consent_url und consent_expires_at: Senden Sie den Link an die Person, die genehmigt. POST /api/connections/ID/connect erzeugt einen neuen Link, und POST /api/connections/ID/test meldet sich an und speichert das Ergebnis. Halten Sie Secrets in der Anfragedatei, nicht in der Befehlszeile.

connection_app_not_configured bedeutet, dass der Server keine screenRIG-App für diesen Anbieter hat: Legen Sie die Verbindung mit Ihrer eigenen App an. connection_limit_reached bedeutet, dass die Organisation 50 hat: Löschen Sie eine, die nichts liest, oder verwenden Sie eine vorhandene Verbindung wieder.