API Vault

Se si utilizza già l'API HashiCorp Vault HTTP, si possono usare il suo formato e le sue linee guida per interagire con IBM Cloud® Secrets Manager.

Per utilizzare l'API REST standard per Secrets Manager, consulta il Riferimento APISecrets Manager.

Panoramica

Secrets Manager utilizza HashiCorp Vault con l'aggiunta del supporto per il metodo IAM Auth di IBM Cloud e un insieme di motori di segreti per supportare le operazioni in Secrets Manager per vari tipi di segreti.

Tutte le operazioni seguono gli standard delle API REST disponibili per le API del Vault HTTP. Per maggiori informazioni su come autenticare e utilizzare le API HTTP di Vault, consulta la documentazione di Vault.

Secrets Manager limita l'accesso al Vault solo a percorsi specifici che aiutano a lavorare con i segreti e ad accedere all'istanza. Tutti gli altri percorsi restituiscono un codice di stato di risposta HTTP 403 Forbidden. I plug-in e gli altri componenti offerti da HashiCorp Vault potrebbero non essere accessibili da Secrets Manager. Per ulteriori informazioni, vedi le Domande frequenti.

URL endpoint

Per accedere a Secrets Manager utilizzando le API del Vault, utilizzare l'endpoint dedicato URL che è unico per l'istanza del servizio Secrets Manager.

Per un elenco completo degli URL degli endpoint per regione, sia per la connettività pubblica che per quella privata, vedere Endpoint del servizio.

È inoltre possibile trovare l'endpoint univoco URL nella pagina Endpoints dell'interfaccia utente Secrets Manager, oppure recuperandolo tramite una richiesta HTTP. Per ulteriori informazioni, vedi Visualizzazione degli URL degli endpoint.

Intestazioni comuni

Questa sezione descrive le intestazioni comuni a tutte le richieste.

Intestazioni comuni
Intestazione Descrizione
X-Vault-Token Obbligatorio. Un token Vault valido con autorizzazioni sufficienti per eseguire l'operazione.
Content-Type Obbligatorio. application/json

Data e ora

Le date / ore in tutte le richieste e risposte, come le date di creazione e di scadenza, sono formattate in base a RFC 3339. Ad esempio: 1985-04-12T23:20:50.52Z

Nomi di campo

Questa API segue le linee guida API del Vault HTTP. Tutti i nomi di campo sono formattati in maiuscolo / minuscolo (snake_case).

Accedi

Accedi al vault

Accede al vault utilizzando un token IAM IBM Cloud e ottiene un token Vault con le politiche associate.

Parametri della richiesta di accesso
Parametri di richiesta Descrizione
token Obbligatorio. Il tuo token di accesso IAM IBM Cloud.

Richiesta di esempio

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/login" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "token": "{IAM_token}"
}'

Risposta di esempio

{
    "request_id": "d9a41bfe-b8ba-8709-f1be-6dbdbc305e07",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": {
        "client_token": "s.w6vmYTRuEJdzEvVFVYjIEAYG",
        "accessor": "5m6VpELSK42N3sq0yTEuVhn5",
        "policies": [
            "default",
            "instance-reader"
        ],
        "token_policies": [
            "default",
            "instance-reader"
        ],
        "metadata": {
            "bss_acc": "791f5fb10986423e97aa8512f18b7e65",
            "grant_type": "urn:ibm:params:oauth:grant-type:apikey",
            "name": "secrets-manager-test-reader",
            "resource": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e::",
            "user": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0"
        },
        "lease_duration": 3600,
        "renewable": true,
        "entity_id": "336f5725-b98d-e0c6-921a-6041e2d3157d",
        "token_type": "service",
        "orphan": true
    }
}

Configurare un token di accesso

Configura la durata o il TTL (time - to - live) e la durata (MaxTTL) di un token di accesso Vault.

Utilizzare una stringa di durata come 300s o 2h45m. Le unità temporali valide sono s, m e h. Il plug-in di autenticazione IBM Cloud imposta la TTL (login token duration) predefinita su 1 ora e la durata predefinita (MaxTTL) su 24 ore.

Configurare i parametri di richiesta del token di accesso
Parametri di richiesta Descrizione
token_max_ttl La durata massima del token di login. Il valore predefinito è 24h. Questo valore non può superare il valore MaxLeaseTTL del vault.
token_ttl Il TTL (time - to - live) iniziale del token di login da generare. Il valore predefinito è 1h.

Richiesta di esempio

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/login" \
-H 'Accept: application/json' \
-H 'X-Vault-Token: {Vault_token}' \
-H 'Content-Type: application/json' \
-d '{
    "token_ttl": "30m",
    "token_max_ttl": "2h"
}'

Risposta di esempio

Questa operazione restituisce HTTP 204 No Content.

Richiama la configurazione di un token di collegamento

Richiama la configurazione di accesso di un token Vault.

Richiesta di esempio

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/login" \
-H 'Accept: application/json' \
-H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

{
    "request_id": "41bc89dc-c950-113f-aa8f-a025646d2975",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "login": {
            "token_max_ttl": "2h0m0s",
            "token_ttl": "30m0s"
        }
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Gruppi di segreti

Crea un gruppo di segreti

Crea un gruppo di segreti.

Creare parametri di richiesta di gruppo segreti
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al gruppo di segreti.
description Una descrizione estesa del gruppo segreto.

Richiesta di esempio

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-secret-group",
    "description": "Extended description for my secret group."
    }'

Risposta di esempio

