Zum Inhalt springen

Versionslimit für Secrets Manager festlegen

Zuletzt aktualisiert am

Der STACKIT Secrets Manager ermöglicht es Ihnen, verschiedene Versionen Ihrer sensiblen Daten (Secrets) sicher zu speichern und zu verwalten. Dies ist besonders nützlich, um Änderungen zu verfolgen und bei Bedarf zu älteren Zuständen zurückzukehren. Sie können die Anzahl der zu behaltenden Versionen auf zwei Ebenen definieren:

  • Instanz-Ebene: Hier legen Sie ein globales Limit für alle Secrets innerhalb Ihrer aktuellen Secrets Manager-Instanz fest.
  • Secret-Ebene: Hier können Sie spezifische Limits für einzelne Secrets festlegen, die von der instanzweiten Einstellung abweichen. Das Standard-Versionslimit auf Instanzen ist unbegrenzt (Wert = 0). Das Standard-Versionslimit für Secrets ist so eingestellt, dass es das Limit der Instanz erbt. Es kann überschrieben werden. Das Secret-Limit überschreibt immer das Instanz-Limit (außer wenn 0/Vererbung eingestellt ist).

Um Umgebungsvariablen festzulegen, müssen Sie sich mit einem Secrets Manager-Benutzer anmelden. Die folgenden Umgebungsvariablen können festgelegt werden:

Terminal-Fenster
export VAULT_TOKEN=$(vault token lookup --format=json | jq -r .data.id)
export VAULT_ADDR="https://prod.sm.eu01.stackit.cloud"
export INSTANCE_ID="Die ID Ihrer Secrets Manager-Instanz"
export SECRET="Der Pfad des Secrets, das Sie ändern möchten"

Diese Einstellung gilt standardmäßig für alle erstellten Secrets in Ihrer Instanz.

Terminal-Fenster
curl --header "X-Vault-Token: $VAULT_TOKEN" \
--header "Content-Type: application/json" \
--request POST \
--data '{"max_versions": 100}' \
"$VAULT_ADDR/v1/$INSTANCE_ID/config"
Terminal-Fenster
curl --header "X-Vault-Token: $VAULT_TOKEN" \
--request GET \
"$VAULT_ADDR/v1/$INSTANCE_ID/config"

Diese Einstellung ermöglicht es Ihnen, unterschiedliche Versionslimits für spezifische, einzelne Secrets zu definieren. Dies ist nützlich, wenn bestimmte Secrets einen längeren oder kürzeren Verlauf erfordern als andere.

Das Festlegen des Versionslimits kann entweder über eine PATCH- oder eine PUT/POST-Anfrage erfolgen.

Die PUT/POST-Anfrage überschreibt andere Konfigurationen und benutzerdefinierte Metadaten auf der Secret-Ebene. Eine PATCH-Anfrage würde nur das Versionslimit aktualisieren und die anderen Konfigurationen beibehalten.

Terminal-Fenster
curl --header "X-Vault-Token: $VAULT_TOKEN" \
--header "Content-Type: application/json" \
--request POST \
--data '{"max_versions": 50}' \
"$VAULT_ADDR/v1/$INSTANCE_ID/metadata/$SECRET"
Terminal-Fenster
curl --header "X-Vault-Token: $VAULT_TOKEN" \
--header "Content-Type: application/merge-patch+json" \
--request PATCH \
--data '{"max_versions": 50}' \
"$VAULT_ADDR/v1/$INSTANCE_ID/metadata/$SECRET"
Terminal-Fenster
curl --header "X-Vault-Token: $VAULT_TOKEN" \
--request GET \
"$VAULT_ADDR/v1/$INSTANCE_ID/metadata/$SECRET"