Przejdź do głównej zawartości

Provisionuj użytkowników przez SCIM

Skorzystaj z tego poradnika, gdy chcesz kontrolować cykl życia kont — odejście użytkownika musi automatycznie unieważnić dostęp, a nie tylko zablokować przyszłe logowania. SCIM to protokół wypychania, którego dostawcy tożsamości (Okta, Entra ID i inni) używają dokładnie w tym celu.

  • działające SSO (samouczek SSO albo poradnik OIDC),
  • serwer osiągalny dla IdP przez HTTPS — wywołania SCIM wychodzą z IdP, a nie z przeglądarki użytkownika. Wykorzystaj wbudowany tunel (Ustawienia → Serwer → Połączenie i status → Udostępnij ten serwer → Cloudflared/ngrok/Tailscale) albo publiczny URL. Serwer osiągalny wyłącznie przez przekaźnik WebSocket nie może odbierać wypychań SCIM; aprowizacja JIT nadal tam działa, ten poradnik już nie.
  1. Otwórz Ustawienia → Serwer → Logowanie jednokrotne → kartę Provisioning użytkowników (SCIM). Karta pokazuje punkt końcowy, np. https://<your-server>/scim/v2/Users.
  2. Naciśnij Wygeneruj token (albo Wygeneruj token ponownie, jeśli już istnieje) — token bearer pojawia się jednorazowo w oknie dialogowym i zostaje skopiowany do schowka. Zapisz go w menedżerze haseł; serwer przechowuje wyłącznie kopię weryfikowaną w stałym czasie.
  3. W ustawieniach provisioningu swojego IdP włącz SCIM, podając:
    • Bazowy URL: punkt końcowy powyżej
    • Uwierzytelnianie: Authorization: Bearer <token>
    • Identyfikator użytkownika: userName (adres e-mail) albo externalId — oba pasują
  4. Przetestuj na jednym użytkowniku: wypchnij go z IdP i potwierdź, że się pojawił (utworzenie przez SCIM przypina do konta externalId dostawcy — to samo przypięcie, które ustawia pierwsze logowanie SSO).

Gdy IdP wyśle active: false (albo DELETE), SCIM najpierw odmawia, jeśli konto jest właścicielem obszaru roboczego (najpierw przenieś własność). W przeciwnym razie:

  1. najpierw unieważniane jest każde poświadczenie urządzenia — aktywne sesje wygasają w ciągu kilku sekund,
  2. usuwane jest każde członkostwo w obszarze roboczym,
  3. konto zostaje oznaczone jako dezaktywowane (nie może się już zalogować, niezależnie od tego, co później powie IdP, dopóki nie zostanie jawnie reaktywowane).

Sam wiersz użytkownika przetrwa — atrybucja w zgłoszeniach, wiadomościach i commitach jest trwała. Reaktywacja (SCIM active: true) przywraca logowanie, ale nie członkostwa: te wymagają nowego zaproszenia albo polityki automatycznego członkostwa stosowanej przy logowaniu.

  • 401 przy każdym wywołaniu — token się zmienił; wygeneruj go ponownie i zaktualizuj konfigurację IdP.
  • Punkt końcowy jest nieosiągalny — tunel nie działa albo serwer obsługuje wyłącznie przekaźnik. SCIM wymaga bezpośredniego HTTPS; JIT działa niezależnie od tego.
  • Błędy wypychania grup (501) — zamierzone: mapowanie grup na role odbywa się przy logowaniu na podstawie atrybutów grup SAML/OIDC, a nie na podstawie grup wypychanych.