StrongDM Vault

circle-info

This feature is part of the Enterprise plan. If it is not enabled for your organization, please contact StrongDM at the StrongDM Help Centerarrow-up-right.

Overview

StrongDM Vault provides centralized management and rotation of credentials using a mechanism called secret engines. StrongDM Vault's secret engines are a feature that can be configured to manage and rotate credentials within a target database or service and within a secret store, in tandem. The chosen secret store can be StrongDM Vault's secret store, or any supported third-party secrets management or vault provider. Secrets within the secret store can then be used by StrongDM admins when configuring resource connections or entitling credential retrieval to users. The non-specific Key Value secret engine type can also be used to directly manage credentials within a secret store, without tying to any particular resource or service or performing automatic rotation.

Secret Engine Rotating Credentials in AD and a Secret Store

Example Scenario: You wish to provide access to a PostgreSQL database through StrongDM, and you wish the credentials for the PostgreSQL database to be managed within StrongDM and rotated on a regular cadence.

  • You do not have a secrets management or vault provider of your own that you wish to integrate, so you set up an instance of the StrongDM Vault secret store.

  • You set up an instance of the PostgreSQL secret engine, which will allow you to rotate credentials within your Postgres instance. When credentials are rotated within that target database by the engine, it will also rotate a copy of those credentials within the secret store you just created.

  • You use the PostgreSQL secret engine to set up a managed set of credentials for a user that already exists in your Postgres database. Now that user's credentials will be rotated on a set schedule, both within the database itself and in the secret store.

  • You set up your database as a resource in StrongDM, configuring it to use the secret store for authentication to PostgreSQL, and pointing its username and password paths to the credentials you just added.

  • An end user of your StrongDM organization can now be given permissions to connect to the PostgreSQL resource through StrongDM, using credentials that are automatically rotated on a cadence and that are never shown to the end user.

Secret Engine Rotation and Resource Access for PostgreSQL

Supported Secret Stores

A secret store is a vault or other external secret management service in which you can store and centrally manage credentials. StrongDM Vault is secret store agnostic. You can store your secrets with any supported secret storage service, and integrate it with StrongDM. Once this integration is set up, the node that reaches out to StrongDM for credentials is instead directed to authenticate itself to the secret store through the integration. Then it is able to fetch and use the credentials stored there for this resource.

StrongDM Vault secret engines require a backing secret store in which to store copies of credentials to use for resource access. The supported secret store providers are:

A secret store can be used for authentication to resources as an alternative to adding credentials directly to resources. When credentials are stored directly in resource configuration, the node that authenticates user traffic to the resource uses those credentials. When configured to use secret stores, the node instead reaches out to the secret store to obtain those credentials and authenticate the user to the resource.

Secret stores are used for two primary reasons:

  1. Security Requirements: In some cases, if you already use a secret store internally, your security protocols may require that you not store resource credentials directly with other services like StrongDM, and continue to use your approved secret store.

  2. Centralized Credential Management: A secret store provides a central place to manage credentials, so that they can be created, rotated, and deleted from one place, which is of increasing usefulness with larger sets of resources.

To learn more about configuring specific secret store integrations with StrongDM, see the Secret Stores section.

Secrets Management with StrongDM Vault

If your organization uses a secret store provider for credentials, you likely use that provider's interface to manage your secrets. However, in some cases, it might be preferable for administrators to be able to use StrongDM to manage credentials for resources that StrongDM is proxying traffic to.

StrongDM Vault secret engines can be configured for various target databases or services to manage and rotate credentials within the target. These engines also store copies of the rotated credentials in a backing secret store of your choice, so that when proxying user traffic to the target resource, the secret store can be referenced for credentials.

The currently available secret engines that are resource-specific and support rotation are:

  • Active Directory Secret Engine: StrongDM Vault can manage and rotate credentials within Active Directory, which can then be used when connecting to resources through StrongDM that would normally require AD credentials.

  • Microsoft SQL Secret Engine: StrongDM Vault can manage and rotate credentials within MSSQL databases that can then be added as resources and accessed through StrongDM.

  • MySQL Secret Engine: StrongDM Vault can manage and rotate credentials within MySQL databases that can then be added as resources and accessed through StrongDM.

  • PostgreSQL Secret Engine: StrongDM Vault can manage and rotate credentials within PostgreSQL databases that can then be added as resources and accessed through StrongDM.

circle-info

