Configuration de l'interface de ligne de commande Vault
Si vous utilisez déjà l'interface de ligne de commande (CLI) de HashiCorp Vault, vous pouvez utiliser son format CLI et ses instructions pour interagir avec IBM Cloud® Secrets Manager.
Toutes les opérations suivent les instructions disponibles pour l'interface de ligne de commande Vault. Pour en savoir plus sur l'utilisation de l'interface de commande de Vault, consultez la documentation de Vault.
Prérequis
-
Téléchargez et installez l'interface de programmation de Vault.
-
Créez une clé d'API IBM Cloud ou générez un jeton d'accès IAM IBM Cloud.
En fournissant vos données d'identification de compte, Vault peut comprendre qui vous êtes et si vous disposez du niveau d'accès correct pour exécuter des commandes Vault spécifiques sur votre instance Secrets Manager.
-
Facultatif : Téléchargez et installez
jq.jqq vous aide à diviser les données JSON. Vous utilisezjqdans ce tutoriel pour extraire et utiliser un jeton d'accès qui est renvoyé lorsque vous appelez l'API IAM Identity Service.
Configuration de votre environnement
Tout d'abord, définissez votre environnement pour accéder à une instance de service Secrets Manager à l'aide de la fonction Vault. Commencez par créer un script shell qui définit les informations d'identification nécessaires pour s'authentifier auprès de Vault.
-
Dans un répertoire de projet, créez un fichier
login-vault.sh.touch login-vault.sh -
Copiez et collez le script suivant dans
login-vault.shet mettez à jour les valeurs de marque de réservation.#!/bin/sh IBM_CLOUD_API_KEY="xxxxx" export VAULT_ADDR="https://<instance_ID>.<region>.secrets-manager.appdomain.cloud" export IAM_TOKEN=`curl -s -X POST \ "https://iam.cloud.ibm.com/identity/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -d "grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=$IBM_CLOUD_API_KEY" | jq -j ".access_token"`Remplacez les valeurs de marque de réservation en suivant le tableau suivant.
Variables nécessaires à l'extraction d'un jeton Variable Description IBM_CLOUD_API_KEYClé d'API IBM Cloud disposant au moins d'un accès de plateforme Afficheur et d'un accès de service Lecteur à votre instance Secrets Manager. VAULT_ADDRLe point de terminaison de l'API Coffre-fort propre à votre instance Secrets Manager. Vous pouvez trouver votre point de terminaison unique URL dans la page Endpoints de l'interface utilisateur Secrets Manager, ou en le récupérant à l'aide d'une requête HTTP.
-
Marquez le fichier comme exécutable en exécutant la commande
chmoddans votre ligne de commande.chmod +x login-vault.sh -
Exécutez le script pour définir vos variables d'environnement.
source ./login-vault.sh -
Optionnel. Vérifiez que les variables d'environnement sont correctement définies en les imprimant dans votre fenêtre de ligne de commande.
echo $VAULT_ADDR && echo $IAM_TOKENLa sortie peut ressembler à l'exemple suivant.
https://e415e570-f073-423a-abdc-55de9b58f54e.us-south.secrets-manager.appdomain.cloud eyJraWQiOiIyMDIwMTAxODE3MDEiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQi...(truncated)
Connexion à Vault
Après avoir configuré votre environnement, connectez-vous à Vault pour commencer à interagir avec votre instance Secrets Manager.
-
Authentifiez-vous à Vault à l'aide de votre jeton IAM IBM Cloud.
vault write auth/ibmcloud/login token=$IAM_TOKENL'écran suivant présente la sortie de l'exemple.
Key Value --- ----- token s.5DQYF57xU1qOAIj2PhnMC39H token_accessor C14JDJ6KtwQKQR5UNR5NIC7J token_duration 1h token_renewable true token_policies ["default" "instance-manager"] identity_policies [] policies ["default" "instance-manager"] token_meta_grant_type urn:ibm:params:oauth:grant-type:apikey token_meta_name test-ibm-cloud-api-key token_meta_resource crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:: token_meta_user iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8 token_meta_bss_acc 791f5fb10986423e97aa8512f18b7e65 -
Connectez-vous à Vault à l'aide de la valeur
tokenrenvoyée à l'étape précédente.vault login <token>L'écran suivant présente la sortie de l'exemple.
Success! You are now authenticated. The token information displayed is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token s.6yFk0Z1IRi0Yc5DtwIKuENDJ token_accessor BnEHQuAxTiHJGhP1x0hNqagV token_duration 57m58s token_renewable true token_policies ["default" "instance-manager"] identity_policies [] policies ["default" "instance-manager"] token_meta_grant_type urn:ibm:params:oauth:grant-type:apikey token_meta_name test-ibm-cloud-api-key token_meta_resource crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:: token_meta_user iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8 token_meta_bss_acc 791f5fb10986423e97aa8512f18b7e65Vous pouvez maintenant utiliser les commandes de l'interface de ligne de commande Vault pour interagir avec votre instance Secrets Manager. Pour en savoir plus, consultez le fichier Référence CLI.