Universal Secrets Sync Basics

Setting up KeeperPAM for Universal Secrets Sync

This page covers prerequisites, enforcement policy, and PAM Configuration setup for USS across AWS, Azure, and Google Cloud. If you are migrating existing cloud secrets into Keeper first, see the Migration Guide.

Prerequisites

Prior to using USS, make sure to have the following:

  • An active KeeperPAM license

  • A Keeper Gateway installed and registered in your network — Gateway setup guide

  • A Keeper Secrets Manager application associated with the Gateway

  • A PAM Configuration for your target cloud infrastructure (AWS, Azure, GCP) where secrets will be synced to

USS Enforcement Policy

On the Admin Console, enable “Can configure universal secrets sync settings” enforcement policy to allow a user to configure universal secrets sync:

PAM Configuration

A PAM Configuration must be set up for your target cloud infrastructure before USS can be used. The PAM Configuration tells the USS process where to persist secrets. The USS configuration process is:

  • On a PAM Configuration, enable Universal Secrets Sync feature.

  • Select one or more folders to link to the PAM Configuration. All the Keeper records from the selected folders will be synced.

  • Specify a Sync Identity that Keeper Gateway can use to sync records to the cloud secrets storage. The Sync Identity should have read/write access to the secrets manager service in your cloud environment. If left unspecified, the Gateway will use the access keys specified in the PAM Configuration.

  • If you want to allow users to preview the secrets before they are synced to the cloud, check the Dry-run option. If unchecked, USS automatically syncs Keeper record changes to the corresponding cloud secrets store.

AWS Secrets Manager Sync

AWS secrets sync uses the AWS Role Policies granted to the Keeper Gateway to persist secrets. The PAM Configuration filters against the provided region names to explicitly specify which regions are used for secret persistence. Please refer to our AWS Environment documentation for the PAM Configuration data required for a successful sync.

PAM Configuration for Universal Secrets Sync

The Gateway's instance role must be permitted to assume the Sync Identity role. Add the following trust policy to the Sync Identity role, replacing the Principal ARN with the ARN of the Gateway's instance role:

The Sync Identity role (or the Gateway instance role if no Sync Identity is configured) must have the following permissions on AWS Secrets Manager:


Azure Key Vault Secrets Sync

Azure secrets sync uses the permissions granted to the role assigned to the Keeper Gateway to persist secrets in Azure Key Vault. Please refer to our Azure Environment documentation for the PAM Configuration data required for a successful sync.

Specify name of the Key Vault to sync secrets to. This vault gets created on the first sync if it doesn’t exist already.

The gateway must be running on Azure infrastructure (VM, AKS, Azure Functions, etc.) with the specified user-assigned managed identity assigned to it. This mechanism does not work for on-premises gateways.

The Sync Identity for Azure is a user-assigned managed identity. Set the Sync Identity field in the PAM Configuration to the client ID (UUID) of the managed identity, for example:

Step 1 — Create the managed identity

Create a user-assigned managed identity in the Azure Portal or CLI:

Step 2 — Assign the identity to the Gateway

Assign the managed identity to the VM or other resource running the Keeper Gateway:

Step 3 — Grant Key Vault access

Grant the managed identity the necessary permissions on the target Key Vault:

Step 4 — Retrieve the client ID

Set the Sync Identity field in the PAM Configuration to the managed identity's client ID. Run the following to retrieve it:

Use the returned UUID as the Sync Identity value — note this is the client ID, not the object ID.


Google Cloud Secrets Sync

GCP secrets sync uses the Google Role Policies granted to the Keeper Gateway to persist secrets. Please refer to our Google Cloud Environment documentation for the PAM Configuration data required for a successful sync.

The Sync Identity for GCP uses service account impersonation. The Gateway's service account (defined by the service_account_key in the PAM Configuration) impersonates the target service account for all Secret Manager calls. Set the Sync Identity field to the email address of the target service account, for example:

Step 1 — Grant the Gateway service account the Token Creator role

This allows the Gateway's service account to impersonate the target service account:

Step 2 — Grant the target service account access to Secret Manager

Grant the target service account the necessary permissions on the project where secrets will be synced:


Universal Secrets Sync Workflow

The basic workflow for running sync operations is:

  • (optional) Perform a one-time import of existing secrets from AWS and/or Azure and/or GCP via Commander.

  • Set up a Keeper Gateway with associated permissions to manage secret resources.

  • Set up a PAM Configuration with the Gateway and the required USS settings.

  • If "Dry run" is not selected, the sync jobs will execute automatically--workflow is done.

  • If "Dry run" is selected, manually execute the sync via the Commander CLI or the Vault UI.

Last updated