Let me provide a comprehensive breakdown of our SAML SSO implementation covering the integration process, password fatigue solution, and multi-plant authentication architecture.
SAML SSO Integration Process
Our implementation followed this timeline:
Week 1-2: Planning and Design
- Documented current authentication flows across all five plants
- Identified user populations: 45 production schedulers, 12 plant managers, 8 IT admins
- Selected Okta as our identity provider (we already used it for other corporate apps)
- Designed user provisioning and role mapping strategy
- Created test plan and rollback procedures
Week 3-4: Technical Implementation
Configured Okta SAML application:
- Created custom SAML 2.0 app in Okta for Honeywell MES
- Configured assertion consumer service URL: `https://mes-prod.company.com/saml/acs
- Set up attribute statements (email, firstName, lastName, employeeId, groups)
- Generated and downloaded SAML metadata XML
Configured MES 2023.1 SAML settings in saml-config.xml:
<saml>
<entityId>honeywell-mes-production</entityId>
<identityProvider>
<metadataUrl>https://okta.company.com/app/metadata/saml</metadataUrl>
<singleSignOnService>https://okta.company.com/app/sso/saml</singleSignOnService>
</identityProvider>
<serviceProvider>
<assertionConsumerService>https://mes-prod.company.com/saml/acs</assertionConsumerService>
<singleLogoutService>https://mes-prod.company.com/saml/slo</singleLogoutService>
</serviceProvider>
</saml>
Week 5: User Migration
Automated user mapping process:
- Exported user lists from all five MES instances
- Matched 85% automatically by email address
- Manually resolved 15% with mismatched emails or missing Okta accounts
- Created migration script that updated MES user records with Okta identifiers
- Validated mapping in test environment with sample users
Week 6: Testing and Rollout
Phased deployment:
- Plant 1 (pilot): 2 weeks with 9 schedulers
- Plants 2-3: 1 week with 18 schedulers
- Plants 4-5: 1 week with 18 schedulers
- Post-deployment monitoring: 1 week
Password Fatigue Solution
Our schedulers were managing multiple credentials:
Before SSO:
- 5 plant-specific MES credentials
- Corporate network login
- Email/Office 365
- Various other plant systems
- Average: 8-10 passwords per scheduler
Pain Points We Addressed:
- Password Reset Volume: 25-30 tickets per week across all plants
- Account Lockouts: 15-20 incidents per week (schedulers trying wrong password)
- Productivity Loss: Estimated 2-3 hours per scheduler per month dealing with password issues
- Security Risks: Password reuse, written passwords, weak passwords
SSO Solution Implementation:
- Single authentication through Okta (corporate identity provider)
- Eliminated 5 plant-specific passwords immediately
- Integrated with existing corporate AD, so schedulers use familiar credentials
- Enabled MFA through Okta (push notifications) for additional security
- Implemented self-service password reset through Okta portal
Results After 4 Months:
- Password reset tickets: Down from 25-30/week to 10-12/week (60% reduction)
- Account lockouts: Down from 15-20/week to 5-7/week (65% reduction)
- Scheduler satisfaction: Survey showed 92% prefer SSO over previous system
- Help desk time saved: ~15 hours per week (previously spent on password issues)
- Security improvement: 100% of schedulers now use MFA (was 0% before)
Multi-Plant Authentication Architecture
Key architectural decisions for five-plant deployment:
1. Centralized vs Federated Identity:
We chose centralized identity (Okta) with federated authorization (plant-level MES):
[Okta Identity Provider]
|
| SAML Assertion
|
[MES SAML Service Provider - Central]
|
+--- Plant 1 MES Instance (local roles/permissions)
+--- Plant 2 MES Instance (local roles/permissions)
+--- Plant 3 MES Instance (local roles/permissions)
+--- Plant 4 MES Instance (local roles/permissions)
+--- Plant 5 MES Instance (local roles/permissions)
2. Session Management Across Plants:
Implemented shared session state:
- Okta session timeout: 8 hours (work shift duration)
- MES application session: 4 hours with sliding window
- Cross-plant navigation: Seamless within Okta session validity
- When scheduler accesses different plant, SAML assertion is reused (no re-authentication)
3. Role and Permission Strategy:
Hybrid approach balancing centralization and plant autonomy:
Okta (Central):
- User identity and authentication
- Basic group assignments (Scheduler, PlantManager, ITAdmin)
- MFA enforcement
- Default role provisioning via SAML attributes
MES (Plant-Level):
- Detailed role definitions (ProductionScheduler, MaterialPlanner, CapacityAnalyst)
- Module-specific permissions (who can modify schedules, approve changes, etc.)
- Plant-specific access controls (Plant 1 scheduler can’t modify Plant 2 schedules)
- Custom workflows and approval chains
SAML attribute mapping in saml-attribute-mapping.xml:
<attribute-mapping>
<attribute name="email" maps-to="userEmail" required="true"/>
<attribute name="firstName" maps-to="givenName"/>
<attribute name="lastName" maps-to="surname"/>
<attribute name="employeeId" maps-to="employeeNumber"/>
<attribute name="groups" maps-to="defaultRoles" multi-value="true"/>
</attribute-mapping>
4. Cross-Plant Access Patterns:
Schedulers fall into three categories:
- Single-plant schedulers (70%): Access only their assigned plant
- Multi-plant schedulers (25%): Access 2-3 related plants (e.g., similar product lines)
- Corporate schedulers (5%): Access all plants for capacity planning
Access control implemented through Okta groups:
MES-Plant1-Scheduler, MES-Plant2-Scheduler, etc.
MES-MultiPlant-Scheduler (inherits access to multiple plants)
MES-Corporate-Scheduler (full access)
5. Audit Logging and Compliance:
Centralized audit trail:
- All authentication events logged in Okta
- Authorization events logged in each MES instance
- Aggregated in central SIEM for compliance reporting
- Can track: Who accessed which plant, when, from where, what actions they performed
Implementation Lessons Learned
-
Browser Cache Issues: Some users had cached credentials that conflicted with SSO. Solution: Clear browser cache during cutover, provide documentation.
-
Contractors and External Users: Didn’t have Okta accounts. Solution: Created guest account process with limited access.
-
Offline Access: Some plants wanted local fallback if Okta is unavailable. Solution: Kept emergency local admin accounts (break-glass procedure).
-
Mobile Access: Schedulers wanted to check schedules from tablets. Solution: Okta mobile app worked seamlessly with MES mobile interface.
-
Performance: Initial concern about SAML handshake latency. Reality: Added <1 second to login, imperceptible after first authentication.
ROI Analysis
Cost-benefit breakdown:
Costs:
- Implementation: 240 hours (IT + vendor) × $150/hr = $36,000
- Okta licensing: $8/user/month × 65 users × 12 months = $6,240/year
- Training: 30 minutes × 65 users × $50/hr = $1,625
- Total Year 1: ~$44,000
Benefits:
- Help desk time saved: 15 hrs/week × 52 weeks × $50/hr = $39,000/year
- Scheduler productivity: 2.5 hrs/scheduler/month × 45 schedulers × 12 months × $75/hr = $101,250/year
- Reduced security incidents: Estimated $20,000/year (password-related breaches, compliance issues)
- Total Annual Benefit: ~$160,000
Payback Period: 3.3 months
Recommendations for Similar Implementations
- Start with pilot plant to validate approach
- Automate user migration as much as possible (manual mapping is error-prone)
- Keep local emergency admin accounts as fallback
- Plan cutover during low-activity periods (weekends, off-shifts)
- Have IT support on-site at each plant during cutover
- Document the new login process with screenshots
- Implement MFA from day one (don’t add it later)
- Monitor authentication logs closely for first month
- Survey users after 30 days to gather feedback
- Celebrate the win - this significantly improves daily work life for users
This implementation has been one of our most successful IT projects in terms of user satisfaction and measurable ROI. The combination of SAML SSO, elimination of password fatigue, and seamless multi-plant access has transformed how our schedulers work.