If you have a lot of resources that you want to manage credentials for through StrongDM Vault, you need a lot of secret engines! The resource-specific secret engines that can do rotation connect to the actual database (or directory) to rotate credentials, in addition to doing so within a secret store, so you need one for each such resource. If you choose to use the Key Value secret engine, it is less specific since rotation is not involved, and can be used for many different types of resources at once to manage secrets only within a secret store.

The last type of secret engine is different in that it is not specific to a particular type of target resource or service. The Key Value secret engine can be used to manually create, update, or delete secrets within a supported secret store. This secret engine does not provide rotation or updates directly within any target resource, but only manages secrets stored in the secret store. This secret engine type can be used to manage credentials that you add to secret stores for connecting to resources through StrongDM that there are no secret engines for. Credentials can be added to a secret store for those resources using a Key Value engine, manually or through automations. This engine type is also useful for the management of secrets that do not pertain to resource connection, such as end users fetching an administrative Windows credential for themselves.

circle-info

See the Example Scenario for a detailed step-by-step setup of a secret engine for a particular purpose.

StrongDM Vault use cases

Management of secrets using StrongDM Vault can solve for a variety of use cases, but here are a few core solutions provided by StrongDM Vault.

  1. Automated Rotation for Secrets Used by StrongDM: StrongDM resource configurations can reference credentials stored in a StrongDM Vault or third-party secret store, and rotate those credentials at the source and in the secret store. This enables secretless access for end users while ensuring that backend credentials (for example, AD, Postgres, MySQL, MSSQL) are automatically rotated on a schedule. This improves security without adding operational overhead.

  2. Controlled Checkout of AD Credentials for Admin Workflows: Admins may need temporary access to privileged AD accounts for specific operational workflows. StrongDM’s AD Secrets Engine supports credential checkout with automatic rotation for credentials that are entitled to users with policy. Rotation can occur either on a schedule or immediately after the credential is returned, ensuring safe, auditable, and time-bound use.

  3. Breakglass Credentials for Emergency or Maintenance Access: Highly privileged AD or database superadmin accounts that are required for break-glass or critical maintenance workflows can be stored in a secret store, entitled to users using policy, and checked out under audit. After use, StrongDM automatically rotates these credentials to restore a secure baseline.

  4. Shared API Keys Without Rotation Requirements: Teams sometimes need to share API keys, local administrator passwords, or credentials for resources that StrongDM is not used to access. You can store, manage, and retrieve those using the Key Value Engine backed by a secret store. These secrets are not rotated, but StrongDM provides centralized access controls and audit logging for visibility and governance (and storage, if StrongDM Vault is used).

Managed Secrets

To add managed secrets in the Admin UI, you need to have already configured a secret store as well as one or more secret engines. Once you've done so, follow these steps to manage secrets.

  1. In the Admin UI and go to Settings > Secrets Management.

  2. Select the Secrets tab and click Add Secrets.

  3. On the dialog that displays, set the following properties:

    • Name: Enter a unique name for this secret. This name will display throughout StrongDM and help you to identify the managed secret.

    • Description: Optionally enter a description of the secret to help you to remember what it is for.

    • Select Secret Engine: Use the dropdown menu to select the secret engine to use to manage how and when users access secrets and facilitate the rotation of secrets.

    • Select or add tags: Optionally assign tags to the managed secret.

  4. Click Save.

The Secrets tab now displays the secret that you just added, along with any other managed secrets that have been added via the Admin UI and CLI. You may now edit the secret's settings in order to schedule rotation and set a password complexity rules, view entitlements for the secret, and see any activities related to the secret.

Secret settings

After you have created a managed secret, you can set password complexity requirements, such as the number of symbols required, for passwords that are generated, rotated, or updated, to suit the needs of your organization.

For AD managed secrets only (not Key Value), you may schedule automatic password rotation by setting the credential rotation interval. A secret is valid for the given amount of time set, after which it is automatically rotated. If no interval is set or it is set to the default zero seconds, then there is no automatic password rotation, and rotation will need to be done manually for the secret on the Secrets tab.

The Settings tab is where you can update the secret's properties, set your password policy, and schedule automatic rotation. To get to the settings in the Admin UI, go back to Settings > Secrets Management Secrets. Click on the name of a managed secret and then click on the Settings tab to view or edit the secret's details. Alternatively, you can click Actions > View.

The following properties are shown on the Settings tab.

Property
Requirement
Description
Example

Name

Read Only

Name of the managed secret

AD-dev-secret

Description

Optional

Description of the managed secret to help you to remember what it is for

AD dev environment

Select secret engine

Required

Name of the secret engine configured for this managed secret

Example Name

Select or add tags

Required

Tags consisting of key-value pairs <KEY>=<VALUE>

