Impostazione della CLI del Vault

Se si utilizza già l'interfaccia a riga di comando (CLI) HashiCorp Vault, è possibile utilizzare il suo formato e le sue linee guida per interagire con IBM Cloud® Secrets Manager.

Tutte le operazioni seguono le linee guida disponibili per la CLI del vault. Per ulteriori informazioni sull'utilizzo della CLI Vault, consulta la documentazione del Vault.

Prerequisiti

  • Scarica e installa la CLI Vault.

  • Crea una chiave API IBM Cloud o genera un token di accesso IAM IBM Cloud.

    Fornendo le credenziali del tuo account, Vault può comprendere chi sei e se hai il corretto livello di accesso per eseguire specifici comandi Vault sulla tua istanza Secrets Manager.

  • Opzionale: Scaricare e installare jq.

    jq ti aiuta a dividere in sezioni i dati JSON. Utilizza jq in questa esercitazione per acquisire e utilizzare un token di accesso restituito quando richiami l'API IAM Identity Service.

Configurazione dell'ambiente

Per prima cosa, configura l'ambiente per accedere a un'istanza del servizio Secrets Manager utilizzando Vault. Inizia creando uno script shell che imposta le credenziali necessarie per l'autenticazione al vault.

  1. In una directory del progetto, creare un file login-vault.sh.

    touch login-vault.sh
    
  2. Copiare e incollare il seguente script in login-vault.sh e aggiornare i valori segnaposto.

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

    Sostituire i valori segnaposto in base alla tabella seguente.

    Variabili necessarie per estrarre un token
    Variabile Descrizione
    IBM_CLOUD_API_KEY Una chiave API IBM Cloud che ha almeno l'accesso alla piattaforma Viewer e l'accesso al servizio Reader al tuo Secrets Manager.
    VAULT_ADDR L'endpoint API Vault univoco per l'istanza Secrets Manager.

    È possibile trovare l'endpoint univoco URL nella pagina Endpoints dell'interfaccia utente Secrets Manager o recuperarlo tramite una richiesta HTTP.

  3. Contrassegnare il file come eseguibile eseguendo il comando chmod dalla riga comandi.

    chmod +x login-vault.sh
    
  4. Eseguire lo script per impostare le variabili di ambiente.

    source ./login-vault.sh
    
  5. Facoltativo. Verificate che le variabili d'ambiente siano impostate correttamente stampandole nella finestra della riga di comando.

    echo $VAULT_ADDR && echo $IAM_TOKEN
    

    L'output potrebbe essere simile al seguente esempio.

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

Accesso a Vault

Dopo aver configurato il tuo ambiente, accedi a Vault per avviare l'interazione con la tua istanza Secrets Manager.

  1. Autentica il Vault utilizzando il tuo token IAM IBM Cloud.

    vault write auth/ibmcloud/login token=$IAM_TOKEN
    

    La seguente schermata mostra l'output di esempio.

    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. Accedi a Vault utilizzando il valore token restituito nel passo precedente.

    vault login <token>
    

    La seguente schermata mostra l'output di esempio.

    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
    

    Ora puoi usare i comandi della CLI Vault per interagire con la tua istanza Secrets Manager. Per ulteriori informazioni, consulta il riferimento CLI.