The most reliable way to enforce a password manager policy for remote contractors through Okta is to provision 1Password (or Keeper Security) into your Okta tenant via SCIM, assign the app to a dedicated contractor group, and lock vault access behind an Okta-enforced MFA policy — so contractors who aren't actively managed by HR can't self-provision, share credentials unsupervised, or retain vault access after offboarding.
Prerequisites / What You'll Need
- Okta tenant: Okta Workforce Identity, any paid tier (Okta Essentials at $2/user/mo minimum; SCIM provisioning requires Okta Integration Network access, available on all paid plans)
- Password manager with Okta SCIM support: 1Password Business ($7.99/user/mo billed annually, 5-seat minimum) or Keeper Business Plus ($6.00/user/mo billed annually, 5-seat minimum)
- Okta admin role: Super Administrator or Application Administrator + Group Administrator
- Contractor directory: Contractors must already exist as Okta users (or be fed in via an HR integration like BambooHR or Workday)
- A dedicated Okta group named (suggested):
contractors-password-manager - Browser: Chromium-based or Firefox, current version — Okta Admin Console has known rendering issues on Safari 17 and below
- 1Password SCIM Bridge (if using 1Password): Docker 24+ or a cloud provider instance; ARM64 and AMD64 images both supported as of 2026
Step 1: Create a Dedicated Contractor Group in Okta
In the Okta Admin Console, navigate to Directory → Groups → Add Group. Name the group contractors-password-manager and add a description like "Contractors scoped to managed password vault access."
Do not use your general contractors group for this. Keeping the password manager assignment scoped to its own group means you can add or remove vault access independently of other app assignments — a contractor can lose CRM access without losing vault access during a transition period, or vice versa.
Add members: Go to the group, click Manage People, and add your current contractor Okta accounts. If you're using Okta Lifecycle Management ($4/user/mo billed annually), you can set a group membership rule like user.userType eq "contractor" to automate this.
Expected output: The group appears under Directory → Groups with your contractor accounts listed.
Common gotcha: If contractors are guest users federated from a client's Azure AD, they may land in Okta without a userType attribute. Fix this by editing the user profile in Okta and setting userType = contractor manually, or patch it via the Okta Users API: PUT /api/v1/users/{userId} with {"profile": {"userType": "contractor"}}.
Step 2: Add Your Password Manager to the Okta Application Catalog
Navigate to Applications → Browse App Catalog. Search for "1Password" or "Keeper Security."
- For 1Password: Select "1Password SCIM Bridge" from the catalog. This is a custom SCIM app, not a pre-built OIN connector, so you'll click Add Integration and then configure the SCIM endpoint manually in Step 3.
- For Keeper Security: Keeper has a native OIN (Okta Integration Network) SAML 2.0 + SCIM app. Select it directly and click Add Integration.
In the General Settings of the new app, set Application label to something like Password Manager – Contractors so it's distinguishable in audit logs.
Under Sign-On, set SAML 2.0 as the sign-on method. Download the Okta IdP metadata XML — you'll paste this into the password manager's admin console in Step 4.
Common gotcha: Clicking "Done" before configuring SCIM will activate the app in SSO-only mode. Users will be able to authenticate but won't be auto-provisioned. Finish Steps 3–4 before assigning the group.
Step 3: Configure SCIM Provisioning
For 1Password
Deploy the 1Password SCIM Bridge on a server your Okta tenant can reach (a small AWS EC2 t3.micro or equivalent is sufficient). The bridge exposes a SCIM 2.0 endpoint, typically https://your-scim-bridge.example.com/scim/v2.
In Okta, under the 1Password app → Provisioning → Configure API Integration, enter:
- SCIM connector base URL:
https://your-scim-bridge.example.com/scim/v2 - Unique identifier field for users:
email - Authentication mode: HTTP Header (Bearer token — generate this from the 1Password admin portal under Integrations → SCIM)
Enable Create Users, Update User Attributes, and Deactivate Users. Leave Sync Password disabled — password managers authenticate via SSO, not a synced password.
For Keeper Security
In the Keeper Admin Console, navigate to Admin → SSO Connect → Okta and copy the SCIM Base URL and Bearer Token. In Okta under Provisioning, paste those values. Enable the same three provisioning actions.
Expected output: Click Test API Credentials in Okta. You should see: "SCIM connector verified."
Common gotcha: The 1Password SCIM Bridge must be reachable from Okta's IP ranges. Okta publishes its egress IP list at https://help.okta.com/en-us/content/topics/security/ip-address-allow-listing.htm — add those ranges to your server's security group or firewall.
Step 4: Assign the App to Your Contractor Group
Navigate to the app → Assignments → Assign → Assign to Groups. Search for contractors-password-manager and click Assign, then Done.
Set the Role assignment if your password manager supports it via SCIM. For 1Password, you can pass userType as a SCIM attribute to auto-assign contractors to a specific vault group (e.g., a read-only shared vault). Map this under Provisioning → Attribute Mappings:
| Okta Attribute | SCIM Attribute | Value |
|---|---|---|
user.userType | roles[0].value | member |
For contractors, member (not owner or admin) is the correct role — they can use assigned vaults but can't create new ones or see billing.
Expected output: Within 2–5 minutes of saving, contractor accounts should appear in the password manager's admin console as provisioned users.
Step 5: Enforce MFA via an Okta Sign-On Policy
Navigate to Security → Authentication Policies → Add a Policy. Name it Contractor Password Manager – Enforce MFA.
Add a rule:
- User's group membership includes:
contractors-password-manager - Device assurance: Any device (contractors use personal devices; you can tighten this later)
- Access: Allowed after MFA with every sign-on
- MFA methods: Require WebAuthn / FIDO2 or Okta Verify (push). Explicitly disable SMS — SMS OTP is trivially SIM-swapped and is not appropriate for contractor credentials.
Assign this policy to the password manager app under Applications → [App Name] → Sign On → Authentication Policy → [Select your new policy].
Expected output: The next time a contractor authenticates to the vault via Okta SSO, they'll be prompted for FIDO2 or Okta Verify push — not just a password.
Common gotcha: If you previously applied the default Okta policy (which often allows password-only), the app will inherit that until you explicitly assign your new policy. Always verify the assignment under the app's Sign On tab.
Step 6: Set Vault Sharing and Policy Rules Inside the Password Manager
Okta handles identity and access. The password manager enforces what contractors can do inside the vault.
In 1Password Business ($7.99/user/mo billed annually, 5-seat minimum; uses AES-256-GCM encryption with PBKDF2-SHA256 key derivation, third-party audited by Cure53, 2024):
- Create a vault named
Contractor Sharedand grant the contractor group Use Items permission only — they can see and copy credentials but can't view the full password, export, or move items. - Enable Travel Mode restrictions if contractors operate across borders.
- Turn on 1Password Business policy: require the 1Password browser extension to be active (prevents copy-paste into unapproved apps).
In Keeper Security Business Plus ($6.00/user/mo billed annually, 5-seat minimum; AES-256 encryption, zero-knowledge architecture, SOC 2 Type II audited, FIPS 140-2 validated modules; WebAuthn, TOTP, hardware keys, and Duo push MFA; headquartered in Chicago, IL, USA, subject to US jurisdiction):
- Use Role-Based Access Controls to create a "Contractor" role with Disable Export, Disable Sharing Outside Role, and Require 2FA flags set.
- Enable Keeper SSO Connect to enforce Okta as the sole authentication path — contractors cannot log in with a master password.
Verification: What You Should See
Run through this checklist after completing setup:
- SCIM provisioning works: Add a test contractor to
contractors-password-managerin Okta. Within 5 minutes, that user should appear as active in the password manager admin console with the correct role (member, notadmin). - Deprovisioning works: Remove the same test user from the group. Within 5 minutes, their vault account should be suspended (not deleted — suspended preserves audit trail).
- MFA is enforced: Log out of the password manager and re-authenticate via Okta SSO. You should be challenged for FIDO2 or Okta Verify push. Password-only auth should be blocked.
- Vault scope is correct: Log in as the test contractor. You should see only the
Contractor Sharedvault, not internal-employee vaults. - Audit log captures access: In the password manager admin console (1Password → Reports → Activity Log; Keeper → Admin Console → Reports), you should see the test login event with the contractor's email, timestamp, and IP address.
Recommended Tools
1Password Business
1Password is my top pick for Okta-integrated password policy enforcement because its SCIM Bridge gives you fine-grained vault permission mapping that most OIN-native integrations don't. You can push Okta group membership directly to vault access levels, meaning a contractor in the contractors-password-manager group automatically gets member access to only the vaults you've designated — no manual vault invites.
Pricing: $7.99/user/mo billed annually, 5-seat minimum. Business plan includes the SCIM Bridge, advanced admin controls, and Activity Reports. There is no free tier for Business; Teams plan at $19.95/mo flat for up to 10 users doesn't include SCIM.
Encryption: AES-256-GCM with PBKDF2-SHA256 key derivation. Zero-knowledge architecture — 1Password cannot decrypt your vault data.
MFA: TOTP, WebAuthn/FIDO2, hardware security keys (YubiKey 5 series), and Duo integration. No SMS MFA offered (a genuine positive).
Audit: Audited by Cure53 in 2024. SOC 2 Type II report available under NDA to Business customers.
Platforms: Windows 10/11, macOS 13+, iOS 16+, Android 10+, Linux (Debian/Ubuntu/RHEL packages), browser extensions for Chrome, Firefox, Edge, Safari, and Brave.
Headquarters: Toronto, Canada. Subject to PIPEDA and, for US customer data, contractual DPA under GDPR-equivalent standards.
Honest limitation: The SCIM Bridge requires you to host and maintain a small server instance. It's not a managed service. For teams without DevOps resources, this adds operational overhead.
Try 1Password Business — best Okta SCIM integration with granular vault permissions for contractor scoping.
Keeper Security Business Plus
Keeper Security is the stronger choice if your team needs FIPS 140-2 compliance or if you're in a regulated industry (see our enterprise password manager review for a full comparison). Its native OIN SAML+SCIM app means no self-hosted bridge — provisioning is managed entirely in the cloud.
Pricing: Business at $4.00/user/mo billed annually (5-seat minimum) covers basic SCIM and SSO. Business Plus at $6.00/user/mo billed annually adds advanced reporting, compliance reports, and breach watch. Enterprise pricing starts at $6.00/user/mo with a 10-seat minimum — contact sales for volume discounts above 100 seats.
Encryption: AES-256, zero-knowledge. FIPS 140-2 validated cryptographic modules.
MFA: WebAuthn/FIDO2, TOTP, hardware keys (YubiKey, Google Titan), Duo push, and RSA SecurID. SMS MFA is available but can be disabled by policy (disable it).
Audit: SOC 2 Type II, ISO 27001. FIPS 140-2 validation. Third-party penetration testing reports available to enterprise customers.
Platforms: Windows 10/11, macOS 12+, iOS 15+, Android 9+, Linux CLI, Chrome, Firefox, Edge, Safari, Brave extensions.
Headquarters: Chicago, Illinois, USA. Subject to US jurisdiction; EU data residency option available.
Honest limitation: Keeper's UI for setting up Role Enforcement Policies is dense — expect 30–45 minutes the first time you configure contractor-specific export-disable and sharing restrictions.
Try Keeper Security — best for regulated industries needing FIPS 140-2 compliance with native Okta OIN provisioning.
Troubleshooting
Issue 1: "SCIM connector could not be verified" in Okta
Exact error: "Error authenticating: Unable to connect to the SCIM connector. Please ensure the URL and token are correct."
Fix: This almost always means Okta's egress IPs can't reach your SCIM Bridge endpoint. Verify that your server's firewall allows inbound HTTPS (port 443) from Okta's published IP ranges. For 1Password SCIM Bridge, also confirm the Docker container is running: docker ps | grep op-scim-bridge should return an active container. If the container exited, check logs with docker logs op-scim-bridge --tail 50.
Issue 2: Contractors provisioned in Okta but not appearing in password manager
Exact error: No error — users simply don't appear in the password