Chapter 2. Using IdM user vaults: storing and retrieving secrets
This chapter describes how to use user vaults in Identity Management. Specifically, it describes how a user can store a secret in an IdM vault, and how the user can retrieve it. The user can do the storing and the retrieving from two different IdM clients.
Prerequisites
- The Key Recovery Authority (KRA) Certificate System component has been installed on one or more of the servers in your IdM domain. For details, see Installing the Key Recovery Authority in IdM.
2.1. Storing a secret in a user vault
Follow this procedure to create a vault container with one or more private vaults to securely store files with sensitive information. In the example used in the procedure below, the idm_user user creates a vault of the standard type. The standard vault type ensures that idm_user will not be required to authenticate when accessing the file. idm_user will be able to retrieve the file from any IdM client to which the user is logged in.
In the procedure:
- idm_user is the user who wants to create the vault.
- my_vault is the vault used to store the user’s certificate.
-
The vault type is
standard
, so that accessing the archived certificate does not require the user to provide a vault password. - secret.txt is the file containing the certificate that the user wants to store in the vault.
Prerequisites
- You know the password of idm_user.
- You are logged in to a host that is an IdM client.
Procedure
Obtain the Kerberos ticket granting ticket (TGT) for
idm_user
:$ kinit idm_user
Use the
ipa vault-add
command with the--type standard
option to create a standard vault:$ ipa vault-add my_vault --type standard ---------------------- Added vault "my_vault" ---------------------- Vault name: my_vault Type: standard Owner users: idm_user Vault user: idm_user
ImportantMake sure the first user vault for a user is created by the same user. Creating the first vault for a user also creates the user’s vault container. The agent of the creation becomes the owner of the vault container.
For example, if another user, such as
admin
, creates the first user vault foruser1
, the owner of the user’s vault container will also beadmin
, anduser1
will be unable to access the user vault or create new user vaults.Use the
ipa vault-archive
command with the--in
option to archive thesecret.txt
file into the vault:$ ipa vault-archive my_vault --in secret.txt ----------------------------------- Archived data into vault "my_vault" -----------------------------------
2.2. Retrieving a secret from a user vault
As an Identity Management (IdM), you can retrieve a secret from your user private vault onto any IdM client to which you are logged in.
Follow this procedure to retrieve, as an IdM user named idm_user, a secret from the user private vault named my_vault onto idm_client.idm.example.com.
Prerequisites
- idm_user is the owner of my_vault.
- idm_user has archived a secret in the vault.
- my_vault is a standard vault, which means that idm_user does not have to enter any password to access the contents of the vault.
Procedure
SSH to idm_client as idm_user:
$ ssh idm_user@idm_client.idm.example.com
Log in as
idm_user
:$ kinit user
Use the
ipa vault-retrieve --out
command with the--out
option to retrieve the contents of the vault and save them into thesecret_exported.txt
file.$ ipa vault-retrieve my_vault --out secret_exported.txt -------------------------------------- Retrieved data from vault "my_vault" --------------------------------------