Como uma conexão funciona
- Provedor e modo.
providerémicrosoftougoogle.modeéown_app, seu próprio aplicativo do Microsoft Entra ou conta de serviço do Google, ouscreenrig_app, o aplicativo do screenRIG, que um administrador do Microsoft 365 ou o titular de uma conta do Google aprova. - Status. Uma conexão fica em
pending_consentaté que alguém aprove o aplicativo do screenRIG. Ela ficareadyenquanto tiver credenciais que a última tentativa não recusou, eerrorquando a Microsoft ou o Google as recusou:last_errordiz por quê, e um sucesso posterior a leva de volta aready. Uma limitação de taxa ou uma queda não muda nada. - Segredos permanecem selados. Um segredo, uma chave ou um token de atualização nunca é mostrado de novo. Uma leitura mostra se há um guardado e uma dica: os quatro últimos caracteres de um segredo de cliente da Microsoft ou o endereço de uma conta de serviço do Google.
- Teste. Um teste faz login e guarda o resultado. No Microsoft, ele também lista as permissões de aplicativo do Graph que o token obtido carrega.
- Altere. Alterar as credenciais do seu próprio aplicativo leva a conexão de volta a
readye limpa o último erro. Uma conexão no modo aplicativo do screenRIG só pode ser renomeada: peça um novo link de consentimento para mudar quem a aprovou. - Exclua. A exclusão é recusada (
resource_conflict) enquanto uma fonte, uma conexão do Power BI ou uma conta de sincronização de mídia ler por meio da conexão. Ela não encerra o lado do fornecedor: o tenant mantém o aplicativo do screenRIG até que um administrador o remova, e uma conta do Google mantém sua concessão até que seu titular a revogue. - Limite. Uma organização tem até 50 conexões em todos os seus projetos.
Seu próprio aplicativo ou o do screenRIG
| Seu próprio aplicativo | O aplicativo do screenRIG | |
|---|---|---|
| Você fornece | No Microsoft, o tenant, o ID de cliente e um segredo de cliente. No Google, a chave JSON de uma conta de serviço | Nada: o screenRIG responde com um link de consentimento de uso único |
| Quem aprova | Você, ao registrar o aplicativo e dar acesso a ele | Um administrador do Microsoft 365, ou o titular da conta do Google, que abre o link |
| O que ele lê | O que você concede ao aplicativo | No Microsoft, o que o administrador aprovou, que você pode restringir. No Google, as agendas que a conta aprovadora pode ver, somente leitura |
| Power BI | Funciona | Recusado: use seu próprio aplicativo para o Power BI |
Microsoft
Seu próprio aplicativo
Registre um aplicativo no centro de administração do Microsoft Entra, adicione um segredo de cliente (copie o valor dele, não o ID), dê ao aplicativo as permissões de aplicativo abaixo e conceda o consentimento do administrador. Crie a conexão com o ID do diretório ou o domínio primário como config.tenant_id (common, organizations e consumers são recusados), o ID do aplicativo como config.client_id e o valor do segredo de cliente como secret.
O aplicativo do screenRIG, com consentimento do administrador
Crie a conexão no modo screenrig_app, sem configurações e sem segredo. A resposta traz consent_url, um link de uso único válido por 24 horas. Envie-o a um administrador do Microsoft 365 e a mais ninguém: ele é a credencial desse único consentimento.
- O administrador abre o link e aprova o aplicativo do screenRIG para o tenant.
- O Microsoft volta ao screenRIG, que pede ao administrador que faça login nesse tenant. A conexão registra o tenant em que o login foi feito, nunca um que uma solicitação apenas afirme.
- O screenRIG faz login uma vez no tenant com a permissão que recebeu. A conexão passa a
ready.
Um link funciona uma vez. Um link mais novo, um consentimento concluído ou uma exclusão encerra um mais antigo, e você pode pedir um novo link a qualquer momento: para renovar uma conexão que passou a error, ou para associar outro tenant. Se o administrador recusar ou o login não for concluído, a conexão registra consent_denied ou consent_failed (com o código AADSTS da Microsoft) e mantém o consentimento pendente, de modo que o mesmo link pode ser aberto de novo. Uma conexão que já funciona nunca é degradada por um segundo consentimento recusado. Se o tenant remover o aplicativo do screenRIG, a conexão indica consent_revoked: peça a um administrador que aprove de novo.
A aprovação vale por tenant. Depois que um administrador aprova o aplicativo do screenRIG, qualquer pessoa que consiga fazer login no tenant pode conectá-lo a um projeto próprio, então restrinja o que o aplicativo pode ler, como abaixo. Excluir o aplicativo empresarial no Microsoft Entra encerra o acesso de todos os projetos.
O que o aplicativo pode ler
| Usar | Permissão | Notas |
|---|---|---|
| Agendas de salas | Calendars.Read | Limite-a a um grupo de segurança habilitado para email com as caixas de correio das salas usando New-ApplicationAccessPolicy -AccessRight RestrictAccess |
| Contagem de salas, opcional | Place.Read.All | Um teste de fonte conta as salas que sua organização lista |
| Sincronização de mídia do SharePoint e do OneDrive | Sites.Selected | Depois, uma concessão read para cada site (POST /v1.0/sites/{site-id}/permissions). Files.Read.All e Sites.Read.All leem todos os sites e não são solicitadas |
| Power BI | Nenhuma para o Microsoft Graph | Valem as configurações de tenant do próprio Power BI e a participação no workspace |
Um teste de conexão lista quais destas permissões o token carrega. Ele avisa quando só Sites.Selected está presente, porque cada site ainda precisa da sua concessão, e falha quando nenhuma está.
Seu próprio aplicativo
Crie uma conta de serviço no Google Cloud, ative a API do Google Calendar e baixe a chave JSON dela (no máximo 16 KiB). Entregue à conexão o arquivo inteiro como secret: o screenRIG o verifica ao salvar. Depois compartilhe cada agenda de sala com o endereço da conta de serviço, ou ative a delegação em todo o domínio para a conta no console de administração com o escopo https://www.googleapis.com/auth/calendar.events.readonly e informe um subject na fonte.
O aplicativo do screenRIG
O link de consentimento abre a página de consentimento do Google. O titular da conta concede acesso somente leitura aos eventos da agenda (o escopo calendar.events.readonly, com openid e email para que o screenRIG saiba qual conta aprovou). Se a pessoa desmarcar a permissão da agenda, o consentimento falha. Uma fonte lê as agendas que essa conta pode ver, então a conta precisa ver cada agenda de sala que a fonte lista, e uma fonte de uma conexão assim não pode informar um subject. Quando o Google deixa de honrar a concessão, a conexão indica reconnect_required: peça um novo link.
Usar uma conexão
- Fontes de salas de reunião. Defina
connection_idem uma fontemicrosoft365ougoogle_calendarno lugar detenant,client_ideclient_secret, ou deservice_account_key. Os dois modos servem. As credenciais embutidas continuam funcionando, mas não podem ser combinadas comconnection_id. - Sincronização de mídia do SharePoint e do OneDrive. Uma conta de sincronização do Microsoft 365 aceita
connection_idno lugar detenant_id,client_idesecret. - Power BI. Uma conexão do Power BI aceita o
connection_idde uma conexão da Microsoft no modoown_app, no lugar do próprio tenant, ID de cliente e segredo. A Microsoft não descreve um aplicativo de outro tenant gerando tokens de incorporação no tenant de um cliente, então o aplicativo do screenRIG é recusado para o Power BI. Um administrador do Power BI ainda precisa ativar as configurações de entidade de serviço e adicionar o aplicativo a cada workspace.
Uma fonte cuja conexão está ausente, aguardando aprovação ou é do outro provedor indica config_invalid. Quando a Microsoft ou o Google recusa o login, a fonte indica auth_failed e a conexão passa a error.
Criar uma
Crie uma conexão no dashboard ou com POST /api/connections. Para seu próprio aplicativo da Microsoft:
{
"provider": "microsoft",
"mode": "own_app",
"name": "Contoso rooms",
"config": {"tenant_id": "contoso.com", "client_id": "CLIENT_ID"},
"secret": "CLIENT_SECRET_VALUE"
}Para o aplicativo do screenRIG, sem configurações e sem segredo:
{"provider": "google", "mode": "screenrig_app", "name": "Campus rooms"}A resposta à segunda traz consent_url e consent_expires_at: envie o link à pessoa que aprova. POST /api/connections/ID/connect cria um novo link, e POST /api/connections/ID/test faz login e guarda o resultado. Mantenha os segredos no arquivo da solicitação, não na linha de comando.
connection_app_not_configured significa que o servidor não tem aplicativo do screenRIG para esse provedor: crie a conexão com seu próprio aplicativo. connection_limit_reached significa que a organização tem 50: exclua uma que nada lê, ou reutilize uma conexão existente.