Μετάβαση στο περιεχόμενο

Παροχή χρηστών με SCIM

Χρησιμοποιήστε αυτόν τον οδηγό όταν θέλετε έλεγχο του κύκλου ζωής — η αποχώρηση ενός χρήστη πρέπει να ανακαλεί την πρόσβαση αυτόματα, όχι απλώς να αποκλείει μελλοντικές συνδέσεις. Το SCIM είναι το πρωτόκολλο push που χρησιμοποιούν τα IdP (Okta, Entra ID και άλλα) ακριβώς γι’ αυτόν τον σκοπό.

  • SSO ήδη σε λειτουργία (το μάθημα SSO ή ο οδηγός OIDC),
  • έναν διακομιστή που το IdP μπορεί να προσεγγίσει μέσω HTTPS — οι κλήσεις SCIM προέρχονται από το IdP, όχι από το πρόγραμμα περιήγησης του χρήστη. Χρησιμοποιήστε την ενσωματωμένη σήραγγα (Ρυθμίσεις → Διακομιστής → Σύνδεση και κατάσταση → Κοινή χρήση αυτού του διακομιστή → Cloudflared/ngrok/Tailscale) ή ένα δημόσιο URL. Ένας διακομιστής προσβάσιμος μόνο μέσω του relay WebSocket δεν μπορεί να δεχτεί push SCIM· η παροχή JIT εξακολουθεί να λειτουργεί εκεί, αυτός ο οδηγός όχι.
  1. Ανοίξτε Ρυθμίσεις → Διακομιστής → Ενιαία σύνδεση → την κάρτα Παροχή χρηστών (SCIM). Η κάρτα εμφανίζει το endpoint, π.χ. https://<your-server>/scim/v2/Users.
  2. Πατήστε Δημιουργία token (ή Αναγέννηση token αν υπάρχει ήδη ένα) — το bearer token εμφανίζεται μία φορά σε έναν διάλογο και αντιγράφεται στο πρόχειρο. Αποθηκεύστε το στον διαχειριστή κωδικών σας· ο διακομιστής κρατά μόνο ένα αντίγραφο που επαληθεύεται σε σταθερό χρόνο.
  3. Στις ρυθμίσεις παροχής του IdP σας, ενεργοποιήστε το SCIM με:
    • Base URL: το endpoint παραπάνω
    • Authentication: Authorization: Bearer <token>
    • User id: userName (email) ή externalId — και τα δύο ταιριάζουν
  4. Δοκιμάστε με έναν χρήστη: στείλτε τον με push από το IdP, επιβεβαιώστε ότι εμφανίζεται (η δημιουργία μέσω SCIM κλειδώνει το externalId του παρόχου στον λογαριασμό, το ίδιο κλείδωμα που θέτει και η πρώτη σύνδεση μέσω SSO).

Όταν το IdP στέλνει active: false (ή DELETE), το SCIM αρνείται πρώτα αν ο λογαριασμός είναι ιδιοκτήτης χώρου εργασίας (μεταβιβάστε πρώτα την κυριότητα). Διαφορετικά:

  1. πρώτα ανακαλείται κάθε διαπιστευτήριο συσκευής — οι ενεργές συνεδρίες πέφτουν μέσα σε δευτερόλεπτα,
  2. αφαιρείται κάθε συμμετοχή σε χώρο εργασίας,
  3. ο λογαριασμός σημαίνεται ως απενεργοποιημένος (δεν μπορεί ποτέ να συνδεθεί, ό,τι κι αν πει αργότερα το IdP, μέχρι να επανενεργοποιηθεί ρητά).

Η ίδια η γραμμή χρήστη επιβιώνει — η απόδοση σε εισιτήρια, μηνύματα και commits είναι μόνιμη. Η επανενεργοποίηση (SCIM active: true) επαναφέρει τη σύνδεση αλλά όχι τις συμμετοχές: αυτές χρειάζονται μια νέα πρόσκληση ή την πολιτική αυτόματης συμμετοχής κατά τη σύνδεση.

  • 401 σε κάθε κλήση — το token άλλαξε· αναγεννήστε το και ενημερώστε το IdP.
  • Το endpoint δεν είναι προσβάσιμο — η σήραγγα είναι εκτός λειτουργίας ή ο διακομιστής είναι μόνο μέσω relay. Το SCIM χρειάζεται άμεσο HTTPS· η παροχή JIT συνεχίζει να λειτουργεί ανεξάρτητα.
  • Σφάλματα push ομάδων (501) — σκόπιμα: η αντιστοίχιση ομάδας σε ρόλο γίνεται κατά τη σύνδεση από τα χαρακτηριστικά ομάδων της SAML/OIDC, όχι από ομάδες που έρχονται με push.