Configuración de la CLI de Vault

Si ya está utilizando la interfaz de línea de mandatos (CLI) de HashiCorp Vault, puede utilizar su formato CLI y sus directrices para interactuar con IBM Cloud® Secrets Manager.

Todas las operaciones siguen las directrices disponibles para la CLI de Vault. Para obtener más información sobre el uso de la CLI de Vault, consulte la documentación de Vault.

Requisitos previos

  • Descargue e instale Vault CLI.

  • Crear una clave de API de IBM Cloud o genere una señal de acceso de IAM de IBM Cloud.

    Al proporcionar sus credenciales de cuenta, Vault puede entender quién es usted y si tiene el nivel correcto de acceso para ejecutar mandatos Vault específicos en su instancia de Secrets Manager.

  • Opcional: Descargue e instale jq.

    jq le ayuda a dividir datos JSON. Utilice jq en esta guía de aprendizaje para capturar y utilizar una señal de acceso que se devuelve cuando se llama a la API del Servicio de identidad de IAM.

Configuración del entorno

En primer lugar, configure el entorno para acceder a una instancia de servicio de Secrets Manager utilizando Vault. Comience por crear un script de shell que establezca las credenciales necesarias para autenticarse en Vault.

  1. En un directorio de proyecto, cree un archivo login-vault.sh.

    touch login-vault.sh
    
  2. Copie y pegue el script siguiente en login-vault.sh y actualice los valores del marcador.

    #!/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"`
    

    Sustituya los valores de marcador según la tabla siguiente.

    Variables necesarias para extraer un token
    Variable Descripción
    IBM_CLOUD_API_KEY Una clave de API de IBM Cloud que tiene al menos Acceso a la plataforma de Visor y Acceso de servicio de Lector en la instancia de Secrets Manager.
    VAULT_ADDR El punto final de la API de Vault exclusivo de su instancia de Secrets Manager.

    Encontrará el URL de punto final exclusivo en la página Puntos finales de la IU de Secrets Manager o bien puede recuperarlo mediante una solicitud HTTP.

  3. Marque el archivo como ejecutable ejecutando el mandato chmod en la línea de mandatos.

    chmod +x login-vault.sh
    
  4. Ejecute el script para establecer las variables de entorno.

    source ./login-vault.sh
    
  5. Opcional. Verifique que las variables de entorno se han establecido correctamente visualizándolas en la ventana de línea de mandatos.

    echo $VAULT_ADDR && echo $IAM_TOKEN
    

    La salida puede tener un aspecto similar al ejemplo siguiente.

    https://e415e570-f073-423a-abdc-55de9b58f54e.us-south.secrets-manager.appdomain.cloud
    eyJraWQiOiIyMDIwMTAxODE3MDEiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQi...(truncated)
    

Inicio de sesión en Vault

Después de configurar el entorno, inicie la sesión en Vault para empezar a interactuar con la instancia de Secrets Manager.

  1. Autenticarse en Vault utilizando la señal de IAM de IBM Cloud.

    vault write auth/ibmcloud/login token=$IAM_TOKEN
    

    En la pantalla siguiente se muestra la salida de ejemplo.

    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
    
  2. Inicie sesión en Vault utilizando el valor token que se ha devuelto en el paso anterior.

    vault login <token>
    

    En la pantalla siguiente se muestra la salida de ejemplo.

    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       791f5fb10986423e97aa8512f18b7e65
    

    Ahora puede utilizar los mandatos de la CLI de Vault para interactuar con la instancia de Secrets Manager. Para obtener más información, consulte la Referencia de CLI.