Gestión de secretos de clave-valor con CLI de Vault

Si ya utiliza HashiCorp Vault, puede utilizar la interfaz de línea de mandatos (CLI) para interactuar con IBM Cloud® Secrets Manager para gestionar los secretos de clave-valor. Todas las operaciones siguen las directrices disponibles para la CLI de Vault.

Secrets Manager admite los comandos CLI de HashiCorp Vault KV Secrets Engine Versión 2. Para más información sobre la CLI KV v2, consulte la documentación de Vault KV v2.

Antes de empezar, configure la CLI de Vault para que pueda acceder a la instancia de Secrets Manager utilizando mandatos Vault. Para obtener más información sobre la utilización de la CLI de Vault, consulte la documentación de Vault.

Para utilizar la CLI estándar para Secrets Manager, consulte la Referencia de CLI de Secrets Manager.

Crear o actualizar un secreto de clave-valor

Cree una versión de un secreto de clave-valor.

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

Crear una versión de un secreto de clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio Escritor para crear un secreto de clave-valor.

Opciones de comando

-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Crear o actualizar la carga útil de un secreto de clave-valor.

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

Crear o actualizar la carga útil de un secreto de clave-valor en un grupo personalizado.

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

Salida

El mandato para crear una nueva versión de un secreto de kv devuelve la salida siguiente:

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

Leer una versión de un secreto de clave-valor

Obtenga una versión de un secreto de clave-valor. Una solicitud satisfactoria devuelve los datos de secretos que están asociados con la versión especificada de su secreto, junto con otros metadatos.

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

Obtener una versión de un secreto de clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio Lector o Escritor para leer versiones de secretos de clave-valor.

Opciones de comando

-version
La versión que desea leer. Si se omite, se devuelve la última versión.
-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Leer una versión de un secreto de clave-valor.

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

Leer una versión de un secreto de clave-valor en un grupo personalizado.

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

Salida

El mandato para leer una nueva versión de un secreto de kv devuelve la salida siguiente:

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

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

Suprimir la última versión de un secreto de clave-valor

Suprima la última versión de un secreto de clave-valor. Puede deshacer la supresión llamando al mandato undelete.

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

Suprimir la última versión de un secreto de clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio de Gestor para suprimir secretos de clave-valor.

Opción de mandato

-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Suprima la última versión de un secreto de clave-valor.

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

Suprimir la última versión de un secreto de clave-valor en un grupo personalizado.

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

Salida

El mandato para suprimir la última versión de un secreto de kv no devuelve ninguna salida.

Suprimir versiones especificadas de un secreto de clave-valor

Suprima las versiones especificadas de un secreto de clave-valor. Puede deshacer la supresión llamando al mandato undelete.

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

Suprimir las versiones especificadas de un secreto de clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio de Gestor para suprimir secretos de clave-valor.

Opciones de comando

-versions
Las versiones que desea suprimir.
-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Suprimir versiones especificadas de un secreto de clave-valor.

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

Suprimir versiones especificadas de un secreto de clave-valor en un grupo personalizado.

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

Salida

El mandato para suprimir versiones especificadas de un secreto de kv no devuelve ninguna salida.

Restaurar un secreto de clave-valor

Restaurar una versión suprimida anteriormente de un secreto de clave-valor.

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

Restaurar una versión suprimida anteriormente de un secreto de clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio Gestor para restaurar secretos.

Opciones de comando

-versions
Las versiones que desea suprimir.
-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Anular la supresión de las versiones especificadas de un secreto de clave-valor.

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

Anular la supresión de las versiones especificadas de un secreto de clave-valor.

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

Salida

El mandato para anular la supresión de las versiones especificadas de un secreto de kv devuelve la salida siguiente:

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

Destruir versiones de un secreto

Destruya las versiones especificadas de un secreto de clave-valor de forma permanente. Para borrar de forma temporal las versiones de un secreto en su lugar, utilice el mandato delete specified versions.

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

Destruir las versiones especificadas de un secreto de clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio Gestor para suprimir secretos.