{
    "request_id": "f0e47267-940e-1a59-8742-e4e77401b06b",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "creation_date": "2020-12-15T22:08:46Z",
        "description": "Extended description for my secret group.",
        "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
        "last_update_date": "2020-12-15T22:08:46Z",
        "name": "test-secret-group",
        "type": "application/vnd.ibm.secrets-manager.secret.group+json"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Elenco dei gruppi di segreti

Elenca i gruppi segreti disponibili nell'istanza del servizio Secrets Manager.

Richiesta di esempio

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

{
    "request_id": "7ecc32f2-b78b-9290-015c-24803a1e87c9",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "groups": [
            {
                "creation_date": "2020-12-14T14:48:55Z",
                "description": "Read and write to Cloud Object storage buckets.",
                "id": "714e070d-8122-6270-198c-fef9166729e3",
                "last_update_date": "2020-12-14T14:48:55Z",
                "name": "cloud-object-storage-writers",
                "type": "application/vnd.ibm.secrets-manager.secret.group+json"
            },
            {
                "creation_date": "2020-12-15T22:08:46Z",
                "description": "Extended description for my secret group.",
                "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
                "last_update_date": "2020-12-15T22:08:46Z",
                "name": "test-secret-group",
                "type": "application/vnd.ibm.secrets-manager.secret.group+json"
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Aggiorna un gruppo di segreti

Aggiorna i dettagli di un gruppo di segreti esistente.

Aggiornamento dei parametri di richiesta del gruppo segreto
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al gruppo di segreti.
description Una descrizione estesa del gruppo segreto.

Richiesta di esempio

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "updated-secret-group-name",
    "description": "Updated description for my secret group"
    }'

Risposta di esempio

{
    "request_id": "b02c5035-9da1-85fe-b7c7-3db2c77ddbb6",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "creation_date": "2020-12-15T22:08:46Z",
        "description": "Updated description for my secret group.",
        "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
        "last_update_date": "2020-12-15T22:16:32Z",
        "name": "updated-secret-group-name",
        "type": "application/vnd.ibm.secrets-manager.secret.group+json"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Ottieni un gruppo di segreti

Richiama un gruppo di segreti e i relativi dettagli.

Richiesta di esempio

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

{
    "request_id": "0d127ae6-8359-bc36-af53-3a56be4c3e24",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "creation_date": "2020-12-15T22:08:46Z",
        "description": "Updated description for my secret group.",
        "id": "2bcaa289-5d38-aa57-910d-970e418ab1b3",
        "last_update_date": "2020-12-15T22:18:44Z",
        "name": "updated-secret-group-name",
        "type": "application/vnd.ibm.secrets-manager.secret.group+json"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Elimina un gruppo di segreti

Elimina un gruppo di segreti.

Richiesta di esempio

curl -X DELETE "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/auth/ibmcloud/manage/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

{
    "request_id": "37065859-3238-f671-941f-d43ac340ad99",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Segreti

Crea un segreto

Crea o importa un segreto utilizzando i motori dei segreti Secrets Manager. Puoi aggiungere uno dei seguenti tipi di segreto:

  • Segreti arbitrari (arbitrary)
  • Credenziali IAM (iam_credentials)
  • Segreti chiave - valore (kv)
  • Credenziali utente (user_credentials)
  • Certificati importati (import_cert)
  • Certificati privati (private_cert)
  • Certificati pubblici (public_cert)
  • Credenziali del servizio (service_credentials)
  • Credenziali personalizzate (custom_credentials)
Creare parametri di richiesta segreti - Segreti arbitrari
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
payload Obbligatorio. I dati segreti da assegnare al segreto.
expiration_date La data di scadenza che si desidera assegnare al segreto. Il formato della data segue RFC 3339.
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
Creare parametri di richiesta segreti - credenziali IAM
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
access_groups[] Obbligatorio. I gruppi di accesso che definiscono le funzionalità dell'ID servizio e della chiave API generati per un segreto iam_credentials.
ttl Obbligatorio. La durata TTL (time - to - live) o la durata del lease da assegnare alle credenziali generate. Il valore può essere un intero che specifica il numero di secondi, oppure la rappresentazione in stringa di una durata, come 120m o 24h.
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
Creare parametri di richiesta segreti - Segreti a valore-chiave
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
payload Obbligatorio. I dati segreti in formato JSON da assegnare al segreto. La dimensione massima del file è di 512 KB.
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
Creare parametri di richiesta segreti - Credenziali utente
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
username Obbligatorio. Il nome utente da assegnare al segreto.
password La parola d'ordine da assegnare al segreto.
expiration_date La data di scadenza che si desidera assegnare al segreto. Il formato della data segue RFC 3339.
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
Creazione di parametri di richiesta segreti - Certificati importati
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
certificate Obbligatorio. I dati del certificato da assegnare a un segreto imported_cert.
private_key La chiave privata corrispondente da assegnare a un segreto imported_cert.
intermediate I dati del certificato intermedio da assegnare a un segreto import_cert.
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
Creare parametri di richiesta segreti - Certificati privati
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
certificate_template Obbligatorio. Il nome del modello del certificato.
common_name Il nome dominio completo o il nome dominio host per il certificato.
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
alt_names I nomi alternativi del soggetto da definire per il certificato, in un elenco delimitato da virgole.
ip_sans I nomi alternativi del soggetto IP da definire per il certificato, in un elenco delimitato da virgole.
uri_sans I nomi alternativi del soggetto URI da definire per il certificato, in un elenco delimitato da virgole.
other_sans L'Object Identifier (OID) personalizzato o i nomi alternativi del soggetto UTF8-string da definire per il certificato.

I nomi alternativi devono corrispondere ai valori specificati nel campo allowed_other_san nel modello di certificato associato. Il formato è lo stesso di OpenSSL: <oid>:<type>:<value> dove il tipo attualmente valido è UTF8.

ttl Il TTL (time-to-live) da assegnare a un certificato privato.

Il valore può essere fornito come rappresentazione di stringa di una durata in ore, ad esempio '12h'. Il valore non può superare l'indirizzo max_ttl definito nel modello di certificato associato.

format Il formato dei dati restituiti. I valori consentiti sono pem, pem_bundle. Valore predefinito: pem
auto_rotate Determina se Secrets Manager ruota automaticamente il certificato. Per i certificati privati, il certificato viene ruotato in base all'intervallo di tempo specificato nei campi interval e unit.
interval Utilizzato insieme al campo unit per specificare l'intervallo di rotazione. L'intervallo minimo è un giorno e l'intervallo massimo è 3 anni (1095 giorni). Obbligatorio nel caso in cui auto_rotate sia impostato su true.
unit L'unità di tempo dell'intervallo di rotazione. I valori consentiti sono: day, month
Creare parametri di richiesta segreti - Certificati pubblici
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
ca Obbligatorio. Il nome della configurazione dell'autorità di certificazione.
dns Obbligatorio. Il nome della configurazione del provider DNS.
common_name Obbligatorio. Il nome dominio completo o il nome dominio host per il certificato.
alt_names[] I nomi alternativi da definire per il certificato.
bundle_certs Determina se il certificato emesso è associato a certificati intermedi.

Impostare su false affinché il file del certificato contenga solo il certificato emesso. Predefinito: true.

key_algorithm L'identificatore dell'algoritmo crittografico da utilizzare per generare la chiave pubblica associata al certificato.

Valori consentiti: RSA2048, RSA4096, EC256,EC384

auto_rotate Determina se Secrets Manager ruota automaticamente il certificato.

Se impostato su true, il servizio riordina il tuo certificato 31 giorni prima della scadenza. Predefinito: false

rotate_keys Determina se Secrets Manager ruota automaticamente la chiave privata per il certificato. Se impostato su true, il servizio genera e memorizza una nuova chiave privata per il tuo certificato ruotato. Predefinito: false
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
Creare parametri di richiesta segreti - Credenziali del servizio
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
source_crn Obbligatorio. Il CRN dell'istanza del servizio di origine.
role Obbligatorio. Il nome del ruolo del servizio IAM per il livello di autorizzazioni che vuoi assegnare.
ttl Il TTL (time - to - live) da assegnare alle credenziali. L'ora può essere specificata in giorni.
Creare parametri di richiesta segreti - Credenziali personalizzate
Parametri di richiesta Descrizione
name Obbligatorio. L'alias leggibile che si desidera assegnare al segreto.
description Una descrizione estesa del segreto.
configuration Obbligatorio. Il nome della configurazione delle credenziali personalizzate.
parameters Obbligatorio. I parametri richiesti dalla configurazione delle credenziali personalizzate in formato JSON.
labels[] Etichette che si possono usare per filtrare i segreti nella propria istanza. È possibile aggiungere fino a 30 etichette.
auto_rotate Determina se Secrets Manager ruota automaticamente il segreto.
interval Utilizzato insieme al campo unit per specificare l'intervallo di rotazione. Richiesto se auto_rotate è impostato su true.
unit L'unità di tempo dell'intervallo di rotazione. I valori consentiti sono: day, month

Richieste di esempio

Creare un segreto arbitrario nel gruppo di segreti default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-arbitrary-secret",
    "description": "Extended description for my secret.",
    "payload": "secret-data",
    "labels": [
        "dev",
        "us-south"
    ],
    "expiration_date": "2030-04-01T09:30:00Z"
    }'

Creare un segreto arbitrario in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-arbitrary-secret-in-group",
    "description": "Extended description for my secret.",
    "payload": "secret-data",
    "labels": [
        "dev",
        "us-south"
    ],
    "expiration_date": "2030-04-01T09:30:00Z"
    }'

Crea credenziali IAM nel gruppo di segreti default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/roles/{secret_name}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-iam-credentials",
    "description": "Extended description for my secret.",
    "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "labels": [
        "dev",
        "us-south"
    ],
    "ttl": "30m"
    }'

Creare credenziali IAM in un gruppo esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/roles/groups/{group_id}/{secret_name}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-iam-credentials-in-group",
    "description": "Extended description for my secret.",
    "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "labels": [
        "dev",
        "us-south"
    ],
    "ttl": "30m"
    }'

Crea un segreto chiave - valore nel gruppo di segreti default. Ulteriori informazioni.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets' \
-H 'Accept: application/json' \
-H 'X-Vault-Token: {Vault-Token}' \
-H 'Content-Type: application/json' \
-d '{
    "name": "test-kv-secret",
    "description": "Extended description for my secret.",
    "payload": {
        "key1": "value1"
    },
    "labels": [
        "dev",
        "us-south"
    ]
}'

Creare un segreto chiave - valore in un gruppo di segreti esistente.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}' \
-H 'Accept: application/json/groups/{group_id}' \
-H 'X-Vault-Token: {Vault-Token}' \
-H 'Content-Type: application/json' \
-d '{
    "name": "test-kv-secret",
    "description": "Extended description for my secret.",
    "payload": {
        "key1": "value1"
    },
    "labels": [
        "dev",
        "us-south"
    ]
}'

Creare credenziali utente nel gruppo di segreti default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-username-password",
        "description": "Extended description for my secret.",
        "username": "user123",
        "password": "cloudy-rainy-coffee-book",
        "expiration_date": "2020-12-31T00:00:00Z",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

Creare credenziali utente in un gruppo di segreti esistente:

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-username-password-in-group",
        "description": "Extended description for my secret.",
        "username": "user123",
        "password": "cloudy-rainy-coffee-book",
        "expiration_date": "2020-12-31T00:00:00Z",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

Importare un certificato SSL / TLS e assegnarlo al gruppo segreto default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-imported-certificate",
        "description": "Extended description for my secret."
        "certificate": "-----BEGIN CERTIFICATE-----\nMIICWzCCAcQCC...(redacted)",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)",
        "intermediate": "-----BEGIN CERTIFICATE-----\nMIICUzHHraOa...(redacted)",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

Importare un certificato SSL / TLS e assegnarlo a un gruppo segreto esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-imported-certificate-in-group",
        "description": "Extended description for my secret."
        "certificate": "-----BEGIN CERTIFICATE-----\nMIICWzCCAcQCC...(redacted)",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)",
        "intermediate": "-----BEGIN CERTIFICATE-----\nMIICUzHHraOa...(redacted)",
        "labels": [
            "dev",
            "us-south"
        ]
    }'

Ordinare un certificato pubblico SSL / TLS e assegnarlo al gruppo segreto default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-public-certificate-in-group",
        "description": "Extended description for my secret.",
        "ca": "my-configured-certificate-authority",
        "dns": "my-configured-dns-provider",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "bundle_certs": false,
        "key_algorithm": "RSA2048",
        "rotation": {
            "auto_rotate": false,
            "rotate_keys": false
        }
    }'

Ordinare un certificato pubblico SSL / TLS e assegnarlo a un gruppo segreto esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-public-certificate-in-group",
        "description": "Extended description for my secret.",
        "ca": "my-configured-certificate-authority",
        "dns": "my-configured-dns-provider",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "bundle_certs": false,
        "key_algorithm": "RSA2048",
        "rotation": {
            "auto_rotate": false,
            "rotate_keys": false
        }
    }'

