Accesso ai segreti
Dopo aver archiviato i segreti nella tua istanza del servizio IBM Cloud® Secrets Manager, puoi recuperarne i valori.
Prima di iniziare
Prima di iniziare, assicurarsi di disporre del livello di accesso richiesto. Per visualizzare un elenco dei tuoi segreti disponibili, hai bisogno del ruolo del servizio Reader o superiore. Per richiamare il valore di un segreto, hai bisogno del ruolo del servizio SecretsReader o superiore.
Richiamo di un segreto nell'IU
Puoi recuperare un segreto utilizzando l'IU Secrets Manager. Segui questi passaggi per ottenere il segreto.
- Nella tabella Segreti, fai clic sul menu Azioni
per aprire un elenco di opzioni per il tuo segreto.
- Per visualizzare il valore del segreto, fare clic su Visualizza segreto.
- Fare clic su Conferma dopo essersi assicurati di essere in un ambiente sicuro.
Il valore segreto viene visualizzato per 15 secondi, quindi la finestra di dialogo viene chiusa.
Dopo la rotazione del segreto, è possibile visualizzare il valore del segreto precedente dall'opzione Cronologia versioni.
È anche possibile recuperare i dettagli di un segreto, come la data di scadenza, l'intervallo di rotazione o lo stato.
- Nella tabella Segreti, fai clic sul menu Azioni
per aprire un elenco di opzioni per il tuo segreto.
- Per visualizzare il valore segreto, fare clic su Dettagli.
È possibile filtrare ulteriormente i segreti recuperati dall'opzione filtro della tabella Segreti e selezionare un gruppo di segreti, un tipo di segreto o entrambi.
Scaricamento dei certificati
Per scaricare un certificato utilizzando l'IU Secrets Manager, completa la seguente procedura.
- Nella console, fare clic sull'icona Menu
> Elenco risorse.
- Dall'elenco di servizi, seleziona la tua istanza di Secrets Manager.
- Nella tabella Segreti, aprire il menu di overflow per il certificato che si desidera scaricare.
- Fai clic su Download. Il file del certificato viene scaricato nel sistema locale.
Richiamo di un segreto dalla CLI
Dopo aver archiviato un segreto nella propria istanza, potrebbe essere necessario richiamarne il valore in modo da potersi connettere a un'applicazione esterna o ottenere l'accesso a un servizio protetto. Puoi richiamare il valore di un segreto utilizzando il plug-in CLI Secrets Manager.
Per ottenere il valore di un segreto e riesaminarne i dettagli, ad esempio la data di scadenza e lo stato o l'intervallo di rotazione, eseguire il comando ibmcloud secrets-manager secret.
ibmcloud secrets-manager secret --id SECRET_ID
Il comando emette il valore del segreto, insieme ad altri metadati. Per ulteriori informazioni relative alle opzioni del comando, consultare ibmcloud secrets-manager secret.
È anche possibile ottenere un segreto utilizzando il suo nome:
ibmcloud secrets-manager secret-by-name --secret-type SECRET_TYPE --name SECRET_NAME --secret-group-name SECRET_GROUP_NAME
Puoi filtrare ulteriormente i segreti richiamati utilizzando gli indicatori facoltativi --secret-types e --match-all-labels.
Scaricamento dei certificati
Quando stai lavorando con i certificati, potresti aver bisogno della capacità di scaricare il payload di un certificato in un file pem utilizzando la CLI. Per fare ciò, puoi utilizzare il plug-in CLI Secrets Manager e jq.
Per memorizzare il certificato in un file pem, eseguire il comando ibmcloud secrets-manager secret.
ibmcloud secrets-manager secret --id=SECRET_ID | jq -r '.certificate' | sed 's/\\n/\n/g' > my-cert-file.pem
Il comando emette il valore del certificato e lo memorizza in my-cert-file.pem. Per ulteriori informazioni relative alle opzioni del comando, consultare ibmcloud secrets-manager secret.
Richiamo di un segreto con l'API utilizzando un ID segreto
Dopo aver archiviato un segreto nella propria istanza, potrebbe essere necessario richiamarne il valore in modo da potersi connettere a un'applicazione esterna o ottenere l'accesso a un servizio protetto. Puoi recuperare il valore di un segreto utilizzando l'API Secrets Manager.
La seguente richiesta di esempio richiama un segreto e i relativi dettagli, come la data di scadenza e lo stato o l'intervallo di rotazione. Quando richiami la API, sostituisci le variabili ID e il token IAM con i valori specifici della tua istanza 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 risposta corretta restituisce il valore del segreto, insieme ad altri metadati. Per ulteriori informazioni sui parametri di richiesta obbligatori e facoltativi, vedi Ottieni un segreto.
Puoi filtrare ulteriormente i segreti richiamati utilizzando i parametri facoltativi ?secret_types e ?match_all_labels.
Richiamo di un segreto con l'API utilizzando il Nome segreto
Puoi anche recuperare il valore del segreto facendo riferimento al suo nome invece che all'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}"
Tieni presente che devi specificare i name, secret group name e secret_type del segreto.
Puoi filtrare ulteriormente i segreti richiamati utilizzando i parametri facoltativi ?secret_types e ?match_all_labels.
Richiamo di segreti arbitrari contenenti dati binari
Se hai creato un segreto arbitrario utilizzando un file binario, come un'immagine, il servizio utilizza la codifica base64 per memorizzare i dati come una stringa codificata base64. Per accedere al segreto nella sua forma originale, è necessario completare alcuni passaggi aggiuntivi per base64.
Innanzitutto, richiama il segreto richiamando l'API Secrets Manager. Il seguente esempio usa cURL e jq per raccogliere il valore payload di un segreto.
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(".*,"; "")'`
Se controlli il contenuto di $ARBITRARY_SECRET, vedi i dati con codifica base64. Il seguente frammento mostra un output di esempio.
echo $ARBITRARY_SECRET
eUdB68klDSrzSKgWcQS5...(truncated)
Per visualizzare il segreto nel suo formato originale (file binario), puoi utilizzare la decodifica base64. Il seguente esempio utilizza il programma di utilità base64 macOS per decodificare base64 il contenuto $ARBITRARY_SECRET.
echo $ARBITRARY_SECRET | base64 --decode > my-secret.png
I dati vengono riconvertiti in un file binario che è possibile aprire dal computer locale.
Scaricamento della versione precedente di un certificato
Dopo aver ruotato un certificato, puoi accedere in modo programmatico alla sua versione precedente utilizzando l'API Secrets Manager.
La seguente richiesta di esempio recupera un segreto e il suo contenuto. Quando richiami la API, sostituisci le variabili ID e il token IAM con i valori specifici della tua istanza 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"
Collegamento diretto a un segreto
È possibile copiare un link che punta direttamente al pannello dei dettagli di un segreto.
- Nella tabella Segreti, fai clic sul menu Azioni
per aprire un elenco di opzioni per il tuo segreto.
- Per copiare un link al segreto, fare clic su Copia segreto URL.