env=dev

User DN

Required

For AD managed secrets, the user DN; should exactly match the distingushedName value found in the account attribute editor in Active Directory

Password

Optional

Password of the managed secret

1234567890

Credential rotation interval

Required

Amount of time in days, hours, and minutes that the secret is valid before it is rotated

0 days, 12 hours, 0 minutes

Timeout after credential read

Required

Amount of time in days, hours, and minutes for the secret to be viewed before it expires

1 days, 0 hours, 0 minutes

Length

Optional

Password length; if not set, defaults to zero (0)

24

Number of Digits

Optional

Number of digits to use when generating the password; if not set, defaults to zero (0)

24

Number of Symbols

Optional

Number of symbols to use when generating the password; if not set, defaults to zero (0)

2

Exclude Characters

Optional

Enter any characters to exclude when generating the password

@

Exclude Uppercase

Optional

Select the checkbox to exclude uppercase letters when generating the password

Allow Repeat

Optional

Select the checkbox to allow consecutive characters to repeat

circle-info

If you rename an existing managed secret, and then later attempt to create a new secret that reuses the old name, this will create an error. If the original secret is removed rather than renamed, then that original name becomes available again.

Interaction with managed secrets

StrongDM admins may view managed secrets from the Admin UI in Settings > Secrets Management > Secrets tab. The Secrets tab displays the following details for each secret:

Property
Description
Example

Name

Name the secret was given to it when created

TestUserCredentials

Path

The path of the secret store the secret is kept in appended with the name of the secret

test_ad/subdir/TestUserCredentials

Type

Type of secret; corresponds to the type of the secret engine used to manage the secret

Active Directory

Secret Engine

Name of the secret engine that was given to it when created

TestActiveDirectoryEngine

Tags

Tags given the secret by administrators

exampletag

Actions

Actions available for you to perform on this secret; view or delete

N/A

Secrets can be entitled to particular end users through policies and action control as well as being visible to admins who can manage secrets.Entitlement of secrets to a user can be used to allow the user to manually retrieve them for various purposes outside of StrongDM resource access. For example, this process might be used to audit and log the retrieval of a Windows administrator credential as needed by users.

See the Policy-Based Secrets Entitlement section for more details on how to entitle secrets to users, or see the Retrieve Secrets section for details on how to retrieve and interact with secrets as a user.

Secrets entitlements

From the Secrets tab, click on the name of a managed secret and then click on the Entitlements tab to view all the entitlements for the selected secret. Alternatively, you can click Actions > View. For managed secrets, entitlements are the specific actions (for example, retrieve, rotate, or validate) that the user or service account is allowed to perform on the given secret, as permitted by policy.

The Entitlements tab displays the following fields.

Property
Description
Example

Name

Name of the user; this field may be blank for service accounts

Glick, Alice

Type

Type of account (user or service account)

User

Actions

Actions that the user is permitted to take on the secret (retrieve, rotate, or validate)

Retrieve, Rotate, Validate

Granted By

Name of policy

example policy

Last Accessed

Timestamp of when the secret was last accessed; this field is empty if the secret has never been accessed

Jul 10, 2025 1:45 PM

To learn more about entitling secrets to principals, read the Policy-Based Secrets Entitlement section.

Secrets activity

From the Secrets tab, click on the name of a managed secret and then click on the Activity tab to view all activities for the selected secret. Alternatively, you can click Actions > View.

For managed secrets, activities are the actions that a user has taken on the managed secret (for example, viewing, rotating, or validating). Note that activities are different than entitlements, as activities are what the user has actually done versus what the user is permitted to do.

The Activity tab displays the following fields.

Property
Description
Example

Date

Timestamp for the activity

Jul 10, 2025 1:00 PM

Operation

Operation(s) performed on the secret

TTL_ROTATE

User

Name of the user, or "System" if for an automatic rotation

System

Logs for Secrets

Logs for secrets are recorded in the following areas within StrongDM:

  • Activity logs: Secret engine and managed secrets activities such as the creation, update, deletion, or rotation of secrets.

  • Secrets logs: All user activity related to secrets, such as retrieval of secrets by authorized users.

  • Policy logs: Any secrets activity that matches an evaluated policy is captured in the policy logs

Manage StrongDM Vault and secrets from the CLI

You can manage secret engines and create, update, remove, rotate, retrieve, and validate managed secrets all from the StrongDM CLI. See the dedicated guide to Secrets Management via CLI for more details.

Example Scenario: PostgreSQL Resource and StrongDM Vault Secret Store

1. Set up a secret store

