Scim Directory Sync
You set up scim directory sync by linking your identity provider to a target app. The provider then pushes user accounts and group memberships over an encrypted web endpoint. Most engineering teams map directory groups straight to broad admin or write roles. That choice gives every group member full standing rights across production systems all day. How scim directory sync works under the hood System for Cross-domain Identity Management is an open standard for moving user data. Your central d
LDAP Directory Services: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
You set up scim directory sync by linking your identity provider to a target app. The provider then pushes user accounts and group memberships over an encrypted web endpoint. Most engineering teams map directory groups straight to broad admin or write roles. That choice gives every group member full standing rights across production systems all day.
How scim directory sync works under the hood
System for Cross-domain Identity Management is an open standard for moving user data. Your central directory acts as the single source of truth for the whole company. When HR adds a new hire, the directory creates a user profile right away. It then sends a web request to each connected app to build matching accounts.
You start the setup by generating a secret bearer token inside the target app. Next, you paste that token and the app URL into your identity provider. You also pick which user fields and groups should flow to the target app. The provider tests the link by sending a quick read request to the endpoint.
Once active, the provider pushes updates whenever a person joins, moves, or leaves. If an engineer switches teams, the directory updates their group list right away. The connected app reads that change and swaps their local role to match. When someone leaves the company, the provider sends a disable signal to cut off login.
Mapping directory groups to app roles
Most teams do not manage permissions for one person at a time. Instead, they build groups in the directory that mirror job titles or squads. A backend group might map to a database admin role in the target tool. A support group might map to a read role for customer lookup tools.
This group mapping saves hours of manual setup work for IT admins. Nobody has to file a ticket just to get basic login accounts on day one. Auditors can also look at one directory screen to see who holds which group. Still, group sync works on a timer or event trigger that only handles accounts.
If an app does not support fine roles, teams often pick the widest role. Everyone in the engineering group ends up with full write rights in the app. Syncing groups faster does not fix the problem of overly wide role definitions. It just hands out those wide permissions in seconds instead of days.
LDAP Directory Services: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
What directory sync solves and what it leaves open
Automated user sync fixes the problem of orphaned accounts after people leave a job. It also stops admins from typing user emails into twenty different admin panels. Your user lists stay clean and match your HR records at all times. For basic web apps, account sync and single sign-on cover most daily needs.
The gap appears when engineers run live commands against databases, cloud consoles, or servers. Directory sync only decides who holds an active account and a static role. It cannot see what queries or commands a user runs after they log in. A synced admin role lets an engineer drop a table or read raw card numbers.
Sync tools also keep permissions active around the clock until a group changes. If an attacker steals an active session, the synced role grants them full reach. Real control over production systems requires checking each command or query in flight. It also means rewriting sensitive fields like emails or phone numbers in query results.
Govern statements and responses across databases and APIs
Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev sits inline in the protocol beside each supported service as an open-source proxy, a sidecar for your database or API. For every query or command an AI agent or engineer runs against production, hoop.dev decides to pass, mask, block, or hold it for human approval.
First, hoop.dev guardrails block banned queries before they run or hold risky ones for review, and hoop.dev data masking rewrites matched sensitive values in responses in memory. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.
Frequently asked questions
What is the difference between SAML and SCIM?
SAML handles user login and checks identity when someone opens an app. SCIM runs in the background to create, update, and disable user accounts and groups.
How often does an identity provider push directory updates?
Push timing depends on your specific identity provider and how it runs background jobs. Most providers send account disables right away and push group updates on a set schedule.
What happens when a synced user is removed from a group?
The identity provider sends a patch request to the target app endpoint. The app then strips the linked role or disables the account based on your rules.
Related guides
In this post