Prerequisites and permission model
PAM uses a two-layer access model: RBAC permissions control who can manage vaults, while vault access grants control who can see and use individual credentials.
- Role with pam_vaults.view for listing vaults and identities
- Role with pam_vaults.manage for creating/updating/deleting vaults and credentials, and rotating passwords
- Explicit vault access grant at "View Credentials" level to reveal credential values
- Explicit vault access grant at "Checkout" level to checkout credentials
- Account owners bypass all vault access checks
- Organizations must have an organization secret configured for encryption
Creating vaults
Vaults (called "Identity Groups" in the API) are organization-scoped containers for credentials.
- Navigate to Identities page from the sidebar (under Policy section)
- Click Create Vault
- Enter a vault name and optional description
- Select the target organization
- Click Save
Adding credentials
- On the Identities page, select the target vault from the vault list
- Click Add Identity
- Enter: name, username, credential (password or key), and credential type
- Set the rotation interval in days (how often the password should rotate)
- Toggle Rotate after use if the password should auto-rotate after every checkin
- Optionally select hosts this credential applies to
- Click Create
Credential fields
Granting vault access
- Navigate to the Vault Access tab on the Identities page
- Search for a user or group
- Select the access level
- Optionally set an expiration date
- Click Grant Access
Access levels
| Level | Grants |
|---|---|
view_vault | Can see that the vault exists and view identity names/metadata. Cannot see credential values. |
view_credentials | Can reveal (view) decrypted credential values. Includes view_vault access. |
checkout | Can checkout credentials for active use. Includes view_credentials access. |
Access grants can be made to individual IDP users or IDP groups. Group grants provide inherited access to all group members.
Checking out credentials
- On the Identities page, find the credential
- Click Checkout
- Enter a reason (required, 1-500 characters)
- Set the duration (5-1440 minutes / 24 hours max)
- Optionally select a target host
- Click Confirm
- The decrypted credential is displayed. Copy it for use.
- When done, click Checkin or let the session expire automatically
Concurrent checkout rules
- If concurrent checkout is disabled: only one user can have the credential checked out at a time.
- If concurrent checkout is enabled: multiple users can checkout, up to the configured maximum concurrent sessions.
Revealing credentials (view only)
Revealing a credential lets you view the decrypted value without formally checking it out. This is for situations where you need to see the password but are not actively using it on a system.
- Click the Reveal button next to a credential
- The decrypted value displays for 30 seconds, then auto-clears
- This action is audit logged
Requires pam_vaults.view plus a vault access grant at "View Credentials" level or higher.
Password rotation
Manual rotation
- Select a credential (it must not be currently checked out)
- Click Rotate Password
- The system generates a new random password
- The old password is hashed (SHA-256) and stored in password history (max 10 entries)
- The new password is encrypted with AES-256-GCM
- Password reset jobs are dispatched to all associated hosts
- Monitor rotation status:
pending→confirmed(orfailed)
Automatic rotation
Credentials with a rotation interval configured have a next rotation date calculated automatically. A background scheduler checks every 30 minutes and rotates any credentials whose rotation date has passed. After auto-rotation, the next rotation date advances by the configured interval.
Rotate after use
If "Rotate After Use" is enabled on a credential, the system automatically triggers rotation when the credential is checked in. This ensures the password changes after every use, providing maximum security for highly sensitive accounts.
One-click PAM enrollment
Quickly enroll existing host accounts into PAM directly from the host detail page.
- On a host detail page, click PAM Enroll
- Enter the username and select the target vault
- The system generates a random password
- A password reset job is dispatched to the host
- An identity record is created and linked to the host
Requires hosts.manage_users permission and the host must be online.
Support access workflow
Support access provides a controlled mechanism for granting temporary elevated access, typically for vendor or support staff.
- Navigate to Support Access
- Click the toggle to enable support access
- Enter a reason (required)
- Set an optional expiration (1-365 days)
- Click Enable
Emergency disable
Use Emergency Disable to immediately revoke all support access across the account. This is a one-click action that takes effect instantly.
Audit trail
All support access toggles, updates, and emergency disables are logged in the support access audit trail, accessible via Support Access > Audit Log.
Credential lifecycle flow
Break-glass emergency access
When normal approval workflows are too slow for a critical incident, break-glass provides emergency credential checkout that bypasses the standard approval process. Every break-glass checkout creates a comprehensive audit trail for SOX 404 compliance.
- Navigate to the credential you need and click Break-Glass Checkout.
- Enter a justification reason explaining why emergency access is needed.
- The credential is immediately checked out without approval. A critical-severity notification is sent to all account administrators.
- The session has a configurable maximum duration (set per organization). When the session expires, the credential is automatically checked in.
- After checkin (manual or automatic), the credential password is auto-rotated to ensure the emergency credential is no longer valid.
Audit trail
Break-glass sessions are recorded with additional metadata:
- Break-glass flag on the privileged session
- Justification reason text
- Automatic expiry timestamp
- Full audit log entry with user, IP address, and timestamp
- Critical notification to all account admins for immediate visibility
Permissions reference
| Action | RBAC Permission | Additional Requirement |
|---|---|---|
| List vaults and identities | pam_vaults.view | -- |
| Create/update/delete vaults | pam_vaults.manage | -- |
| Create/update identities | pam_vaults.manage | -- |
| Reveal credential value | pam_vaults.view | Vault access grant ≥ "View Credentials" |
| Checkout credential | pam_vaults.view | Vault access grant ≥ "Checkout" |
| Rotate password | pam_vaults.manage | -- |
| Break-glass emergency checkout | pam_vaults.break_glass | Rate limited: 3/minute |
| PAM enrollment | hosts.manage_users | Host must be online |
| View sessions | pam_vaults.view | -- |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| "No IDP user mapping" on reveal/checkout | Legacy user without matching IDP user email | Create an IDP user with the same email, or use an account owner role |
| "Identity is already checked out" | Another user has it checked out and concurrent checkout is disabled | Wait for checkin or ask the other user to checkin |
| Rotation stuck in "pending" | Agent offline or job failed | Check job status in the Jobs page. Host must be online to receive the password reset job. |
| "Organization secret not found" | Organization has no secret configured | Admin must set the org secret in organization settings |
| Credential reveals garbled text | Pre-migration data stored in plaintext that fails v2 decrypt | Fallback returns raw value. Re-save the credential to encrypt properly. |
| Support access expired silently | Expiration date passed without renewal | Re-enable via the toggle with a new duration |
| "Cannot delete group with N identities" | Vault is not empty | Remove all identities from the vault before deleting it |
| "Maximum concurrent sessions reached" | Concurrent checkout limit hit | Wait for an existing session to checkin or increase the maximum concurrent sessions setting |