IBM Cloud Docs
Acceso a secretos

Acceso a secretos

Después de almacenar secretos en la instancia de servicio de IBM Cloud® Secrets Manager, puede recuperar sus valores.

Antes de empezar

Antes de empezar, asegúrese de que tiene el nivel de acceso necesario. Para ver una lista de sus secretos disponibles, necesita el rol de servicio Lector o superior. Para recuperar el valor de un secreto, necesita el rol de servicio Lector de secretos o superior.

Recuperación de un secreto en la interfaz de usuario

Puedes recuperar un secreto utilizando la interfaz de usuario Secrets Manager. Siga estos pasos para obtener su secreto.

  1. En la tabla Secretos, pulse el menú Acciones Icono Acciones para abrir una lista de opciones para su secreto.
  2. Para ver el valor del secreto, pulse Ver secreto.
  3. Pulse Confirmar después de asegurarse de que está en un entorno seguro.

El valor de secreto se visualiza durante 15 segundos y, a continuación, se cierra el diálogo.

Después de que tu secreto haya sido rotado, puedes ver el valor anterior del secreto desde la opción Historial de versiones.

También puede retirar los detalles de un secreto como, por ejemplo, la fecha de caducidad y el intervalo o estado de rotación.

  1. En la tabla Secretos, pulse el menú Acciones Icono Acciones para abrir una lista de opciones para su secreto.
  2. Para ver el valor del secreto, pulse Detalles.

Puede filtrar más los secretos recuperados de la opción de filtro en la tabla Secretos y seleccionar un grupo de secretos y/o tipo de secreto.

Descarga de certificados

Para descargar un certificado utilizando la interfaz de usuario de Secrets Manager, realice los pasos siguientes.

  1. En la consola, pulse el icono Menú Icono de menú > Lista de recursos.
  2. En la lista de servicios, seleccione la instancia de Secrets Manager.
  3. En la tabla Secretos, abra el menú de desbordamiento del certificado que desea descargar.
  4. Pulse Descargar. El archivo de certificado se descarga en el sistema local.

Recuperación de un secreto desde la CLI

Después de almacenar un secreto en la instancia, es posible que tenga que recuperar su valor para que pueda conectarse a una app externa u obtener acceso a un servicio protegido. Puede recuperar el valor de un secreto utilizando el plug-in de CLI de Secrets Manager.

Para obtener el valor de un secreto, así como revisar sus detalles como, por ejemplo, la fecha de caducidad y el intervalo de rotación o el estado, ejecute el mandato ibmcloud secrets-manager secret.

ibmcloud secrets-manager secret --id SECRET_ID

El mandato genera el valor del secreto junto con otros metadatos. Para obtener más información sobre las opciones de mandato, consulte ibmcloud secrets-manager secret.

También puede obtener un secreto utilizando su nombre:

ibmcloud secrets-manager secret-by-name --secret-type SECRET_TYPE --name SECRET_NAME --secret-group-name SECRET_GROUP_NAME

Puede filtrar más los secretos recuperados utilizando los distintivos opcionales --secret-types y --match-all-labels.

Descarga de certificados

Cuando trabaje con certificados, es posible que necesite la capacidad de descargar la carga útil de un certificado en un archivo pem utilizando la CLI. Para ello, puede utilizar el plug-in de CLI de Secrets Manager y jq.

Para almacenar el certificado en un archivo pem, ejecute el mandato ibmcloud secrets-manager secret.

ibmcloud secrets-manager secret --id=SECRET_ID | jq -r '.certificate' | sed 's/\\n/\n/g' > my-cert-file.pem

El mandato genera el valor del certificado y lo almacena en my-cert-file.pem. Para obtener más información sobre las opciones de mandatos, consulte ibmcloud secrets-manager secret.

Recuperación de un secreto con la API utilizando el ID de secreto

Después de almacenar un secreto en la instancia, es posible que tenga que recuperar su valor para que pueda conectarse a una app externa u obtener acceso a un servicio protegido. Puede recuperar el valor de un secreto utilizando la API de Secrets Manager.

La siguiente solicitud de ejemplo recupera un secreto y sus detalles, como por ejemplo la fecha de caducidad y el intervalo de rotación o el estado. Cuando llame a la API, sustituya las variables de ID y la señal de IAM por los valores que son específicos de la instancia de Secrets Manager.

curl -X GET
    -H "Authorization: Bearer {iam_token}" \
    -H "Accept: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{secret_ID}"

Una respuesta correcta devuelve el valor del secreto, junto con otros metadatos. Para obtener más información sobre los parámetros de solicitud obligatorios y opcionales, consulta Obtener un secreto.

Puede filtrar más los secretos recuperados utilizando los parámetros opcionales ?secret_types y ?match_all_labels.

Recuperación de un secreto con la API utilizando el nombre de secreto

También puede recuperar el valor del secreto haciendo referencia a su nombre en lugar del ID:

curl -X GET
    -H "Authorization: Bearer {iam_token}" \
    -H "Accept: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secret_groups/{secret_group_name}/secret_types/{secret_type}/secrets/{secert_name}"

Tenga en cuenta que debe especificar name, secret group name y secret_type del secreto.

Puede filtrar más los secretos recuperados utilizando los parámetros opcionales ?secret_types y ?match_all_labels.

Recuperando secretos arbitrarios que contienen datos binarios

Si ha creado un secreto binario utilizando un archivo binario, como una imagen, el servicio utiliza la codificación base64 para almacenar los datos como una serie codificada base64. Para acceder al secreto en su forma original, es necesario completar algunos pasos adicionales para base64 descifrar el secreto recuperado.

En primer lugar, recupere el secreto llamando a la API de Secrets Manager. El ejemplo siguiente utiliza cURL y jq para recopilar el valor payload de un secreto.

export ARBITRARY_SECRET=`curl -X GET  
    -H "Authorization: Bearer $IAM_TOKEN" \
    -H "Accept: application/json"
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/arbitrary/{id}" | jq --raw-output '.payload | sub(".*,"; "")'`

Si inspecciona el contenido de $ARBITRARY_SECRET, verá datos codificados en base64. En el fragmento de código siguiente se muestra una salida de ejemplo.

echo $ARBITRARY_SECRET
eUdB68klDSrzSKgWcQS5...(truncated)

Para ver el secreto en su forma original (archivo binario), puede utilizar la decodificación de base64. El ejemplo siguiente utiliza el programa de utilidad de base64 macOS para decodificar en base64 el contenido de $ARBITRARY_SECRET.

echo $ARBITRARY_SECRET | base64 --decode > my-secret.png

Los datos se vuelven a convertir en un archivo binario que puede abrir desde su sistema local.

Descarga de la versión anterior de un certificado

Después de rotar un certificado, puede acceder mediante programación a su versión anterior utilizando la API de Secrets Manager.

La solicitud de ejemplo siguiente recupera un secreto y su contenido. Cuando llame a la API, sustituya las variables de ID y la señal de IAM por los valores que son específicos de la instancia de Secrets Manager.

curl -X GET  
   --header "Authorization: Bearer {iam_token}" \
   --header "Accept: application/json" \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions/previous"