Single Sign-On (SSO)
Configure Single Sign-On to enable secure, centralized authentication for your Containment.AI organization.
Overview
SSO provides:
- Centralized authentication through your IdP
- Enforce corporate password policies
- Automatic session management
- Simplified user experience
Supported Protocols
SAML 2.0
Standard enterprise federation protocol:
- Okta
- Azure AD / Entra ID
- OneLogin
- Ping Identity
- Google Workspace
- JumpCloud
- Other SAML 2.0 IdPs
OIDC (OpenID Connect)
Modern authentication protocol:
- Okta
- Auth0
- Azure AD
- Keycloak
Setup Guide
Prerequisites
- Enterprise plan subscription
- IdP admin access
- Containment.AI admin (Owner role)
Step 1: Gather Information
From Containment.AI dashboard, collect:
- ACS URL:
https://app.containment.ai/auth/saml/acs - Entity ID:
https://app.containment.ai/saml/{org-id} - Metadata URL: Available in SSO settings
Step 2: Configure Your IdP
Okta
- Go to Applications > Create App Integration
- Select SAML 2.0
- Configure:
- App name:
Containment.AI - Single sign on URL:
{ACS URL} - Audience URI:
{Entity ID} - Name ID format:
EmailAddress
- App name:
- Assign users/groups
- Download IdP metadata or note:
- IdP SSO URL
- IdP Entity ID
- X.509 Certificate
Azure AD / Entra ID
- Go to Enterprise Applications > New Application
- Create Non-gallery application
- Go to Single sign-on > SAML
- Configure:
- Identifier:
{Entity ID} - Reply URL:
{ACS URL} - Sign-on URL:
https://app.containment.ai/login
- Identifier:
- Download Federation Metadata XML
OneLogin
- Go to Applications > Add App
- Search for SAML Custom Connector
- Configure:
- Consumer URL:
{ACS URL} - Audience:
{Entity ID}
- Consumer URL:
- Assign users
- Note SSO and certificate details
Step 3: Configure Containment.AI
- Go to Settings > Enterprise > SSO
- Click Configure SSO
- Choose SAML or OIDC
- Enter IdP information:
For SAML:
- IdP SSO URL
- IdP Entity ID
- Certificate (paste X.509 cert)
For OIDC:
- Issuer URL
- Client ID
- Client Secret
- Click Test Configuration
- Complete test sign-in
- Enable SSO
SSO Settings
Enforcement Options
| Setting | Description |
|---|---|
| Optional | Users can use SSO or email/password |
| Required | SSO only, no email/password |
| Required + JIT | SSO required, auto-create users |
Just-In-Time (JIT) Provisioning
Automatically create users on first SSO login:
- User signs in via IdP
- Account created in Containment.AI
- Default permissions applied
note
For full user lifecycle management, use SCIM instead of JIT.
Domain Verification
Required for SSO enforcement:
- Verify your email domain
- SSO enforces for that domain only
- Multiple domains supported
Attribute Mapping
Map IdP attributes to Containment.AI fields:
| IdP Attribute | Containment.AI Field |
|---|---|
email | Email address |
firstName | First name |
lastName | Last name |
groups | Team membership |
department | Department |
Custom Attributes
Map additional attributes:
Custom Mappings:
- Source: employeeType
Target: role
Mapping:
"Manager": "admin"
"Employee": "viewer"
Group Mapping
Sync IdP groups to Containment.AI teams:
- Enable group sync in SSO settings
- Map IdP groups to teams:
Group Mappings:
- IdP Group: "Engineering"
Team: "engineering"
- IdP Group: "Security Team"
Team: "security" - Users inherit team membership from IdP
Testing SSO
Before Enabling
- Click Test Configuration
- Sign in via your IdP
- Verify user attributes mapped correctly
- Check group membership (if configured)
Test Mode
Enable SSO in test mode:
- SSO available but not enforced
- Test with specific users
- Verify everything works
- Then enforce for all
Troubleshooting
Authentication Failed
-
Check certificates
- Verify certificate is current
- Re-download and re-upload
- Ensure proper format (PEM)
-
Check URLs
- ACS URL exactly matches
- Entity ID exactly matches
- No trailing slashes
-
Check attributes
- Email attribute is mapped
- Name ID format is EmailAddress
- User exists in IdP
User Not Provisioned
-
Check JIT settings
- JIT enabled?
- Required attributes present?
- Domain verified?
-
Check IdP assignment
- User assigned to app in IdP?
- Groups assigned?
Certificate Errors
- Verify certificate format
- Check certificate expiration
- Re-download from IdP
- Remove any whitespace
Best Practices
Security
- Enable SSO enforcement
- Use SCIM for user lifecycle
- Require MFA in IdP
- Rotate certificates before expiry
Rollout
- Test with pilot group first
- Document configuration
- Communicate to users
- Have backup access method
Maintenance
- Monitor certificate expiration
- Keep IdP integration updated
- Review access periodically
- Test after IdP changes
Related Topics
- SCIM Provisioning - User automation
- Admin Management - User management
- Enterprise Plan - Plan features