Creare un certificato privato SSL / TLS e assegnarlo al gruppo segreto default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-private-certificate",
        "description": "Extended description for my secret.",
        "certificate_template": "my-configured-certificate-template",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 90,
            "unit": day
        }
    }'

Creare un certificato privato SSL / TLS e assegnarlo a un gruppo segreto esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-private-certificate",
        "description": "Extended description for my secret.",
        "certificate_template": "my-configured-certificate-template",
        "common_name": "example.com",
        "alt_names": [
            "www.example.com"
        ],
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 90,
            "unit": day
        }
    }'

Creare o importare un set di credenziali di servizio.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/service_credentials/secrets" \
    -H 'Accept: application/json' \
        -H "X-Vault-Token: $VAULT_TOKEN" \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-sc-secret",
        "source_crn":"crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675bc::",
        "role":"crn:v1:bluemix:public:iam::::serviceRole:Manager",
        "ttl":"90d"
    }' | jq

Creare un segreto delle credenziali personalizzato nel gruppo default secret.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-custom-credentials-secret",
        "description": "Extended description for my custom credentials secret.",
        "configuration": "my-custom-credentials-config",
        "parameters": {
            "username": "user@example.com",
            "api_key": "example-api-key"
        },
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 30,
            "unit": "day"
        }
    }'

Creare un segreto delle credenziali personalizzato in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-custom-credentials-secret-in-group",
        "description": "Extended description for my custom credentials secret.",
        "configuration": "my-custom-credentials-config",
        "parameters": {
            "username": "user@example.com",
            "api_key": "example-api-key"
        },
        "labels": [
            "dev",
            "us-south"
        ],
        "rotation": {
            "auto_rotate": true,
            "interval": 30,
            "unit": "day"
        }
    }'

Risposte di esempio

Una richiesta di creare un segreto arbitrario nel gruppo di segreti default restituisce la seguente risposta:

