So funktioniert eine Verbindung
- Anbieter und Modus.
provideristmicrosoftodergoogle.modeistown_app, Ihre eigene Microsoft-Entra-App oder Ihr eigenes Google-Dienstkonto, oderscreenrig_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 istready, solange sie Zugangsdaten hält, die der letzte Versuch nicht abgelehnt hat, underror, wenn Microsoft oder Google sie abgelehnt haben:last_errornennt den Grund, und ein späterer Erfolg setzt sie aufreadyzurü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
readyzurü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 App | Die App von screenRIG | |
|---|---|---|
| Sie liefern | Bei Microsoft den Mandanten, die Client-ID und ein Client-Secret. Bei Google den JSON-Schlüssel eines Dienstkontos | Nichts: screenRIG antwortet mit einem einmaligen Zustimmungslink |
| Wer genehmigt | Sie, wenn Sie die App registrieren und ihr Zugriff gewähren | Ein Microsoft-365-Administrator oder der Google-Kontoinhaber, der den Link öffnet |
| Was sie liest | Was Sie der App gewähren | Bei 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 BI | Funktioniert | Abgelehnt: 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.
- Der Administrator öffnet den Link und genehmigt die App von screenRIG für den Mandanten.
- 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.
- 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
| Verwenden | Berechtigung | Notizen |
|---|---|---|
| Raumkalender | Calendars.Read | Beschränken Sie sie mit New-ApplicationAccessPolicy -AccessRight RestrictAccess auf eine E-Mail-aktivierte Sicherheitsgruppe der Raumpostfächer |
| Raumanzahl, optional | Place.Read.All | Ein Quellentest zählt die Räume, die Ihre Organisation auflistet |
| SharePoint- und OneDrive-Mediensynchronisierung | Sites.Selected | Dann 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 BI | Keine für Microsoft Graph | Es 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.
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_idan einermicrosoft365- odergoogle_calendar-Quelle anstelle vontenant,client_idundclient_secretoderservice_account_key. Beide Modi funktionieren. Inline-Zugangsdaten funktionieren weiterhin, lassen sich aber nicht mitconnection_idmischen. - SharePoint- und OneDrive-Mediensynchronisierung. Ein Microsoft-365-Synchronisierungskonto nimmt
connection_idanstelle vontenant_id,client_idundsecret. - Power BI. Eine Power-BI-Verbindung nimmt die
connection_ideiner Microsoft-Verbindung im Modusown_appanstelle 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.