Mohammad Gufran Jahangir July 18, 2025 0

🔐 What Is SCIM? A Beginner’s Guide to User & Group Syncing in the Cloud

In today’s cloud-first world, managing user access across tools like Databricks, Azure, Slack, and Zoom can get messy. New joiners need accounts, leavers must be removed, and group permissions must stay in sync — all without mistakes.

This is where SCIM comes in.


🧾 What Is SCIM?

SCIM (System for Cross-domain Identity Management) is an open standard that makes it easy to automate the exchange of user and group information between identity providers (like Azure AD) and cloud services (like Databricks or Google Workspace).

It provides a common language (via API) to create, update, and deactivate users across systems without manual effort.


🤔 Why SCIM Matters

Without SCIM:

  • 👩‍💼 HR adds a new employee → IT manually creates a user in 5+ apps
  • 🧳 Someone leaves → Admins forget to revoke access
  • 🔒 Group permissions are inconsistent across platforms

With SCIM:

  • 🎯 Your Identity Provider (IdP) (e.g., Azure AD, Okta) is the single source of truth
  • ✅ Users and groups are auto-synced across all tools
  • 🔁 Any changes (add/remove/rename) are automatically pushed

⚙️ How SCIM Works — In Simple Steps

Let’s say your company uses Azure AD + Databricks.

  1. User joins your company → Added to Azure AD
  2. SCIM is enabled → Azure AD automatically sends a request to Databricks: POST /Users { "userName": "alex@company.com", "displayName": "Alex Sharma" }
  3. Databricks auto-creates the user with correct groups
  4. If the user leaves or changes roles, SCIM updates or deletes them automatically

📦 SCIM APIs: What’s Under the Hood

SCIM uses a set of standard REST APIs:

API CallPurpose
GET /UsersList users in the target system
POST /UsersCreate a new user
PATCH /Users/{id}Update user info or group link
DELETE /Users/{id}Remove user
GET /GroupsList all groups
PATCH /Groups/{id}Add/remove users in a group

🧠 SCIM in Action: Databricks + Azure AD

In Databricks, enabling SCIM means:

  • No more manual user onboarding
  • Groups like DataEngineers.Prod or Analysts.NonProd sync automatically
  • You can query SCIM data for compliance/auditing

Example:

GET https://accounts.azuredatabricks.net/api/2.1/accounts/<account-id>/scim/v2/Users

✅ Benefits of SCIM

  • 🔐 Improved security (automatic deprovisioning)
  • 📉 Reduced admin overhead
  • 💼 Seamless user experience
  • 📊 Cleaner audit logs and identity compliance

Excellent question! Let’s walk through how user access is granted automatically in Databricks when using SCIM with synced groups — like DataEngineers.Prod.


🔁 What Happens Automatically vs. Manually

StepWhat Happens Automatically with SCIMWhat You Still Need to Configure
✅ User is added to a group in Azure ADSCIM syncs user to Databricks and adds them to the matching group❌ SCIM does not assign permissions
✅ Group is created in DatabricksYes, auto-created if not present
❌ Access to data, clusters, etc.❌ Not automatic✅ You must manually grant privileges to the group once

🎯 How to Make Access Automatic (One-Time Setup)

Once SCIM syncs your group (e.g. DataEngineers.Prod) into Databricks:

  1. Grant access to that group (once) using SQL or UI: GRANT SELECT ON SCHEMA sales_data TO `DataEngineers.Prod`; GRANT USE CATALOG datalake TO `DataEngineers.Prod`; GRANT EXECUTE ON VOLUME pipelines TO `DataEngineers.Prod`;
  2. Now every time a user is added to this group in Azure AD, they:
    • ✅ Get synced to Databricks via SCIM
    • ✅ Get added to the same Databricks group
    • Inherit all the permissions granted to that group
    • ❌ You do not need to touch Databricks again

📦 Think of It Like This:

  • 🔑 You assign access to the group, not to the individual
  • 🪄 SCIM keeps the group members synced
  • 🎯 Access becomes dynamic: add/remove users in Azure AD only

🔐 Example Flow

  1. Admin grants access: GRANT SELECT ON TABLE finance.transactions TO `Analysts.NonProd`;
  2. SCIM syncs:
    • Group Analysts.NonProd is synced from Azure AD
    • Members: alex@company.com, jaya@company.com
  3. Result:
    • Alex and Jaya now have SELECT access on finance.transactions
    • You never touched Databricks for them individually!

🛠️ Summary

TaskWho Does ItHow Often
Create and manage groupsAzure ADOngoing
Assign access to groupsYou (Admin)Once per group
Sync group membershipsSCIMAutomatic
Access granted to new usersDatabricksAutomatic 🪄


🚀 Final Thoughts

If your organization is juggling multiple SaaS platforms, SCIM is the key to centralized, secure identity management. It reduces manual work, improves security posture, and scales with your team.

Whether you’re using Azure AD, Okta, or Google Workspace, enabling SCIM across tools like Databricks, Slack, and Zoom can significantly streamline your identity lifecycle.


Category: 
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments