IBM Cloud Docs
Geheime Schlüssel/Wert-Schlüssel mit Vault-API verwalten

Geheime Schlüssel/Wert-Schlüssel mit Vault-API verwalten

Mit IBM Cloud® Secrets Managerkönnen Sie mehrere Versionen pro Schlüssel verwalten und mithilfe der HashiCorp Vault-HTTP-API auf den Verlauf und die Metadaten Ihres Schlüssel/Wert-Schlüssel zugreifen.

Übersicht

Wenn Sie die Vault-API bereits verwenden, können Sie das zugehörige API-Format und die zugehörigen Richtlinien für die Interaktion mit Secrets Managerverwenden. Secrets Manager unterstützt nur KV Version 2. Die Endpunkte für die Schlüsselwertsteuerkomponente für geheime Schlüssel, die in der Vault-Dokumentation definiert sind, sind mit der Befehlszeilenschnittstelle und anderen anwendbaren Tools kompatibel.

Weitere Informationen zur Authentifizierung finden Sie unter Vault API.

Um die Standard-REST-API für Secrets Manager zu verwenden, lesen Sie die Secrets Manager API-Referenz.

Unterschied zwischen KV und Secrets Manager

Die von Secrets Manager verwendete Engine für geheime Schlüssel/Wert-Schlüssel weicht geringfügig von der Vault-Engine für geheime KV-Schlüssel ab.

  • Sie können den Pfad nicht vollständig anpassen. Der Pfad zu einem geheimen Schlüssel/Wert-Schlüssel muss wie folgt lauten:
    • {secret_group_id}/{secret_name} für geheime Schlüssel, die sich in einer angepassten Gruppe geheimer Schlüssel befinden.
    • /{secret_name} für geheime Schlüssel, die sich in der Standardgruppe befinden.
  • Die Methoden, die in Vault zum Konfigurieren der Schlüssel/Wert-Engine und Lesen der Konfiguration verwendet werden, werden nicht unterstützt.

Geheimen Schlüssel/Wert-Schlüssel erstellen oder aktualisieren

Erstellen Sie eine Version eines geheimen Schlüssels mit Schlüsselwert.

Beispielanforderung

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/data/{secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
            "data": {
                "key":"value"
            }
    }'
Erstellen oder Aktualisieren von geheimen Schlüsselwert-Anforderungsparametern
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird
data Erforderlich. Die Daten des geheimen Schlüssels im JSON-Format, die dem geheimen Schlüssel zugewiesen werden sollen. Die maximale Dateigröße beträgt 512 KB.

Beispielantwort

Eine Anforderung zum Aktualisieren eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt die folgende Antwort zurück:

{
    "request_id": "9000000d4-f0000-4c000-000000-800000000f",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_time": "2022-02-09T23:41:58.888138788Z",
        "deletion_time": "",
        "destroyed": false,
        "version": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Version eines geheimen Schlüssel/Wert-Schlüssels lesen

Ruft eine Version eines geheimen Schlüssels mit Schlüsselwert ab. Eine erfolgreiche Anforderung gibt die Daten des geheimen Schlüssels zurück, die der angegebenen Version Ihres geheimen Schlüssels zugeordnet sind, zusammen mit anderen Metadaten.

Beispielanforderung

curl -X GET 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/data/{secret_name}?version={version}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'
Lesen einer Version eines Schlüssel-Wert-Geheimnisses Anfrageparameter
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
version Die Versionen, die Sie lesen möchten
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird

Beispielantwort

Eine Anforderung zum Abrufen einer Version eines geheimen Schlüssel/Wert-Schlüssels in der Gruppe geheimer Schlüssel default gibt die folgende Antwort zurück:

{
    "request_id": "400000-60000-8e000-0ad0-00000bc0000caebe",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "data": {
            "key": "value"
        },
        "metadata": {
            "created_time": "2022-01-13T21:31:49.893962888Z",
            "deletion_time": "",
            "destroyed": false,
            "version": 1
        }
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Neueste Version eines geheimen Schlüssel/Wert-Schlüssels löschen

Löscht die neueste Version eines geheimen Schlüssels mit Schlüsselwert. Nach dem Löschen der Version können Sie sie nicht mithilfe von list -oder get-API-Aufrufen abrufen. Es ist jedoch ein bedingter Löschvorgang und die zugrunde liegenden Daten werden nicht entfernt. Sie können das Löschen rückgängig machen, indem Sie den API-Endpunkt Wiederherstellen aufrufen.

Beispielanforderung

curl -X DELETE 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/data/{secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}'
Löschen der letzten Version der geheimen Schlüsselwert-Anfrageparameter
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird

Beispielantwort

Eine Anforderung zum Löschen der neuesten Version eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt eine leere Antwort mit einem Statuscode 204 zurück, um zu bestätigen, dass die letzte Version gelöscht wurde.

Angegebene Versionen eines geheimen Schlüssels mit Schlüsselwert löschen

Löscht die angegebenen Versionen eines geheimen Schlüssels mit Schlüsselwert. Nachdem Sie die Versionen gelöscht haben, können Sie sie nicht mithilfe von list -oder get -API-Aufrufen abrufen. Es ist jedoch ein bedingter Löschvorgang und die zugrunde liegenden Daten werden nicht entfernt. Sie können das Löschen rückgängig machen, indem Sie den API-Endpunkt Wiederherstellen aufrufen.

Beispielanforderung

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/delete/test-kv' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -d '{
            "versions": [1, 2]
            }'
Löschen angegebener Versionen eines Schlüssel-Wert-Geheimnisses Anfrageparameter
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird
versions Die angegebenen Versionen, die gelöscht werden sollen

Beispielantwort

Eine Anforderung zum Abrufen der angegebenen Versionen eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt die folgende Antwort zurück:

{
    "request_id": "43abde16-6a33-971f-1690-469eccc00d91",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Löschen eines geheimen Schlüssels mit Schlüsselwert rückgängig machen

Stellt eine zuvor gelöschte Version eines geheimen Schlüssel/Wert-Schlüssels wieder her.

Beispielanforderung

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/undelete/{secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
            "versions": [
                1, 2
                ]
            }
Undelete eine Version eines Schlüssel-Wert-Geheimnisses Anfrageparameter
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird
versions Die Versionen des geheimen Schlüssels mit Schlüsselwert, die Sie löschen wollen.

Beispielantwort

Eine Anforderung zum Wiederherstellen einer Version eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt eine leere Antwort mit einem Statuscode 204 zurück, um zu bestätigen, dass die angegebenen Versionen wiederhergestellt wurden.

Versionen eines geheimen Schlüssels löschen

Löscht angegebene Versionen eines geheimen Schlüssels mit Schlüsselwert permanent. Um stattdessen Versionen eines geheimen Schlüssels vorläufig zu löschen, verwenden Sie den API-Endpunkt angegebene Versionen löschen .

Beispielanforderung

curl -X POST 'https://{instance_id}.{region}.secrets-manager.test.appdomain.cloud/v1/ibmcloud/kv/destroy/{secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
            "versions": [1, 3]
            }'
Versionen der geheimen Schlüsselwert-Anfrageparameter zerstören
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird
versions Die Versionen des geheimen Schlüssel-Wert-Schlüssels, den Sie dauerhaft löschen wollen

Beispielantwort

Eine Anforderung zum permanenten Löschen von Versionen eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt eine leere Antwort mit einem Statuscode 204 zurück, um zu bestätigen, dass die Versionen des geheimen Schlüssels gelöscht wurden.

Metadaten für geheime Schlüssel/Wert-Schlüssel erstellen oder aktualisieren

Erstellen oder aktualisieren Sie die Metadaten eines geheimen Schlüssels für Schlüsselwerte, z. B. die maximale Anzahl von Versionen oder andere angepasste Werte. Verwenden Sie zum Aktualisieren des tatsächlichen Inhalts des geheimen Schlüssels die Methode Geheimen Schlüssel erstellen oder aktualisieren .

Beispielanforderung

curl -X POST 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/metadata/{secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/json' \
    -d '{
            "custom_metadata": {
                "meta1": "data1",
                "meta2": "data2"
                }
            }'
Aktualisierung der Metadaten eines Schlüssel-Wert-Geheimnis-Anfrageparameters
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird

Beispielantwort

Eine Anforderung zum Aktualisieren der Metadaten eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt eine leere Antwort mit einem Statuscode 204 zurück, um zu bestätigen, dass die Metadaten des geheimen Schlüssels aktualisiert wurden.

Metadaten des geheimen Schlüssel/Wert-Schlüssels lesen

Rufen Sie die Metadaten eines geheimen Schlüssel/Wert-Schlüssels ab, indem Sie die ID der Version angeben.

Beispielanforderung

curl -X GET 'https://{instance_id}.{region}.secrets-manager.test.appdomain.cloud/v1/ibmcloud/kv/metadata/{secret_name}' \
    -H 'Accept: application/json'
    -H 'X-Vault-Token: {Vault-Token}'
Lesen der Metadaten eines Schlüssel-Wert-Geheimnisses Anfrageparameter
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird

Beispielantwort

Eine Anforderung zum Abrufen der Metadaten eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt die folgende Antwort zurück:

{
    "request_id": "400000-60000-8e000-0ad0-00000bc0000caebe",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "cas_required": false,
        "created_time": "2022-01-13T21:31:49.893962888Z",
        "current_version": 3,
        "custom_metadata" : {
              "meta1": "data1",
              "meta2": "data2"    
        },
        "delete_version_after": "0s",
        "max_versions": 0,
        "oldest_version": 0,
        "updated_time": "2022-02-09T23:54:16.313286558Z",
        "versions": {
            "1": {
                "created_time": "2022-01-13T21:31:49.893962888Z",
                "deletion_time": "",
                "destroyed": false
            },
            "2": {
                "created_time": "2022-02-09T23:41:58.888138788Z",
                "deletion_time": "",
                "destroyed": false
            },
            "3": {
                "created_time": "2022-02-09T23:54:16.313286558Z",
                "deletion_time": "",
                "destroyed": false
            }
        }
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Metadaten und alle Versionen eines geheimen Schlüssel/Wert-Schlüssels löschen

Löscht die Metadaten und alle Versionsdaten eines angegebenen geheimen Schlüssels mit Schlüsselwert permanent. Bei Verwendung dieses API-Endpunkts wird das gesamte Versionsprotokoll entfernt.

Beispielanforderung

curl -X DELETE 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/metadata/{secret_name}' \
    -H 'Accept: application/json'
    -H 'X-Vault-Token: {Vault-Token}'
Löschen der Metadaten eines geheimen Schlüssel-Wert-Anfrageparameters
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird

Beispielantwort

Eine Anforderung zum Löschen der Metadaten und aller Versionen eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt die folgende Antwort zurück:

{
    "request_id": "62b1e2c2-801a-6592-0526-edb38896a546",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": null,
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Schlüsselnamen eines geheimen Schlüssel/Wert-Schlüssels auflisten

Ruft eine Liste der Schlüsselnamen eines geheimen Schlüssels mit Schlüsselwert ab. Verschlüsseln Sie keine sensiblen Informationen in Schlüsselnamen. Mit diesem Befehl kann nicht auf die Werte der Schlüssel zugegriffen werden.

In {sm-short} können Sie das Verb LIST HTTP nicht verwenden, um die Liste der Schlüsselnamen zu erhalten. Dies ist nur in der Vault-KV-API möglich.

Beispielanforderung

curl -X GET "https://{instance_id}.{region}.secrets-manager.test.appdomain.cloud/v1/ibmcloud/kv/metadata/?list=true" \
    -H 'Accept: application/json'\
    -H 'X-Vault-Token: {Vault-Token}'
Auflistung der Schlüsselnamen der geheimen Parameter einer Schlüssel-Wert-Anfrage
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird

Beispielantwort

Eine Anforderung zum Auflisten der Schlüsselnamen eines geheimen Schlüssel/Wert-Schlüssels in der Gruppe geheimer Schlüssel default gibt die folgende Antwort zurück:

{
    "request_id": "a21993df-a4b7-21f1-95a9-c1af7be87d1b",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "keys": [
            "secret1",
            "secret2"
        ]
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}

Geheimen Schlüssel/Wert-Schlüssel korrigieren

Aktualisieren Sie einen vorhandenen geheimen Schlüssel/Wert-Schlüssel, indem Sie nur die Details angeben, die Sie ändern wollen. Wenn Sie ein Patch für einen geheimen Schlüssel anwenden, wird eine neue Version erstellt. Alle Daten, die Sie nicht ändern, bleiben genau wie in der vorherigen Version des geheimen Schlüssels.

Beispielanforderung

curl -X PATCH 'https://{instance_id}.{region}.secrets-manager.appdomain.cloud/v1/ibmcloud/kv/data/{secret_name}' \
    -H 'Accept: application/json' \
    -H 'X-Vault-Token: {Vault-Token}' \
    -H 'Content-Type: application/merge-patch+json' \
    -d '{
            "data": {
                "key":"value"
            }
    }'
Erstellen oder Aktualisieren von geheimen Schlüsselwert-Anforderungsparametern
Anforderungsparameter Beschreibung
instance_id Die ID der Secrets Manager -Instanz.
region Die Region, in der die Secrets Manager -Instanz erstellt wurde.
secret_name Der Name des geheimen Schlüssels für den Schlüsselwert.
Vault-Token Das Authentifizierungstoken, das aus der Vault abgerufen wird
data Erforderlich. Die geheimen Daten im JSON-Format, mit denen der geheime Schlüssel korrigiert werden soll. Die maximale Dateigröße beträgt 512 KB.

Beispielantwort

Eine Anforderung zum Aktualisieren eines geheimen Schlüssels mit Schlüsselwert in der Gruppe geheimer Schlüssel default gibt die folgende Antwort zurück:

{
    "request_id": "9000000d4-f0000-4c000-000000-800000000f",
    "lease_id": "",
    "renewable": false,
    "lease_duration": 0,
    "data": {
        "created_time": "2022-02-09T23:41:58.888138788Z",
        "deletion_time": "",
        "destroyed": false,
        "version": 2
    },
    "wrap_info": null,
    "warnings": null,
    "auth": null
}