SCIM Provisioning FAQ
Frequently asked questions about SCIM automated user provisioning.
SCIM Provisioning FAQ
What is SCIM?
SCIM (System for Cross-domain Identity Management) is an open standard protocol for automating the exchange of user identity information between IT systems. It enables automated user provisioning, updating, and deprovisioning across multiple applications.
Why use SCIM with Cliqer?
Benefits
- Automated User Lifecycle: Automatically create, update, and deactivate users
- Reduced Administrative Work: No manual user management tasks
- Improved Security: Immediate account deactivation when employees leave
- Compliance: Supports regulatory requirements for access management
Use Cases
- Joiners: New employees automatically get Cliqer accounts
- Movers: Department/role changes sync automatically
- Leavers: Accounts deactivated immediately upon termination
- Profile Updates: Name, email, and attribute changes sync automatically
How do I set up SCIM?
Step 1: Enable SCIM
- Go to Admin Console > Security Configuration
- Find the "SCIM Provisioning" section
- Check "Enable SCIM"
- Generate or enter a Bearer Token
- Click "Save Configuration"
Step 2: Configure Identity Provider
Okta SCIM Setup
- In Okta Admin Console, go to Applications
- Find Cliqer application
- Go to Provisioning tab
- Enable SCIM provisioning
- Enter SCIM endpoint:
https://your-domain.com/api/scim/v2 - Enter Bearer Token from step 1
- Configure attribute mappings
Azure AD SCIM Setup
- In Azure AD, go to Enterprise Applications
- Select Cliqer application
- Go to Provisioning section
- Set Provisioning Mode to "Automatic"
- Enter Tenant URL:
https://your-domain.com/api/scim/v2 - Enter Secret Token from step 1
- Configure attribute mappings
Step 3: Test Configuration
- Create a test user in your identity provider
- Verify user appears in Cliqer
- Test user updates and deactivation
- Check audit logs for provisioning events
What SCIM operations are supported?
User Operations
- CREATE:
POST /api/scim/v2/Users - READ:
GET /api/scim/v2/Users/{id} - UPDATE:
PUT /api/scim/v2/Users/{id}(full update) - PATCH:
PATCH /api/scim/v2/Users/{id}(partial update) - DELETE:
DELETE /api/scim/v2/Users/{id} - LIST:
GET /api/scim/v2/Users(with filtering)
Group Operations (Future)
- Group creation and management
- Group membership updates
- Nested group support
What user attributes are supported?
Core User Schema
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "user@company.com",
"name": {
"givenName": "John",
"familyName": "Doe",
"middleName": "William"
},
"emails": [{
"primary": true,
"value": "user@company.com",
"type": "work"
}],
"active": true,
"externalId": "employee-123"
}
Enterprise User Extension
{
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "12345",
"department": "Engineering",
"manager": {
"value": "manager-id",
"displayName": "Jane Smith"
}
}
}
How does user matching work?
Matching Criteria
Users are matched using the following priority:
- External ID:
externalIdfield from SCIM payload - Email Address: Primary email address
- Username:
userNamefield
Conflict Resolution
- If multiple matches found, operation fails
- External ID takes precedence over email
- Manual intervention may be required for conflicts
What happens during user deactivation?
Deactivation Process
- SCIM Update:
active: falsesent via SCIM - Account Disabled: User cannot log in
- Data Preservation: User data remains but access revoked
- Audit Logging: Deactivation event logged
Reactivation
- Set
active: trueto reactivate account - All previous data and settings restored
- User can log in immediately
How do I handle bulk operations?
Bulk Operations Support
- Max Operations: 100 operations per bulk request
- Max Payload: 1MB per request
- Transaction Safety: All-or-nothing execution
- Error Handling: Detailed error responses
Bulk Request Format
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
"Operations": [
{
"method": "POST",
"path": "/Users",
"data": { /* user data */ }
}
]
}
What are the security considerations?
Authentication
- Bearer Token: Secure API key authentication
- HTTPS Only: All SCIM endpoints require HTTPS
- Rate Limiting: Protected against abuse
- Audit Logging: All provisioning events logged
Data Protection
- Encryption: Data encrypted in transit and at rest
- Access Control: SCIM operations require admin-level permissions
- Data Validation: Strict schema validation on all inputs
How do I monitor SCIM operations?
Audit Logs
All SCIM operations are logged in the audit system:
scim_user_createdscim_user_updatedscim_user_deletedscim_bulk_operation
Monitoring Dashboard
- SCIM operation success/failure rates
- User provisioning statistics
- Error trends and patterns
- Integration health status
What if SCIM provisioning fails?
Common Issues
Authentication Errors
- Check bearer token is correct
- Verify token hasn't expired
- Confirm HTTPS is being used
Schema Validation Errors
- Validate SCIM payload format
- Check required fields are present
- Verify attribute data types
User Matching Errors
- Check external ID consistency
- Verify email address format
- Confirm user exists in both systems
Troubleshooting Steps
- Check Audit Logs: Review detailed error messages
- Validate Payload: Use SCIM validation tools
- Test Connectivity: Verify endpoint accessibility
- Check Provider Config: Confirm identity provider settings
Can I customize attribute mappings?
Standard Mappings
Cliqer uses standard SCIM attribute mappings by default. Custom mappings can be configured for:
- Custom Fields: Map provider-specific attributes
- Department Codes: Transform department names
- Role Assignments: Map groups to roles
- Location Data: Handle office/location fields
Configuration
Custom mappings are configured in the Admin Console under Security > SCIM Configuration.
What are the compliance benefits?
Regulatory Compliance
- SOX: Automated access provisioning
- GDPR: Right to erasure through automated deprovisioning
- HIPAA: Controlled access to protected health information
- PCI DSS: Automated user lifecycle management
Audit Benefits
- Complete Audit Trail: Every provisioning event logged
- Compliance Reporting: Automated compliance reports
- Access Reviews: Automated user access reviews
Integration with RBAC
Role Assignment
- SCIM can assign roles based on group memberships
- Automatic role updates when user groups change
- Integration with enterprise role management systems
Permission Management
- Roles control what SCIM operations are allowed
- Granular permissions for different user types
- Integration with existing permission systems
Performance Considerations
Rate Limiting
- 1000 operations per hour per tenant
- Burst allowance for peak usage
- Automatic throttling during high load
Batch Processing
- Efficient bulk operation processing
- Minimal database impact
- Asynchronous processing for large operations
Need Help?
Support Resources
- Documentation: Complete SCIM API reference
- Troubleshooting Guide: Common issues and solutions
- Integration Examples: Sample configurations for popular providers
- Support Portal: Direct access to technical support
Getting Help
- Check audit logs for error details
- Review provider documentation
- Contact support with specific error messages
- Provide SCIM payload examples for debugging