{
    "request_id": "8c047529-de3a-a79d-7c2f-c382a8e75312",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:34:53Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:34:53Z",
    "name": "test-arbitrary-secret-in-group",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
          "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
          "creation_date": "2020-12-15T22:34:53Z",
          "id": "a7f55e6f-b068-977b-062e-4de644633982"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di creare un segreto arbitrario in un gruppo di segreti esistente restituisce la seguente risposta:

{
    "request_id": "8c047529-de3a-a79d-7c2f-c382a8e75312",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:34:53Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:34:53Z",
    "name": "test-arbitrary-secret-in-group",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:34:53Z",
        "id": "a7f55e6f-b068-977b-062e-4de644633982"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di creare credenziali IAM nel gruppo di segreti default restituisce la seguente risposta:

{
    "request_id": "3bef24c5-5ab9-72f4-8a1a-dd35a6e7aa15",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
            "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
        ],
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-16T21:34:51Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:8bc5eae8-e5b7-9599-de8e-525d1c3e2723",
        "description": "Extended description for my secret.",
        "id": "8bc5eae8-e5b7-9599-de8e-525d1c3e2723",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2020-12-16T21:34:51Z",
        "name": "test-iam-credentials",
        "secret_type": "iam_credentials",
        "state": 1,
        "state_description": "Active",
        "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di creare le credenziali IAM in un gruppo di segreto esistente restituisce la seguente risposta:

{
    "request_id": "2278a441-6dbe-5ee8-4a4b-3b5b1e814231",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T21:57:13Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:99425779-0707-4877-81CB-ca11e28b6ef1",
    "description": "Extended description for my secret.",
    "id": "99425779-0707-4877-81CB-ca11e28b6ef1",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T21:57:13Z",
    "name": "test-iam-credentials-in-group",
    "secret_group_id": "714e070d-8122-6270-198c-fef9166729e3",
    "secret_type": "iam_credentials",
    "state": 1,
    "state_description": "Active",
    "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta per creare segreti chiave - valore nel gruppo di segreti default restituisce la seguente risposta:

{
    "request_id": "6e0000-60c0-d0ef-bc00-000c0a000b00",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca407-f38d-000e-0b02-ed6b41",
        "creation_date": "2022-01-25T19:22:59Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/0000000be376647f5f961f5:50004-5f59-4164-8bfc-5000cf66:secret:43f000f-4085-000c-c028-6ff00004dbd",
        "description": "Extended description for my secret.",
        "downloaded": false,
        "id": "40000df-4000-300c-c01028-6ff20000dbd",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2022-01-25T19:22:59Z",
        "name": "test-kv-secret",
        "secret_data": {
            "payload": {
                "key1": "value1"
            }
        },
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-9ca407-f38d-000e-0b02-ed6b41",
                "creation_date": "2022-01-25T19:22:59Z",
                "downloaded": false,
                "id": "40000df-4000-300c-c01028-6ff20000dbd",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di creazione di segreti chiave - valore in un gruppo di segreti esistente restituisce la risposta seguente:

{
    "request_id": "a0766ef6-5bfe-d92d-4894-6d3f40126b25",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca24407-f38d-479e-8b02-ed6b4e1b0d31",
        "creation_date": "2022-01-27T17:59:20Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b85ea6bbea644a6be376647f5f961f5:5f1a3554-5f59-4164-8bfc-5eef0a20cf66:secret:21764466-5a9d-a9df-fc71-5b8ee4ecbb99",
        "description": "Extended description for my secret.",
        "downloaded": false,
        "id": "21764466-5a9d-a9df-fc71-5b8ee4ecbb99",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2022-01-27T17:59:20Z",
        "name": "test-kv-secret6",
        "secret_data": {
            "payload": {
                "key6": "value6"
            }
        },
        "secret_group_id": "aded5ffd-da17-c923-eb21-600569c5d1c2",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-9ca24407-f38d-479e-8b02-ed6b4e1b0d31",
                "creation_date": "2022-01-27T17:59:20Z",
                "downloaded": false,
                "id": "96d5b7dd-d8fb-5afc-9c05-6cfdaff8af9e",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di creare le credenziali utente nel gruppo di segreti default restituisce la seguente risposta:

{
    "request_id": "96fc9603-5aff-5daa-f25c-efc3599b374b",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:43:36Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:2bd4c8fc-c1e4-f9d7-8026-6c04610f051f",
    "description": "Extended description for my secret.",
    "expiration_date": "2020-12-31T00:00:00Z",
    "id": "2bd4c8fc-c1e4-f9d7-8026-6c04610f051f",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:43:36Z",
    "name": "test-username-password",
    "secret_data": {
        "password": "cloudy-rainy-coffee-book",
        "username": "user123"
    },
    "secret_type": "username_password",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "auto_rotated": false,
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:43:36Z",
        "id": "ae4b3afd-5e63-5951-790b-f1892e8c5267"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta per creare le credenziali utente in un gruppo di segreto esistente restituisce la seguente risposta:

{
    "request_id": "4ccc9dd5-af3a-6865-293f-3f704d2866e1",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:46:41Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
    "description": "Extended description for my secret.",
    "expiration_date": "2020-12-31T00:00:00Z",
    "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:46:41Z",
    "name": "test-username-password-in-group",
    "secret_data": {
        "password": "cloudy-rainy-coffee-book",
        "username": "user123"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "username_password",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
          "auto_rotated": false,
          "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
          "creation_date": "2020-12-15T22:46:41Z",
          "id": "a09c7a3c-13a5-7a17-fadc-e7850496d27a"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di importazione di un certificato nel gruppo di segreti default restituisce la seguente risposta:

{
    "request_id": "811b893b-55c7-b6bb-4e55-26a7a8362164",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "algorithm": "RSA",
        "common_name": "example.com",
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-03T20:50:11Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "description": "Extended description for my secret.",
        "expiration_date": "2021-06-04T15:25:44Z",
        "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "intermediate_included": false,
        "issuer": "US Texas Austin Example Corp. Example Org example.com",
        "key_algorithm": "SHA256-RSA",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-03T20:50:11Z",
        "name": "test-imported-certificate-in-group",
        "private_key_included": true,
        "secret_type": "imported_cert",
        "serial_number": "fc:22:29:7e:57:25:8a:05",
        "state": 1,
        "state_description": "Active",
        "validity": {
            "not_after": "2021-06-04T15:25:44Z",
            "not_before": "2021-06-03T15:25:44Z"
        },
        "versions": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-03T20:50:11.278296706Z",
                "expiration_date": "2021-06-04T15:25:44Z",
                "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
                "serial_number": "fc:22:29:7e:57:25:8a:05",
                "validity": {
                    "not_after": "2021-06-04T15:25:44Z",
                    "not_before": "2021-06-03T15:25:44Z"
                }
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di importare un certificato in un gruppo di segreti esistente restituisce la seguente risposta:

{
    "request_id": "811b893b-55c7-b6bb-4e55-26a7a8362164",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "algorithm": "RSA",
        "common_name": "example.com",
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-03T20:50:11Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "description": "Extended description for my secret.",
        "expiration_date": "2021-06-04T15:25:44Z",
        "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "intermediate_included": false,
        "issuer": "US Texas Austin Example Corp. Example Org example.com",
        "key_algorithm": "SHA256-RSA",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-03T20:50:11Z",
        "name": "test-imported-certificate-in-group",
        "private_key_included": true,
        "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
        "secret_type": "imported_cert",
        "serial_number": "fc:22:29:7e:57:25:8a:05",
        "state": 1,
        "state_description": "Active",
        "validity": {
            "not_after": "2021-06-04T15:25:44Z",
            "not_before": "2021-06-03T15:25:44Z"
        },
        "versions": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-03T20:50:11.278296706Z",
                "expiration_date": "2021-06-04T15:25:44Z",
                "id": "e4f44e8b-abe0-9267-88da-199e754f974a",
                "serial_number": "fc:22:29:7e:57:25:8a:05",
                "validity": {
                    "not_after": "2021-06-04T15:25:44Z",
                    "not_before": "2021-06-03T15:25:44Z"
                }
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di creare o importare una serie di credenziali del servizio restituisce la seguente risposta:

{
  "request_id": "b7b8799c-e0f7-f31c-c050-3d66f854c214",
  "lease_id": "",
  "renewable": false,
  "lease_duration": 0,
  "data": {
    "created_by": "IBMid-2723462DAH",
    "creation_date": "2023-11-23T13:33:36Z",
    "crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:e2c32ad4-1414-41e0-8747-e107e6b9f8e6:secret:c70951dd-f672-9995-968d-b76204b2432d",
    "custom_metadata": {},
    "downloaded": true,
    "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
    "iam_apikey_name": "test-sc-secret",
    "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
    "id": "c70951dd-f672-9995-968d-b76204b2432d",
    "labels": [],
    "last_update_date": "2023-11-23T13:33:36Z",
    "locks_total": 0,
    "name": "test-sc-secret",
    "parameters": {},
    "resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "resource_key_name": "test-sc-secret",
    "role": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "secret_data": {
      "apikey": "xxxxxxxxxxxxxxxxxxxx",
      "guid": "f85409e9-1a06-47d5-8320-95ed4e1675bc",
      "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
      "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
      "iam_apikey_name": "test-sc-secret",
      "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
      "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
      "instance_id": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
      "plan": "33b50df2-9cd6-4005-a941-bf0a59f0d133",
      "region": "us-south"
    },
    "secret_type": "service_credentials",
    "source_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc::",
    "state": 1,
    "state_description": "Active",
    "ttl": 7776000,
    "versions": [
      {
        "created_by": "IBMid-2723462DAH",
        "creation_date": "2023-11-23T13:33:36Z",
        "downloaded": true,
        "expiration_date": "2024-02-21T13:33:36Z",
        "id": "1ab6e797-c74d-419d-0863-a8976b64efe8",
        "payload_available": true,
        "version_custom_metadata": {}
      }
    ],
    "versions_total": 1
  },
  "wrap_info": null,
  "warnings": null,
  "auth": null
}

Ottieni un segreto

Ottenere il valore di un segreto. L'ID segreto o il nome segreto possono essere utilizzati per richiamare il segreto.

Richieste di esempio

Ottenere un segreto arbitrario.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere un segreto arbitrario in un gruppo di segreti esistente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottieni credenziali IAM.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/creds/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottieni credenziali IAM in un gruppo di segreti esistente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/creds/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere i segreti chiave - valore. Ulteriori informazioni.

curl -L -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json'\
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere i segreto chiave - valore in un gruppo di segreti esistente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Richiamare le credenziali utente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere le credenziali dell'utente in un gruppo di segreti esistente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere un certificato importato.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere un certificato importato in un gruppo di segreti esistente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere un insieme di credenziali di servizio.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/service_credentials/secrets/{secret_id_or_secret_name}" \
     -H 'Accept: application/json' \
     -H "X-Vault-Token: $VAULT_TOKEN" | jq

Ottenere credenziali personalizzate.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere credenziali personalizzate in un gruppo segreto esistente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/custom_credentials/secrets/groups/{group_id}/{secret_id_or_secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposte di esempio

Una richiesta per richiamare un segreto arbitrario restituisce la seguente risposta:

{
    "request_id": "463e84e8-3a0c-1061-1a6e-6ce1434c7ba2",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T20:54:52Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:582a8f65-9a2b-a072-4fc3-e69ff3462c23",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "582a8f65-9a2b-a072-4fc3-e69ff3462c23",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T20:54:52Z",
    "name": "test-arbitrary-secret",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-16T20:54:52Z",
        "id": "03d9ddb3-aa1d-d929-40c8-04027213ef08"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di richiamo di un segreto arbitrario in un gruppo di segreto esistente restituisce la seguente risposta:

{
    "request_id": "791340bd-5664-c1e3-e779-d1391494f55d",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-15T22:34:53Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
    "description": "Extended description for my secret.",
    "expiration_date": "2030-04-01T09:30:00Z",
    "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-15T22:34:53Z",
    "name": "test-arbitrary-secret-in-group",
    "secret_data": {
        "payload": "secret-data"
    },
    "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
    "secret_type": "arbitrary",
    "state": 1,
    "state_description": "Active",
    "versions": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:34:53Z",
        "id": "a7f55e6f-b068-977b-062e-4de644633982"
        }
    ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di generare credenziali IAM restituisce la seguente risposta:

{
    "request_id": "c9716624-669f-2ef4-5560-a5d4e6618826",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "api_key": "U40hERZ0h-0C0cnka2bEuL2y...(redacted)",
    "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T21:55:31Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:d7a2b83f-997c-4914-857a-86bfcdbf0873",
    "description": "Extended description for my secret.",
    "id": "d7a2b83f-997c-4914-857a-86bfcdbf0873",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T22:05:16Z",
    "name": "test-iam-credentials",
    "secret_type": "iam_credentials",
    "service_id": "ServiceId-43c79ec9-7f02-481d-92f1-e60363483298",
    "state": 1,
    "state_description": "Active",
    "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di generare credenziali IAM in un gruppo segreto esistente restituisce la seguente risposta:

{
    "request_id": "201eaa80-d5f1-2697-66dd-481d94a52685",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "access_groups": [
        "AccessGroupId-0529f490-129c-4877-a2a0-b57f50d3e53b"
    ],
    "api_key": "CFQY6wWPI3C3wKx6XLC9p0c3e...(redacted)",
    "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
    "creation_date": "2020-12-16T21:57:13Z",
    "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:99425779-0707-4877-81CB-ca11e28b6ef1",
    "description": "Extended description for my secret.",
    "id": "99425779-0707-4877-81CB-ca11e28b6ef1",
    "labels": [
        "dev",
        "us-south"
    ],
    "last_update_date": "2020-12-16T22:07:20Z",
    "name": "test-iam-credentials-in-group",
    "secret_group_id": "714e070d-8122-6270-198c-fef9166729e3",
    "secret_type": "iam_credentials",
    "service_id": "ServiceId-d1a99978-2108-4eec-9dae-bdf5691e7136",
    "state": 1,
    "state_description": "Active",
    "ttl": 1800
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di richiamo di un segreto chiave - valore restituisce la seguente risposta:

{
    "request_id": "1e0000-7100-cb00b-d00a-b350000f5a",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9c00000-00d-000e-8000-ed6b40000",
        "creation_date": "2022-01-25T19:22:04Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b85000004a6be3700000f5:5f1000-5f00-4000-8bfc-5e0000f66:secret:0000ea8e-7d00-69ce-c000a-0a00000b3ee",
        "description": "Extended description for my secret.",
        "downloaded": true,
        "id": "00002ea8e-7lk90-00ce-c200a-00004b3ee",
        "labels": [],
        "last_update_date": "2022-01-25T19:22:04Z",
        "name": "test-kv-secret",
        "secret_data": {
            "payload": {
                "key1": "value1"
            }
        },
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-000000-f000d-479e-8b02-ed600000",
                "creation_date": "2022-01-25T19:22:04Z",
                "downloaded": true,
                "id": "bf00007-800dc-0006-14d9-a7c720000bh",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di richiamo di un segreto chiave - valore in un gruppo di segreto esistente restituisce la seguente risposta:

{
    "request_id": "a0000c-e00-000ef-d000e8-a68e60000",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "Id-000000",
        "creation_date": "2022-01-26T20:11:29Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b0000a6bbe:5f1a3554-5f59-4164-8bfc-5e0000000cf66:secret:e006e8bc-f497-dc93-4102-9d0000001",
        "description": "Extended description for my secret.",
        "downloaded": true,
        "id": "e00000c-f0000-d0003-00002-9d9cf2000001",
        "labels": [],
        "last_update_date": "2022-01-26T20:11:29Z",
        "name": "test-kv-secret-from-group",
        "secret_data": {
            "payload": {
                "key5": "value5"
            }
        },
        "secret_group_id": "0000ffd-da17-c0000-eb0000-600000002",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "Id-0000000",
                "creation_date": "2022-01-26T20:11:29Z",
                "downloaded": true,
                "id": "5c000000-000c3-00003-de0000-c0d200000",
                "payload_available": true
            }
        ],
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta per richiamare un certificato importato restituisce la seguente risposta:

{
    "request_id": "811b893b-55c7-b6bb-4e55-26a7a8362164",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "algorithm": "RSA",
        "common_name": "example.com",
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-03T20:50:11Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "description": "Extended description for my secret.",
        "expiration_date": "2021-06-04T15:25:44Z",
        "id": "be4a0846-4cb5-3bfa-bab5-10a44dfc3e85",
        "intermediate_included": true,
        "issuer": "US Texas Austin Example Corp. Example Org example.com",
        "key_algorithm": "SHA256-RSA",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-03T20:50:11Z",
        "name": "test-imported-certificate",
        "private_key_included": true,
        "secret_data": {
            "certificate": "-----BEGIN CERTIFICATE-----\nMIICWzCCAcQCC...(redacted)",
            "intermediate": "-----BEGIN CERTIFICATE-----\nMIICUzHHraOa...(redacted)",
            "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)"
        },
        "secret_type": "imported_cert",
        "serial_number": "fc:22:29:7e:57:25:8a:05",
        "state": 1,
        "state_description": "Active",
        "validity": {
            "not_after": "2021-06-04T15:25:44Z",
            "not_before": "2021-06-03T15:25:44Z"
        },
        "versions": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-03T20:50:11.278296706Z",
                "expiration_date": "2021-06-04T15:25:44Z",
                "id": "e4f44e8b-abe0-9267-88da-199e754f974a",
                "serial_number": "fc:22:29:7e:57:25:8a:05",
                "validity": {
                    "not_after": "2021-06-04T15:25:44Z",
                    "not_before": "2021-06-03T15:25:44Z"
                }
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta per richiamare una serie di credenziali del servizio restituisce la seguente risposta:

{
  "request_id": "18d15b17-eb6f-68ad-8b44-4033ab64feb1",
  "lease_id": "",
  "renewable": false,
  "lease_duration": 0,
  "data": {
    "created_by": "IBMid-2723462DAH",
    "creation_date": "2023-11-23T13:33:36Z",
    "crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:e2c32ad4-1414-41e0-8747-e107e6b9f8a6:secret:c70951dd-f672-9995-968d-b76204b2432d",
    "custom_metadata": {},
    "downloaded": true,
    "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
    "iam_apikey_name": "test-sc-secret",
    "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
    "id": "c70951dd-f672-9995-968d-b76204b2432d",
    "labels": [],
    "last_update_date": "2023-11-23T13:33:36Z",
    "locks_total": 0,
    "name": "test-sc-secret",
    "parameters": {},
    "resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
    "resource_key_name": "test-sc-secret",
    "role": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
    "secret_data": {
      "apikey": "xxxxxxxxxxxxxxxxxxxxxxx",
      "guid": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
      "iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:d13dd212-cd38-4732-a14e-1889ee3ca4fa",
      "iam_apikey_id": "ApiKey-4fdabb94-2654-4ab7-8d01-fbf41117b4a9",
      "iam_apikey_name": "test-sc-secret",
      "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
      "iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-38fd1d20-db0b-4ae6-bee9-23d6468e149f",
      "instance_id": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
      "plan": "33b50df2-9cd6-4005-a941-bf0a59f0d133",
      "region": "us-south"
    },
    "secret_type": "service_credentials",
    "source_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bacc:f85409e9-1a06-47d5-8320-95ed4e1675cc::",
    "state": 1,
    "state_description": "Active",
    "ttl": 7776000,
    "versions": [
      {
        "created_by": "IBMid-2723462DAH",
        "creation_date": "2023-11-23T13:33:36Z",
        "downloaded": true,
        "expiration_date": "2024-02-21T13:33:36Z",
        "id": "1ab6e797-c74d-419d-0863-a8976b64efe8",
        "payload_available": true,
        "version_custom_metadata": {}
      }
    ],
    "versions_total": 1
  },
  "wrap_info": null,
  "warnings": null,
  "auth": null
}

Elenca segreti

Richiama un elenco di segreti disponibili in un motore di segreti Secrets Manager.

Richieste di esempio

Elencare i segreti arbitrari.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Elencare i segreti arbitrari in un gruppo di segreti esistente:

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposte di esempio

Una richiesta di elencare tutti i segreti arbitrari restituisce la seguente risposta:

{
    "request_id": "d8eb84fd-c0bd-08ae-c3ad-cff87606953c",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secrets": [
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:34:53Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:a6972127-35ad-b36f-aac8-0223f0475cb6",
        "description": "Extended description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "a6972127-35ad-b36f-aac8-0223f0475cb6",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2020-12-15T22:34:53Z",
        "name": "test-arbitrary-secret-in-group",
        "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
        },
        {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2020-12-15T22:41:14Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "description": "Extended description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2020-12-15T22:41:14Z",
        "name": "another-arbitrary-secret-in-group",
        "secret_group_id": "339c026a-ac0f-1ea1-3d43-99adf871b49a",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
        }
    ],
    "secrets_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Ottieni metadati segreti

Recupera i metadati di un segreto, come il nome e la descrizione. Per richiamare il valore effettivo di un segreto, utilizza Get a secret.

Richieste di esempio

Ottieni i metadati per un segreto arbitrary.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottieni i metadati per un segreto arbitrary in un gruppo di segreti esistente.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottieni metadati per un segreto kv. Ulteriori informazioni.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/{secret_id}/metadata' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Ottenere i metadati per un segreto kv in un gruppo di segreti esistente.

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}/{secret_id}/metadata' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposte di esempio

Una richiesta di richiamo dei metadati di un segreto arbitrary restituisce la seguente risposta:

{
    "request_id": "372645c0-9d97-5f6b-0755-99145eacdb93",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-04T02:55:40Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "description": "Extended description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-04T02:55:40Z",
        "name": "test-arbitrary-secret",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta per richiamare i metadati di un segreto kv restituisce la seguente risposta:

{
    "request_id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca00000-f00d-000e-8b02-ed6b000pl",
        "creation_date": "2022-01-25T19:22:04Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4000000bbea00000000647f000001f5:5f000004-5f00-40000-8bfc-5mnh0a200000:secret:00000ea8e-7d00-00ce-c00poa-0a00000f0000e",
        "description": "Extended description for my secret.",
        "downloaded": true,
        "id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
        "labels": [],
        "last_update_date": "2022-01-25T19:22:04Z",
        "name": "test-kv-secret",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta per richiamare i metadati di un segreto kv in un gruppo di segreti esistente restituisce la seguente risposta:

{
    "request_id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "id-0000000YC6X",
        "creation_date": "2022-01-26T20:11:29Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4000000bbea00000000647f000001f5:5f000004-5f00-40000-8bfc-5mnh0a200000:secret:00000ea8e-7d00-00ce-c00poa-0a00000f0000e",
        "description": "Test secret in test secret group.",
        "downloaded": true,
        "id": "0a0000e-0a0f-edfh-000a-ec2000ab00",
        "labels": [],
        "last_update_date": "2022-01-26T20:11:29Z",
        "name": "test-kv-secret-from-group",
        "secret_group_id": "aded0a0000e-0a0f-edfh-000a-ec2000ab00",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions_total": 1
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Aggiorna metadati del segreto

Aggiornare i metadati di un segreto, come il nome, la descrizione o la data di scadenza. Per ruotare il valore effettivo di un segreto, utilizzare Ruota un segreto.

Aggiornamento dei parametri di richiesta dei metadati segreti
Parametri di richiesta Descrizione
name Il nome aggiornato da assegnare al segreto.
description La descrizione aggiornata da assegnare al segreto.
expiration_date La data di scadenza aggiornata da assegnare al segreto. Questa opzione è supportata per i tipi di segreto arbitrary e username_password. Il formato della data segue RFC 3339.

Richieste di esempio

Aggiorna il nome di un segreto arbitrary nel gruppo di segreti default.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "name": "updated-arbitrary-secret-name"
    }'

Aggiornare la data di scadenza di un segreto arbitrary in un gruppo di segreti esistente.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}/metadata" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "expiration_date": "2030-05-01T09:30:00Z"
    }'

Risposte di esempio

Una richiesta di aggiornare i metadati di un segreto arbitrary nel gruppo di segreti default restituisce la seguente risposta:

{
    "request_id": "372645c0-9d97-5f6b-0755-99145eacdb93",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
        "creation_date": "2021-06-04T02:55:40Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:secret:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "description": "Updated description for my secret.",
        "expiration_date": "2030-04-01T09:30:00Z",
        "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
        "labels": [
            "dev",
            "us-south"
        ],
        "last_update_date": "2021-06-05T02:55:40Z",
        "name": "updated-arbitrary-secret",
        "secret_type": "arbitrary",
        "state": 1,
        "state_description": "Active"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Ruota un segreto

Creare una nuova versione di un segreto. Il segreto conserva le informazioni di identificazione, come il nome e l'ID. Per impostare una politica di rotazione automatica per un segreto, vedi Imposta politiche segrete.

Ruotare i parametri di richiesta segreti
Parametri di richiesta Descrizione
payload I nuovi dati segreti da assegnare a un segreto arbitrary o kv.
password La nuova password da assegnare a un segreto username_password.
certificate Il nuovo certificato da assegnare a un segreto imported_cert.
private_key La nuova chiave privata da assegnare a un segreto imported_cert.
intermediate I nuovi dati del certificato intermedio da assegnare a un segreto import_cert.

Richieste di esempio

Ruota un segreto arbitrary nel gruppo di segreti default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "payload": "new-secret-data"
    }'

Ruota un segreto arbitrary in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "payload": "new-secret-data"
    }'

Ruota un segreto kv nel gruppo di segreti default. Ulteriori informazioni.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/{secret_id}/rotate' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "payload": {
            "key7":"value7"
            }
    }'

Ruota un segreto kv in un gruppo di segreti esistente.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/secrets/groups/{group_id}/{secret_id}/rotate' \
    -H 'Accept: application/json'
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "payload": {
            "key7":"value7"
            }
    }'

Ruota un segreto username_password nel gruppo di segreti default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "password": "new-password"
    }'

Ruota un segreto imported_cert nel gruppo di segreti default.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/imported_cert/secrets/{secret_id}/rotate" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
        "certificate": "new-certificate",
    "private_key": "new-private-key",
    "intermediate": "new-intermediate-certificate"
    }'

Risposte di esempio

Una richiesta di rotazione di un segreto kv nel gruppo di segreti default restituisce la seguente risposta:

{
    "request_id": "e00000b-0000-0ad1-beb0-00000d0000",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "iam-ServiceId-9ca2000007-f0000d-400000e-8b02-ed6b000000",
        "creation_date": "2022-01-25T19:22:04Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/00000a6bbea644a6be000000001f5:5f1a000000-5f000-4000-8bfc-5eef00000:secret:00000ea8e-7d00-00ce-c00a-0a0000f000ee",
        "description": "Extended description for my secret.",
        "downloaded": false,
        "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
        "labels": [],
        "last_update_date": "2022-01-27T21:05:25Z",
        "name": "test-kv-secret",
        "secret_data": {
            "payload": {
                "key7": "value7"
            }
        },
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-9ca2000007-f0000d-400000e-8b02-ed6b000000",
                "creation_date": "2022-01-25T19:22:04Z",
                "downloaded": true,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": false
            },
            {
                "created_by": "iam-ServiceId-9ca2000007-f0000d-400000e-8b02-ed6b000000",
                "creation_date": "2022-01-27T21:05:25Z",
                "downloaded": false,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": true
            }
        ],
        "versions_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di rotazione di un segreto kv in un gruppo di segreti esistente restituisce la seguente risposta:

{
    "request_id": "e00000b-0000-0ad1-beb0-00000d0000",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_by": "IBMid-662001YC6X",
        "creation_date": "2022-01-26T20:11:29Z",
        "crn": "crn:v1:bluemix:public:secrets-manager:eu-gb:a/4b85ea6bbea644a6be376647f5f961f5:5f1a3554-5f59-4164-8bfc-5eef0a20cf66:secret:e006e8bc-f497-dc93-4102-9d9cf2051a41",
        "description": "Test secret in test secret group.",
        "downloaded": false,
        "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
        "labels": [],
        "last_update_date": "2022-01-27T21:00:27Z",
        "name": "test-kv-secret-from-group",
        "secret_data": {
            "payload": {
                "key7": "value7"
            }
        },
        "secret_group_id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
        "secret_type": "kv",
        "state": 1,
        "state_description": "Active",
        "versions": [
            {
                "created_by": "iam-ServiceId-00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "creation_date": "2022-01-26T20:11:29Z",
                "downloaded": true,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": false
            },
            {
                "created_by": "iam-ServiceId-00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "creation_date": "2022-01-27T21:00:03Z",
                "downloaded": false,
                "id": "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": false
            },
            {
                "created_by": "iam-ServiceId-00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "creation_date": "2022-01-27T21:00:27Z",
                "downloaded": false,
                "id":  "00000ea00-7d0000-0000ce-c0002a-0a0000f4b3ee",
                "payload_available": true
            }
        ],
        "versions_total": 3
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Elimina un segreto

Elimina un segreto da un motore di segreti Secrets Manager.

Richieste di esempio

Elimina un segreto arbitrario nel gruppo di segreti default.

curl -X DELETE "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Eliminare un segreto arbitrario in un gruppo di segreti esistente.

curl -X DELETE "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/groups/{group_id}/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

{
    "request_id": "e48436e3-23d3-ab4a-7642-535cab8935a8",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Blocchi

Elenca blocchi segreti

Elenca le chiusure associate a un segreto specificato.

Parametri di richiesta del segreto di blocco
Parametri di query Descrizione
limit Il numero di chiusure da recuperare. Il valore predefinito è 25. Per recuperare un insieme diverso di elementi, utilizzare limit con offset per sfogliare le risorse disponibili.
offset Il numero di blocchi da ignorare. Il valore predefinito è 0. Specificando l'offset, si recupera un sottoinsieme di blocchi che inizia con il valore dell'offset. Utilizzare l'offset con limite per scorrere i blocchi segreti disponibili.
search Filtra le chiusure che contengono la stringa specificata nel loro nome.

Richiesta di esempio

Elenca i blocchi per un segreto arbitrario.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/locks/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Elenca i blocchi per un segreto delle credenziali utente in un gruppo di segreti esistente.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Pagina attraverso i blocchi disponibili utilizzando limit e offset.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}?limit={limit}&offset={offset}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Filtrare i blocchi che contengono book nei nomi.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}?search=book" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

{
    "request_id": "ba51140d-31a8-0a51-dd5b-1ca59838e881",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "locks": [
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T21:41:36.616174Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:41:36.616174Z",
                "name": "lock-for-app-2",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "current",
                "secret_version_id": "f2b68dbb-c291-87df-6026-7611c324c823"
            },
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T20:56:33.138337Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:14:14.903163Z",
                "name": "lock-for-app-1",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "previous",
                "secret_version_id": "09d9718b-b411-4111-a8f4-b1397d22d11b"
            }
        ],
        "locks_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Blocca un segreto

Creare uno o più blocchi sulla versione corrente di un segreto.

Un blocco può essere utilizzato per evitare che un segreto venga eliminato o modificato mentre è utilizzato dalle tue applicazioni. Una richiesta riuscita allega un nuovo blocco al segreto o sostituisce un blocco con lo stesso nome se già esiste. Inoltre, è possibile utilizzare questo metodo per cancellare tutti i blocchi corrispondenti su un segreto utilizzando una modalità di blocco facoltativa.

  • lock_exclusive: Rimuove qualsiasi altro blocco con nome corrispondente, se è stato trovato nella versione precedente del segreto.
  • lock_exclusive_delete: uguale a lock_exclusive, ma elimina in modo permanente i dati della versione segreta precedente se non viene trovato alcun blocco.
Parametri di richiesta del segreto di blocco
Parametri di richiesta Descrizione
name Un nome leggibile da assegnare alla serratura segreta. I nomi sono univoci per versione segreta. /n Nota: la creazione di un blocco con un nome esistente sostituisce il blocco e sostituisce i relativi attributi.
description Una descrizione estesa della vostra serratura segreta.
attributes Informazioni facoltative da associare a un blocco, come i CRN delle risorse che devono essere utilizzati dall'automazione.

Richiesta di esempio

Creare un blocco su un segreto nel gruppo di segreti predefinito.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

Crea due blocchi sulla versione corrente di un segreto in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            },
            {
                "name": "lock-for-app-2",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

Bloccare esclusivamente una versione segreta.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/lock_exclusive" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

Bloccare una versione segreta in modo esclusivo ed eliminare i dati della versione precedente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/lock_exclusive_delete" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

Risposta di esempio

Una richiesta di blocco della versione corrente di un segreto presente nel gruppo di segreto predefinito restituisce la seguente risposta:

{
    "request_id": "cad3f223-ec90-1e8e-9408-7fc3c9c50b86",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta per bloccare una versione corrente di un segreto che è un gruppo di segreti personalizzato restituisce la seguente risposta:

{
    "request_id": "a717fba0-275d-36d2-49e6-ae54fc820ca4",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "d2e98a96-18ed-f13c-8dee-db955fb94122",
        "secret_id": "c86946e6-b392-2613-159d-aff5a3f095b3",
        "versions": [
            {
                "alias": "current",
                "id": "ad6aa6d9-b43c-4bc3-597d-15c376622e64",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Sblocca un segreto

Eliminare uno o più blocchi associati alla versione corrente di un segreto.

Una richiesta riuscita elimina i blocchi specificati. Per rimuovere tutti i blocchi, è possibile inoltrare {"locks": ["*"]} nel corpo della richiesta. Altrimenti, specificare i nomi dei blocchi che si desidera eliminare. Ad esempio, {"locks": ["lock1", "lock2"]}.

Un segreto è considerato sbloccato e può essere revocato o eliminato solo dopo che tutti i suoi blocchi sono stati rimossi. Per capire se un segreto contiene dei blocchi, controlla il campo locks_total restituito come parte dei metadati del tuo segreto.

Richiesta di esempio

Rimuove tutti i lucchetti associati a un segreto.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["*"]
    }'

Rimuovere due blocchi da un segreto in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["lock-name-1", "lock-name-2"]
    }'

Risposta di esempio

Una richiesta di rimozione di tutti i blocchi restituisce la seguente risposta:

{
    "request_id": "4708ebbf-eab0-e68a-9e72-d1c67a209fdc",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di rimuovere solo blocchi specifici elenca i blocchi rimanenti nella risposta:

{
    "request_id": "4d954026-68b3-6506-dc1d-5e77574fd2f0",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Elenca blocchi versione segreta

Elenca i blocchi associati a una versione segreta specificata.

Usate {version_id} nel percorso URL per specificare la versione. Sono consentiti anche gli alias current o previous.

Parametri di richiesta del segreto di blocco
Parametri di query Descrizione
limit Il numero di chiusure da recuperare. Il valore predefinito è 25. Per recuperare un insieme diverso di elementi, utilizzare limit con offset per sfogliare le risorse disponibili.
offset Il numero di blocchi da ignorare. Il valore predefinito è 0. Specificando l'offset, si recupera un sottoinsieme di blocchi che inizia con il valore dell'offset. Utilizzare l'offset con limite per scorrere i blocchi segreti disponibili.
search Filtra le chiusure che contengono la stringa specificata nel loro nome.

Richiesta di esempio

Elencare i blocchi per una versione specifica di un segreto arbitrario.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/locks/{secret_id}/versions/{version_id}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Elenca i blocchi per la versione corrente di un segreto delle credenziali utente in un gruppo di segreti esistente.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}/versions/current" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Pagina attraverso i blocchi disponibili utilizzando limit e offset.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}/versions/current?limit={limit}&offset={offset}" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Filtrare i blocchi che contengono book nei nomi.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/locks/groups/{group_id}/{secret_id}/versions/current?search=book" \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

Una richiesta per ottenere i dettagli del blocco sulla versione corrente di un segreto restituisce la seguente risposta:

{
    "request_id": "ba51140d-31a8-0a51-dd5b-1ca59838e881",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "locks": [
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T21:41:36.616174Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:41:36.616174Z",
                "name": "lock-for-app-2",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "current",
                "secret_version_id": "f2b68dbb-c291-87df-6026-7611c324c823"
            },
            {
                "attributes": {
                    "key": "value"
                },
                "created_by": "iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8",
                "creation_date": "2022-06-30T20:56:33.138337Z",
                "description": "Test lock for secret in the default secret group.",
                "last_update_date": "2022-06-30T21:14:14.903163Z",
                "name": "lock-for-app-1",
                "secret_group_id": "default",
                "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
                "secret_version_alias": "current",
                "secret_version_id": "f2b68dbb-c291-87df-6026-7611c324c823"
            }
        ],
        "locks_total": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Blocca una versione segreta

Creare uno o più blocchi su una versione specificata di un segreto. Per specificare una versione, utilizzare il parametro del percorso {version_id} per fornire l'ID univoco della versione corrente o precedente del segreto. Sono consentiti anche gli alias current o previous.

Un blocco può essere utilizzato per evitare che un segreto venga eliminato o modificato mentre è utilizzato dalle tue applicazioni. Una richiesta riuscita allega un nuovo blocco al segreto o sostituisce un blocco con lo stesso nome se già esiste. Inoltre, è possibile utilizzare questo metodo per cancellare tutti i blocchi corrispondenti su un segreto utilizzando una modalità di blocco facoltativa.

  • lock_exclusive: Rimuove qualsiasi altro blocco con nome corrispondente, se è stato trovato nella versione precedente del segreto.
  • lock_exclusive_delete: uguale a lock_exclusive, ma elimina in modo permanente i dati della versione segreta precedente se non viene trovato alcun blocco.
Parametri di richiesta del segreto di blocco
Parametri di richiesta Descrizione
name Un nome leggibile da assegnare alla serratura segreta. I nomi sono univoci per versione segreta. /n Nota: la creazione di un blocco con un nome esistente sostituisce il blocco e sostituisce i relativi attributi.
description Una descrizione estesa della vostra serratura segreta.
attributes Informazioni facoltative da associare a un blocco, come i CRN delle risorse che devono essere utilizzati dall'automazione.

Richiesta di esempio

Creare un blocco sulla versione specificata di un segreto nel gruppo di segreti predefinito.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/versions/{version_id}/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in the default secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

Sostituire {version_id} nel percorso URL con l'alias current per creare un blocco sulla versione segreta corrente. Gli alias current o previous sono consentiti.

Crea due blocchi sulla versione corrente di un segreto in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/versions/current/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            },
            {
                "name": "lock-for-app-2",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

Crea un blocco sulla versione precedente di un segreto in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/versions/previous/lock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": [
            {
                "name": "lock-for-app-1",
                "description": "Test lock for secret in a custom secret group.",
                "attributes": {
                    "key": "value"
                }
            }
        ]
    }'

Risposta di esempio

Una richiesta per bloccare la versione precedente di un segreto in un gruppo di segreti personalizzato

{
    "request_id": "97a3d1fb-c137-9c1c-16fb-7aebf05a0eae",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "d2e98a96-18ed-f13c-8dee-db955fb94122",
        "secret_id": "c86946e6-b392-2613-159d-aff5a3f095b3",
        "versions": [
            {
                "alias": "current",
                "id": "3993c39b-3ef5-f6f3-5e20-f6f9c6f8d053",
                "locks": [],
                "payload_available": true
            },
            {
                "alias": "previous",
                "id": "ad6aa6d9-b43c-4bc3-597d-15c376622e64",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Sblocca una versione segreta

Elimina uno o più blocchi associati alla versione segreta specificata.

Una richiesta riuscita elimina i blocchi specificati. Per rimuovere tutti i blocchi, puoi passare {"locks": ["*"]} nel corpo della richiesta. Altrimenti, specificare i nomi dei blocchi che si desidera eliminare. Ad esempio, {"locks": ["lock-1", "lock-2"]}.

Un segreto è considerato sbloccato e può essere revocato o eliminato solo dopo che tutti i suoi blocchi sono stati rimossi. Per capire se un segreto contiene dei blocchi, controlla il campo locks_total restituito come parte dei metadati del tuo segreto.

Richiesta di esempio

Rimuovere tutti i blocchi su una versione segreta.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/{secret_id}/versions/{version_id}/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["*"]
    }'

Sostituire {version_id} nel percorso URL con l'alias current per rimuovere i blocchi dalla versione segreta corrente. Gli alias current o previous sono consentiti.

Rimuovere due blocchi sulla versione corrente di un segreto in un gruppo di segreti esistente.

curl -X POST "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/{secret_type}/locks/groups/{group_id}/{secret_id}/versions/current/unlock" \
    -H 'X-Vault-Token: {Vault-Token}'
    -H 'Content-Type: application/json' \
    -D '{
        "locks": ["lock-name-1", "lock-name-2"]
    }'

Risposta di esempio

Una richiesta di rimozione di tutti i blocchi restituisce la seguente risposta:

{
    "request_id": "4708ebbf-eab0-e68a-9e72-d1c67a209fdc",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di rimuovere solo blocchi specifici elenca i blocchi rimanenti nella risposta:

{
    "request_id": "4d954026-68b3-6506-dc1d-5e77574fd2f0",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "secret_group_id": "default",
        "secret_id": "184408d6-8264-5ff3-c308-6922ed04ad88",
        "versions": [
            {
                "alias": "current",
                "id": "f2b68dbb-c291-87df-6026-7611c324c823",
                "locks": [
                    "lock-for-app-1"
                ],
                "payload_available": true
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Politiche

Imposta politiche segrete

Crea o aggiorna una politica di rotazione automatica per un segreto. I tipi di segreto supportati includono: username_password

Impostare i parametri di richiesta dei criteri segreti
Parametri di richiesta Descrizione
interval La lunghezza dell'intervallo di tempo di rotazione segreto.
unit Le unità per l'intervallo di tempo di rotazione segreto. I valori consentiti sono: giorno, mese

Richiesta di esempio

Imposta una politica di rotazione su un segreto username_password nel gruppo di segreti default.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/arbitrary/secrets/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    --data-raw '{
        "policies": [
          {
              "rotation": {
                  "interval": 10,
                  "unit": "day"
              },
              "type": "application/vnd.ibm.secrets-manager.secret.policy+json"
          }
        ]
    }'

Imposta una politica di rotazione su un segreto username_password in un gruppo di segreti esistente.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "policies": [
          {
              "rotation": {
                  "interval": 10,
                  "unit": "day"
              },
              "type": "application/vnd.ibm.secrets-manager.secret.policy+json"
          }
        ]
    }'

Risposta di esempio

{
    "request_id": "89698bdc-d787-4a74-eb2f-53e055ddc7f3",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "policies": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-21T14:30:17Z",
                "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:policy:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "last_update_date": "2021-06-21T14:33:41Z",
                "rotation": {
                    "interval": 10,
                    "unit": "day"
                },
                "type": "application/vnd.ibm.secrets-manager.secret.policy+json",
                "updated_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0"
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Elenca politiche segrete

Richiama un elenco di politiche associate a un segreto.

Richiesta di esempio

Elenca le politiche per un segreto username_password.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}'

Elenca le politiche per un segreto username_password in un gruppo di segreti esistente.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/username_password/secrets/groups/{group_id}/{secret_id}/policies" \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

{
    "request_id": "89698bdc-d787-4a74-eb2f-53e055ddc7f3",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "policies": [
            {
                "created_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0",
                "creation_date": "2021-06-21T14:30:17Z",
                "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0:policy:ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "id": "ea1907c8-8c8e-6b83-3c20-05f2015b80d8",
                "last_update_date": "2021-06-21T14:33:41Z",
                "rotation": {
                    "interval": 10,
                    "unit": "day"
                },
                "type": "application/vnd.ibm.secrets-manager.secret.policy+json",
                "updated_by": "iam-ServiceId-c0c7cfa4-b24e-4917-ad74-278f2fee5ba0"
            }
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Config

Impostare la configurazione di un tipo di segreto

Configura un motore di segreti che serve come backend per un tipo specifico di segreto. È possibile impostare la configurazione per i seguenti tipi di segreto: iam_credentials

Parametri di richiesta del motore dei segreti IAM
Parametri di richiesta Descrizione
api_key Una chiave API IBM Cloud che può creare e gestire gli ID dei servizi. Alla chiave API deve essere assegnato il ruolo della piattaforma Editor su Access Groups Service e il ruolo della piattaforma Operatore su IAM Identity Service.

Richiesta di esempio

Configurare il motore dei segreti iam_credentials.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/config/root" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "api_key": "<API_KEY>"
    }'

Risposta di esempio

Una richiesta di configurazione del motore dei segreti iam_credentials restituisce la seguente risposta:

{
    "request_id": "f7ac2068-6b07-7602-76af-093e354a444a",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Ottenere la configurazione di un tipo di segreto

Richiama la configurazione di un motore dei segreti.

Richiesta di esempio

Ottenere la configurazione del motore dei segreti iam_credentials.

curl -X GET "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/iam_credentials/config/root" \
    -H 'X-Vault-Token: {Vault-Token}'

Risposta di esempio

Una richiesta di ottenere la configurazione del motore dei segreti iam_credentials restituisce la seguente risposta:

{
    "request_id": "12f0a38d-93a5-6a9a-1997-79928f15c5ea",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "api_key_hash": "caf9eabec3c6dcc7f91cb6ea295eb97c8e34e70b0cf5942d6351d8746d9cc2da"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Aggiungere una configurazione

Aggiunge un elemento di configurazione a un motore dei segreti. Questo metodo viene utilizzato per motori più complessi, ad esempio i motori public_cert e private_cert.

Puoi aggiungere più configurazioni per la tua istanza:

  • Fino a 10 configurazioni dell'autorità di certificazione pubblica
  • Fino a 10 configurazioni del provider DNS
  • Fino a 10 configurazioni dell'autorità di certificazione root privata
  • Fino a 10 configurazioni di CA (Certificate Authority) intermedie private
  • Fino a 10 modelli di certificato
Parametri di richiesta del motore dei certificati pubblici
Parametri di richiesta Descrizione
name Un nome leggibile da assegnare alla propria configurazione dell'autorità di certificazione.
type Il tipo di ambiente, ad esempio l'ambiente di staging o di produzione di Let's Encrypt che corrisponde all'indirizzo URL a cui si desidera ordinare i certificati pubblici. I valori consentiti sono: letsencrypt-stage, letsencrypt
private_key La chiave privata associata all'account ACME registrato.
Parametri di richiesta del motore dei certificati pubblici
Parametri di richiesta Descrizione
name Un nome leggibile da assegnare alla configurazione del provider DNS.
type Il nome del provider DNS che si desidera utilizzare. I valori ammessi sono: cis
cis_crn Il CRN dell'istanza Cloud Internet Services (CIS) che vuoi utilizzare.
cis_apikey Una chiave API che ha accesso sia alla tua istanza CIS che all'istanza Secrets Manager. In alternativa, puoi creare anche un'autorizzazione tra entrambi i servizi utilizzando IAM.
Parametri di richiesta del motore dei certificati privati
Parametri di richiesta Descrizione
name Un nome leggibile da assegnare alla propria configurazione dell'autorità di certificazione.
type Il tipo di autorità di certificazione che si desidera creare. I valori ammessi sono: root_certificate_authority, intermediate_certificate_authority.
[params..] Per un elenco completo di parametri, vedere Aggiunta di una configurazione.
Parametri di richiesta del motore dei certificati privati
Parametri di richiesta Descrizione
name Un nome leggibile da assegnare al modello di certificato.
type Il tipo di configurazione che si desidera aggiungere. Per i modelli di certificato, utilizzare certificate_templates.
[params..] Per un elenco completo di parametri, vedere Aggiunta di una configurazione.

Richieste di esempio

Aggiungere una configurazione dell'autorità di certificazione pubblica.

curl -X PUT "https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/certificate_authorities" \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "test-certificate-authority",
        "type": "letsencrypt-stage",
        "config": {
          "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)"
        }
    }'

Aggiungere una configurazione dell'autorità di certificazione root privata.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/root_certificate_authorities' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -H '{
        "name": "my-configured-root-ca",
        "type": "root_certificate_authority",
        "config": {
            "max_ttl": "43830h",
            "common_name": "example.com",
            "crl_disable": false,
            "crl_distribution_points_encoded": true,
            "issuing_certificates_urls_encoded": true
        }
    }'

Aggiungere una configurazione dell'autorità di certificazione intermedia.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/intermediate_certificate_authorities' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -H '{
        "name": "my-configured-intermediate-ca",
        "type": "intermediate_certificate_authority",
        "config": {
            "max_ttl": "26300h",
            "common_name": "example.com",
            "signing_method": "internal|external",
            "issuer": "my-configured-root-ca",
            "crl_expiry": "72h",
            "crl_disable": false,
            "crl_distribution_points_encoded": true,
            "issuing_certificates_urls_encoded": true
        }
    }

Aggiungere un modello certificato.

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/certificate_templates' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -H '{
        "name": "my-configured-certificate-template",
        "type": "certificate_template",
        "config": {
            "certificate_authority": "my-configured-intermediate-ca",
            "max_ttl": "8760h",
            "allow_any_name": true,
            "enforce_hostnames": false,
            "allowed_uri_sans": [
            "https://www.example.com/test"
            ]
        }
    }'

Risposte di esempio

Una richiesta di aggiungere una configurazione dell'autorità di certificazione pubblica restituisce la seguente risposta:

{
    "request_id": "af1a900d-3cec-7f6d-8878-fa43d1587d90",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "config": {
            "private_key": "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANB...(redacted)"
        },
        "name": "test-certificate-authority",
        "type": "letsencrypt-stage"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Una richiesta di aggiungere una configurazione dell'autorità di certificazione privata restituisce la seguente risposta:

{
    "request_id": "0b221b39-1cd8-fa92-62e5-361c5e1b5d92",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "config": {
            "common_name": "example.com",
            "country": [],
            "crl_disable": false,
            "crl_distribution_points_encoded": true,
            "crl_expiry": 259200,
            "data": {
                "certificate": "-----BEGIN CERTIFICATE-----\nMIIGZjCCBU6gAwIBAgIUFsqE2...(redacted",
                "expiration": 1808862713,
                "issuing_ca": "-----BEGIN CERTIFICATE-----\nMIIGZjCCBU6gAwIBAgIUFsqE2...(redacted)",
                "serial_number": "16:ca:84:d8:4f:e5:b0:6c:5c:06:db:51:52:58:c1:3e:0b:96:ce:4f"
            },
            "exclude_cn_from_sans": false,
            "expiration_date": "2027-04-27T21:51:53Z",
            "format": "pem",
            "issuing_certificates_urls_encoded": true,
            "key_bits": 2048,
            "key_type": "rsa",
            "locality": [],
            "max_path_length": -1,
            "max_ttl": 157788000,
            "organization": [],
            "other_sans": [],
            "ou": [],
            "permitted_dns_domains": [],
            "postal_code": [],
            "private_key_format": "der",
            "province": [],
            "status": "configured",
            "street_address": [],
            "ttl": 157788000
        },
        "name": "my-configured-root-ca",
        "type": "root_certificate_authority"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Aggiorna una configurazione

Aggiorna la configurazione di un motore di segreti che funge da backend per un tipo specifico di segreto. È possibile aggiornare la configurazione per i seguenti tipi di segreto: iam_credentials, private_cert, public_cert

Richieste di esempio

Aggiornare una configurazione del provider DNS per il motore dei segreti public_cert.

curl -X PUT 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/dns_providers' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d'{
        "name": "my-cis-instance",
        "type": "cis",
        "config": {
          "cis_crn": "crn:v1:bluemix:public:internet-svcs:global:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0::",
          "cis_apikey": "<API_KEY>"
        }
    }'

Risposta di esempio

Una richiesta per aggiungere una configurazione del provider DNS per il motore dei segreti public_cert restituisce la seguente risposta:

{
    "request_id": "3c891ae8-18d3-f38e-5b98-dc1db2874f16",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "config": {
            "cis_apikey": "mGjiCelas...(redacted)",
            "cis_crn": "crn:v1:bluemix:public:internet-svcs:global:a/a5ebf2570dcaedf18d7ed78e216c263a:0f4c764e-dc3d-44d1-bd60-a2f7cd91e0c0::"
        },
        "name": "my-cis-instance",
        "type": "cis"
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Elimina una configurazione

Rimuove una configurazione per un motore di segreti che funge da backend per un tipo specifico di segreto. È possibile eliminare le configurazioni per i seguenti tipi di segreto: public_cert, private_cert

Richieste di esempio

Eliminare una configurazione dell'autorità di certificazione pubblica.

curl -X DELETE 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/certificate_authorities/my-lets-encrypt' \
    -H 'X-Vault-Token: {Vault-Token}' \

Cancellare la configurazione del provider DNS.

curl -X DELETE 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/public_cert/config/dns_providers/my-cis-instance' \
    -H 'X-Vault-Token: {Vault-Token}' \

Eliminare una configurazione dell'autorità di certificazione privata.

curl -X DELETE 'https://https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/private_cert/config/root_certificate_authorities/my-root-ca' \
    -H 'X-Vault-Token: {Vault-Token}' \

Risposta di esempio

Una richiesta riuscita restituisce una risposta HTTP 204 No Content.