Saltar para o conteúdo

Provisionar utilizadores com SCIM

Use este guia quando quer controlar o ciclo de vida — a saída de um colaborador tem de revogar o acesso automaticamente, e não apenas bloquear inícios de sessão futuros. O SCIM é o protocolo de envio que os IdPs (Okta, Entra ID e outros) usam exatamente para isso.

  • O SSO já a funcionar (o tutorial de SSO ou o guia de OIDC),
  • um servidor que o IdP consiga alcançar por HTTPS — as chamadas SCIM partem do IdP, e não do navegador do utilizador. Use o túnel incorporado (Definições → Servidor → Ligação e status → Partilhar este servidor → Cloudflared/ngrok/Tailscale) ou um URL público. Um servidor acessível apenas através do retransmissor WebSocket não consegue receber envios SCIM; o provisionamento JIT continua a funcionar aí, mas este guia não.
  1. Abra Definições → Servidor → Início de sessão único → o cartão Provisionamento de utilizadores (SCIM). O cartão mostra o endpoint, por exemplo https://<your-server>/scim/v2/Users.
  2. Prima Gerar token (ou Regenerar token, se já existir um) — o token bearer aparece uma única vez numa caixa de diálogo e é copiado para a área de transferência. Guarde-o no seu gestor de palavras-passe; o servidor guarda apenas uma cópia verificável em tempo constante.
  3. Nas definições de provisionamento do seu IdP, ative o SCIM com:
    • URL de base: o endpoint acima
    • Autenticação: Authorization: Bearer <token>
    • Id de utilizador: userName (email) ou externalId — ambos correspondem
  4. Teste com um utilizador: envie-o a partir do IdP e confirme que aparece (a criação por SCIM fixa o externalId do fornecedor à conta, a mesma fixação que o primeiro início de sessão por SSO define).

Quando o IdP envia active: false (ou DELETE), o SCIM recusa primeiro se a conta for proprietária de um espaço de trabalho (transfira primeiro a propriedade). Caso contrário:

  1. todas as credenciais dos dispositivos são revogadas primeiro — as sessões ativas terminam em segundos,
  2. todas as pertenças a espaços de trabalho são removidas,
  3. a conta fica marcada como desativada (nunca conseguirá iniciar sessão, diga o IdP o que disser mais tarde, até ser explicitamente reativada).

A própria linha do utilizador sobrevive — a atribuição em tickets, mensagens e commits é permanente. A reativação (SCIM active: true) restaura o início de sessão, mas não as pertenças: estas precisam de um novo convite ou da política de membro automático no momento do início de sessão.

  • 401 em todas as chamadas — o token mudou; regenere-o e atualize o IdP.
  • O endpoint não está acessível — o túnel está em baixo, ou o servidor só é acessível através do retransmissor. O SCIM precisa de HTTPS direto; o JIT continua a funcionar de qualquer forma.
  • Erros de envio de grupos (501) — intencional: o mapeamento grupo→função acontece no início de sessão a partir dos atributos de grupo SAML/OIDC, e não a partir dos grupos enviados.