Opciones de comando

-versions
Las versiones que desea destruir.
-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Suprimir las versiones especificadas permanentemente de un secreto de clave-valor.

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

Suprimir permanentemente las versiones especificadas de un secreto de clave-valor en un grupo personalizado.

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

Salida

El mandato para destruir versiones de un secreto de kv devuelve la salida siguiente:

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

Crear o actualizar metadatos clave-valor secreto

Crear o actualizar los metadatos de un secreto clave-valor.

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

Crear o actualizar metadatos de un secreto clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio Escritor para crear un secreto de clave-valor.

Opciones de comando

-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Crear o actualizar la carga útil de un secreto de clave-valor.

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

Crear o actualizar la carga útil de un secreto de clave-valor en un grupo personalizado.

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

Salida

El mandato para crear una nueva versión de un secreto de kv devuelve la salida siguiente:

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

Leer metadatos del secreto de clave-valor

Obtener los metadatos de un secreto de clave-valor.

vault kv metadata get ibmcloud/kv/SECRET_NAME

Obtener los metadatos de un secreto de clave-valor en un grupo personalizado.

vault kv metadata get ibmcloud/kv/GROUP_ID/SECRET_NAME

Requisitos previos

Necesita el rol de servicio Lector o Escritor para leer los metadatos de los secretos de clave-valor.

Opciones de comando

-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Leer los metadatos del secreto de clave-valor.

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

Leer los metadatos de un secreto clave-valor en un grupo personalizado.

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

Salida

El mandato para leer los metadatos de un secreto de kv devuelve la salida siguiente:

========== 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

Suprimir los metadatos y todas las versiones de un secreto de clave-valor

Suprima de forma permanente los metadatos y todos los datos de versión de un secreto de clave-valor especificado. Todo el historial de versiones se elimina cuando se utiliza este mandato.

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

Requisitos previos

Necesita el rol de servicio Gestor para suprimir los metadatos de los secretos de clave-valor.

Opciones de comando

-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Suprimir permanentemente los datos y los metadatos de un secreto de clave-valor.

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

Suprimir permanentemente los datos y los metadatos de un secreto de clave-valor en un grupo de secretos personalizados.

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

Salida

El mandato para leer los metadatos de un secreto de kv devuelve la salida siguiente:

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

Listar nombres de clave de un secreto de clave-valor

Obtenga una lista de nombres de clave de un secreto de clave-valor. No codifique información confidencial en nombres de claves. No se puede acceder a los valores de las claves utilizando este mandato.

vault kv list ibmcloud/kv

Lista los nombres de clave de los secretos de clave-valor que se almacenan en un grupo de secretos personalizado.

vault kv list ibmcloud/kv/GROUP_ID

Requisitos previos

Necesita el rol de servicio Lector o Escritor para leer los nombres de clave de los secretos de clave-valor.

Opciones de comando

-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Lista los nombres clave de los secretos de clave-valor que se almacenan en el grupo de secretos default.

vault kv list ibmcloud/kv

Lista los nombres de clave de los secretos de clave-valor que se almacenan en un grupo de secretos personalizado.

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

Salida

El mandato para listar nombres de clave de un secreto de kv devuelve la salida siguiente:

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

Aplicar un parche a un secreto de valor de clave

Parchea una versión de un secreto clave-valor.

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

Crear una versión de un secreto de clave-valor en un grupo personalizado.

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

Requisitos previos

Necesita el rol de servicio Escritor para crear un secreto de clave-valor.

Opciones de comando

-format
Muestra la salida en el formato que especifique. Los formatos válidos son table, json y yaml. El valor predeterminado es table. También puede establecer el formato de salida utilizando la variable de entorno VAULT_FORMAT.

Ejemplo

Crear o actualizar la carga útil de un secreto de clave-valor.

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

Crear o actualizar la carga útil de un secreto de clave-valor en un grupo personalizado.

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

Salida

El mandato para crear una nueva versión de un secreto de kv devuelve la salida siguiente:

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