IBM Cloud Docs
Configurando a CLI do Vault

Configurando a CLI do Vault

Se você já estiver usando a interface de linha de comandos (CLI) do HashiCorp Vault, será possível usar seu formato e diretrizes da CLI para interação com o IBM Cloud® Secrets Manager.

Todas as operações seguem as diretrizes que estão disponíveis para a CLI do Vault. Para saber mais sobre como usar a CLI do Vault, consulte a documentação do Vault.

Pré-requisitos

  • Faça o download e instale o Vault CLI.

  • Crie uma chave de API IBM Cloud ou gere um token de acesso IAM do IBM Cloud.

    Ao fornecer suas credenciais de conta, o Vault pode entender quem você é e se você tem o nível de acesso correto para executar comandos específicos do de Vault com relação à sua instância do Secrets Manager.

  • Opcional: Faça o download e instale o jq.

    O jq ajuda a fatiar dados JSON. É possível usar o jq neste tutorial para capturar e usar um token de acesso que é retornado quando você chama a API IAM Identity Service.

Configurando seu ambiente

Primeiro, configure seu ambiente para acessar uma instância de serviço Secrets Manager usando o Vault. Comece criando um script de shell que defina as credenciais necessárias para autenticação no Vault.

  1. Em um diretório do projeto, crie um arquivo login-vault.sh.

    touch login-vault.sh
    
  2. Copie e cole o script a seguir no login-vault.sh e atualize os valores do item temporário.

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

    Substitua os valores do item temporário de acordo com a tabela a seguir.

    Variáveis obrigatórias que são necessárias para extrair um token
    Variável Descrição
    IBM_CLOUD_API_KEY Uma chave de API da IBM Cloud que tem pelo menos o acesso de Visualizador à plataforma e o acesso de serviço Leitor à sua instância do Secrets Manager.
    VAULT_ADDR O endpoint da API do Vault que é exclusivo da sua instância Secrets Manager.

    É possível localizar sua URL de terminal exclusiva na página Terminais da IU do Secrets Manager ou recuperando-a pela solicitação de HTTP.

  3. Marque o arquivo como executável rodando o comando chmod em sua linha de comandos.

    chmod +x login-vault.sh
    
  4. Execute o script para configurar suas variáveis de ambiente.

    source ./login-vault.sh
    
  5. Opcional. Verifique se as variáveis de ambiente estão configuradas corretamente, imprimindo-as na janela da linha de comandos.

    echo $VAULT_ADDR && echo $IAM_TOKEN
    

    A saída pode parecer semelhante ao exemplo a seguir.

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

Efetuando login no Vault

Depois de configurar seu ambiente, efetue login no Vault para começar a interagir com a sua instância do Secrets Manager.

  1. Autentique-se no Vault usando o seu token do IAM do IBM Cloud.

    vault write auth/ibmcloud/login token=$IAM_TOKEN
    

    A tela a seguir mostra a saída de exemplo.

    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. Efetue login no Vault usando o valor token que foi retornado na etapa anterior.

    vault login <token>
    

    A tela a seguir mostra a saída de exemplo.

    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
    

    Agora é possível usar os comandos da CLI do Vault para interação com sua instância do Secrets Manager. Para saber mais, confira a Referência da CLI.