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 : Use the ipa vault-add command with the --type standard option to create a standard vault: Important Make 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 for user1 , the owner of the user's vault container will also be admin , and user1 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 the secret.txt file into the 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 : Log in as idm_user : Use the ipa vault-retrieve --out command with the --out option to retrieve the contents of the vault and save them into the secret_exported.txt file. 2.3. Additional resources See Using Ansible to manage IdM service vaults: storing and retrieving secrets .

Commands:
kinit idm_user
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
ipa vault-archive my_vault --in secret.txt ----------------------------------- Archived data into vault "my_vault" -----------------------------------
ssh idm_user@idm_client.idm.example.com
kinit user
ipa vault-retrieve my_vault --out secret_exported.txt -------------------------------------- Retrieved data from vault "my_vault" --------------------------------------