Gerenciando segredos de chave-valor com a CLI do Vault

Se você já usa HashiCorp Vault, é possível usar a interface da linha de comandos (CLI) para interagir com o IBM Cloud® Secrets Manager para gerenciar seus segredos de chave-valor. Todas as operações seguem as diretrizes que estão disponíveis para a CLI do Vault.

Secrets Manager suporta os comandos CLI do HashiCorp Vault KV Secrets Engine Versão 2. Para obter mais informações sobre a CLI do KV v2, consulte a documentação do Vault KV v2.

Antes de começar, configure a CLI do Vault para que você possa acessar sua instância do Secrets Manager usando os comandos do Vault. Para saber mais sobre o uso da CLI do Vault, confira a documentação do Vault.

Para usar a CLI padrão para Secrets Manager, confira a Referência da CLI do Secrets Manager.

Criar ou atualizar um segredo de chave-valor

Crie uma versão de um segredo de chave-valor.

vault kv put [-format=FORMAT] ibmcloud/kv/SECRET_NAME [KEY_VALUE_PAIRS]

Crie uma versão de um segredo de chave-valor em um grupo customizado.

vault kv put [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME [KEY_VALUE_PAIRS]

Pré-requisitos

Você precisa do Função de serviço Gravador para criar um segredo de valor de chave.

Opções de comando

-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Crie ou atualize a carga útil de um segredo de chave-valor.

vault kv put ibmcloud/kv/example-kv-secret key1=value1 key2=value2

Crie ou atualize a carga útil de um segredo de chave-valor em um grupo customizado.

vault kv put ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/example-kv-secret key1=value1 key2=value2

Saída

O comando para criar uma nova versão de um segredo kv retorna a saída a seguir:

Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    n/a
destroyed        false
version          2

Veja uma versão de um segredo de chave-valor

Obtenha uma versão de um segredo de chave-valor. Uma solicitação bem-sucedida retorna os dados do segredo que estão associados com a versão especificada do seu segredo, juntamente com outros metadados.

vault kv get [-version=VERSION] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

Obtenha uma versão de um segredo de chave-valor em um grupo customizado.

vault kv get [-version=VERSION] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

É necessária a função de serviço de Leitor ou Gravador para ler versões de segredos de chave-valor.

Opções de comando

-version
A versão que você deseja ler. Se omitida, a versão mais recente será retornada.
-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Leia uma versão de um segredo de chave-valor.

vault kv get -version=1 ibmcloud/kv/my-test-kv-secret

Leia uma versão de um segredo de chave-valor em um grupo customizado.

vault kv get -version=1 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

Saída

O comando para ler uma versão de um segredo kv retorna a saída a seguir:

====== Metadata ======
Key              Value
---              -----
created_time     2022-03-04T17:08:34.406336489Z
deletion_time    n/a
destroyed        false
version          1

==== Data ====
Key     Value
---     -----
key1    value1

Exclua a versão mais recente de um segredo de chave-valor

Exclua a versão mais recente de um segredo de chave-valor. É possível desfazer a exclusão chamando o comando undelete.

vault kv delete [-format=FORMAT] ibmcloud/kv/SECRET_NAME

Exclua a versão mais recente de um segredo de chave-valor em um grupo customizado.

vault kv delete [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

É necessário ter a função de serviço Manager para excluir segredos de valor-chave.

Opção de comando

-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Exclua a versão mais recente de um segredo de chave-valor.

vault kv delete -format=json ibmcloud/kv/my-test-kv-secret

Exclua a versão mais recente de um segredo de chave-valor em um grupo customizado.

vault kv delete -format=json ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

Saída

O comando para excluir a versão mais recente de um segredo kv não retorna nenhuma saída.

Exclua versões especificadas de um segredo de chave-valor

Exclua as versões especificadas de um segredo de chave-valor. É possível desfazer a exclusão chamando o comando undelete.

vault kv delete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

Exclua as versões especificadas de um segredo de chave-valor em um grupo customizado.

vault kv delete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

É necessário ter a função de serviço Manager para excluir segredos de valor-chave.

Opções de comando

-versions
As versões que você deseja excluir.
-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Exclua versões especificadas de um segredo de chave-valor.

vault kv delete -versions=2 ibmcloud/kv/my-test-kv-secret

Exclua versões especificadas de um segredo de chave-valor em um grupo customizado.

vault kv delete -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

Saída

O comando para excluir versões especificadas de um segredo kv não retorna nenhuma saída.

Desfazer a exclusão de um segredo de chave-valor

Restaurar uma versão excluída anteriormente de um segredo de chave-valor.

vault kv undelete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

Restaurar uma versão excluída anteriormente de um segredo de chave-valor em um grupo customizado.

vault kv undelete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

Você precisa da função de serviço Manager para restaurar segredos.

Opções de comando

-versions
As versões que você deseja excluir.
-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Desfaça a exclusão das versões especificadas de um segredo de chave-valor.

vault kv undelete -versions=2 ibmcloud/kv/my-test-kv-secret

Desfaça a exclusão das versões especificadas de um segredo de chave-valor.

vault kv undelete -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

Saída

O comando para desfazer a exclusão de versões especificadas de um segredo kv retorna a saída a seguir:

Success! Data written to: ibmcloud/kv/undelete/my-test-kv-secret

Destruir versões de um segredo

Saiba como destruir versões especificadas de um segredo de chave-valor permanentemente. Para fazer a exclusão reversível de versões de um segredo em vez disso, use o comando delete specified versions.

vault kv destroy [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

Destrua as versões especificadas de um segredo de chave-valor em um grupo customizado.

vault kv destroy [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

É necessária a função de serviço Gerenciador para excluir segredos.

Opções de comando

-versions
As versões que você quer destruir.
-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Exclua permanentemente as versões especificadas de um segredo de chave-valor.

vault kv destroy -versions=2 ibmcloud/kv/my-test-kv-secret

Exclua permanentemente as versões especificadas de um segredo de chave-valor em um grupo customizado.

vault kv destroy -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

Saída

O comando para destruir versões de um segredo kv retorna a saída a seguir:

Success! Data written to: ibmcloud/kv/undelete/my-test-kv-secret

Criar ou atualizar segredo de valor-chave de metadados

Criar ou atualizar metadados de um segredo de valor-chave.

vault kv metadata put [-format=FORMAT] [METADATA_KEY_VALUE_PAIRS] ibmcloud/kv/SECRET_NAME

Crie ou atualize os metadados de um segredo de valor-chave em um grupo personalizado.

vault kv metadata put [-format=FORMAT] [METADATA_KEY_VALUE_PAIRS] ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

Você precisa do Função de serviço Gravador para criar um segredo de valor de chave.

Opções de comando

-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Crie ou atualize a carga útil de um segredo de chave-valor.

vault kv metadata put -custom-metadata=key1=value1 -custom-metadata=key2=value2 ibmcloud/kv/mysecret

Crie ou atualize a carga útil de um segredo de chave-valor em um grupo customizado.

vault kv metadata put -custom-metadata=key1=value1 -custom-metadata=key2=value2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/mysecret

Saída

O comando para criar uma nova versão de um segredo kv retorna a saída a seguir:

Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    n/a
destroyed        false
version          2

Ler metadados de segredo de chave-valor

Obtenha os metadados do segredo de chave-valor.

vault kv metadata get ibmcloud/kv/SECRET_NAME

Obtenha os metadados do segredo de chave-valor em um grupo customizado.

vault kv metadata get ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

É necessária a função de serviço de Leitor ou Gravador para ler os metadados de segredos de chave-valor.

Opções de comando

-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Leia os metadados de um segredo de chave-valor.

vault kv metadata get ibmcloud/kv/my-test-kv-secret

Leia os metadados de um segredo de valor-chave em um grupo personalizado.

vault kv metadata get ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

Saída

O comando para ler os metadados de um segredo kv retorna a saída a seguir:

========== Metadata ==========
Key                     Value
---                     -----
cas_required            false
created_time            2022-03-04T17:08:34.406336489Z
current_version         3
custom_metadata         map[key1:value1 key2:value2]
delete_version_after    0s
max_versions            10
oldest_version          0
updated_time            2022-03-08T20:06:39.585190049Z

====== Version 1 ======
Key              Value
---              -----
created_time     2022-03-04T17:08:34.406336489Z
deletion_time    n/a
destroyed        true

====== Version 2 ======
Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    2022-03-08T20:05:08.850704454Z
destroyed        false

====== Version 3 ======
Key              Value
---              -----
created_time     2022-03-08T20:06:39.585190049Z
deletion_time    n/a
destroyed        false

Exclua os metadados e todas as versões de um segredo de chave-valor

Exclua os metadados e todos os dados de versão de um segredo de chave-valor especificado permanentemente. Todo o histórico da versão é removido quando você usa esse comando.

vault kv metadata delete ibmcloud/kv/SECRET_NAME
vault kv metadata delete ibmcloud/kv/GROUP_ID/SECRET_NAME

Pré-requisitos

Você precisa da função de serviço Manager para excluir os metadados dos segredos de valor-chave.

Opções de comando

-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Excluir permanentemente os dados e metadados de um segredo de chave-valor.

vault kv metadata delete ibmcloud/kv/my-test-kv-secret

Excluir permanentemente os dados e metadados de um segredo de chave-valor em um grupo de segredos customizado.

vault kv metadata delete ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

Saída

O comando para excluir os metadados de um segredo kv retorna a saída a seguir:

Success! Data deleted (if it existed) at: ibmcloud/kv/metadata/my-test-kv-secret

Liste os nomes de um segredo de chave-valor

Obtenha uma lista com os principais nomes de um segredo de chave-valor. Não codifique informações sensíveis em nomes de chaves. Os valores das chaves não são acessíveis usando este comando.

vault kv list ibmcloud/kv

Liste os principais nomes de segredos de chave-valor que são armazenados em um grupo de segredos customizado.

vault kv list ibmcloud/kv/GROUP_ID

Pré-requisitos

É necessária a função de serviço de Leitor ou Gravador para ler os nomes de chave dos segredos de chave-valor.

Opções de comando

-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Liste os principais nomes de segredos de chave-valor que são armazenados no grupo de segredos default.

vault kv list ibmcloud/kv

Liste os principais nomes de segredos de chave-valor que são armazenados em um grupo de segredos customizado.

vault kv list ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8

Saída

O comando para listar nomes de chave de um segredo kv retorna a saída a seguir:

Keys
----
my-updated-kv-secret

Corrigir um segredo de valor da chave

Corrige uma versão de um segredo de valor-chave.

vault kv patch [-format=FORMAT] ibmcloud/kv/SECRET_NAME [KEY_VALUE_PAIRS]

Crie uma versão de um segredo de chave-valor em um grupo customizado.

vault kv patch [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME [KEY_VALUE_PAIRS]

Pré-requisitos

Você precisa do Função de serviço Gravador para criar um segredo de valor de chave.

Opções de comando

-formato
Imprime a saída no formato especificado. Os formatos válidos são table, json e yaml. O padrão é table. Também é possível configurar o formato de saída usando a variável de ambiente VAULT_FORMAT.

Exemplo

Crie ou atualize a carga útil de um segredo de chave-valor.

vault kv patch ibmcloud/kv/example-kv-secret key1=value1 key2=value2

Crie ou atualize a carga útil de um segredo de chave-valor em um grupo customizado.

vault kv patch ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/example-kv-secret key1=value1 key2=value2

Saída

O comando para criar uma nova versão de um segredo kv retorna a saída a seguir:

Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    n/a
destroyed        false
version          2