If you haven't already done so, you should configure a secret store. This ensures that a secret store is already set up to contain secrets that can be managed. You may skip this step if you already have a secret store configured, but in this example we'll set up an instance of StrongDM Vault secret store.

To add a secret store in the Admin UI, follow these steps.

  1. Log in to the Admin UI and go to Settings > Secrets Management. The settings that display are organized into four tabs for setting up secret stores, secret engines, secrets, and certificate authorities.

  2. Select the Secret Stores tab and click the add secret store button.

  3. On the form that displays, set the properties for the specific secret store you wish to add. In this case, we would create a secret store of the type StrongDM Vault and name it as desired. If the secret store type you choose is not StrongDM Vault, your nodes will also need to be configured to access the secret store provider. Please see the individual secret store documentation for requirements, properties, and configuration details for your specific secret store type.

The Secret Stores tab now displays the secret store that you just added.

2. Set up a secret engine

The following instructions show you how to set up a PostgreSQL secret engine.

  1. Go to the Admin UI under Settings > Secrets Management. Then select the Secret Engines tab and select Add secret engine.

  2. Select PostgreSQL for the type and then choose the secret store we just made as the Secret Store.

  3. Set a meaningful path for the Secret Store Root Path. This could have something to do with the engine type, or the particular database this engine is for, or simply mirror the engine name.

  4. Choose which nodes you would like to use to perform actions against your PostgreSQL instance and the secret store.

  5. Fill in Postgres credential information for the account you wish to use to manage the credentials on the database, as well as any rotation specifics you wish and select Create.

circle-info

If you have any questions about the setup of the PostgreSQL secret engine, follow the detailed steps in the PostgreSQL Secret Engine guide, and then return here.

3. Create a managed secret

Next, create a secret using the PostgreSQL secret engine. This will allow the secret engine to begin rotating the password for the selected username, and also begin storing it in our StrongDM Vault secret store, so that we can use it for proxying connections to the PostgreSQL database.

  1. Go to the Admin UI under Settings > Secrets Management. Then select the Secrets tab and select Add Secret.

  2. Fill in a Name and Description for the secret.

circle-info

It may be reasonable to correlate this name with the PostgreSQL username or with the resource name that you intend to use this credential to access, if it is going to be used for leased credential access to the database.

  1. For Select secret engine, select the engine you just created.

  2. Fill in the name of the Database and the Username we are linking this secret to. You may enter the current Password for the user, or leave it blank, and it will be synchronized on first rotation.

  3. Set any desired rotation specifics and then select Save.

4. Configure the resource to use this secret

Lastly, configure the resource to use this secret to authenticate to the PostgreSQL database. In this example, we'll connect using the secret we made as a leased credential user.

Fill in the resource configuration as you normally would, but for Secret Store, select the StrongDM Vault secret store we created. For Username (path) put /<SECRET_ENGINE_PATH>/SECRET_PATH?key=username and for Password (path) put /<SECRET_ENGINE_PATH>/secret<SECRET_PATH>path?key=password.

Now you should be able to grant access to this resource to a user through a role, if you have not done so already, or through Just-in-Time access with workflows, and attempt accessing it.

Further Reading

Conclusions

When deploying StrongDM, consider which method you plan to use to manage the credentials that you intend to use to authenticate StrongDM to resources.

  • Store credentials with each resource record as you configure it. This option is simplest, and a good option for organizations that do not already use secret stores or who do not have large amounts of resources.

    • Next step: Check out our resource guides on how to configure a resource with StrongDM.

  • Set up a StrongDM Vault secret store and use StrongDM to manage those credentials centrally, rather than having to edit each resource when needing to update credentials.

    • Next step: Choose a secret engine type from the list at the top of this page, or the navigation sidebar, and follow that guide to create the secret engine and use it to manage credentials and store them in a StrongDM Vault secret store.

  • Use your organization's third-party secret store. Set up the secret store integration with StrongDM, then configure resources to simply check a path within that secret store for the credentials, leaving you free to rotate and change them as desired from within your third-party tool without updating StrongDM resources.

    • Next Step: Review the supported secret store providers and read the guide on how to connect the one you choose to StrongDM.

  • Bring your own secret store, but use StrongDM to manage it, removing the need to use another tool to manage secrets when your admins already use StrongDM to manage access.

    • Next step: Review the list of supported secret stores above, configure its integration with StrongDM using the secret stores guides, and then select which secret engines you wish to use alongside your secret store and follow the guide(s) to set up a secret engine and create secrets in your store.

Last updated

Was this helpful?