Zum Inhalt springen

Versionslimit für Secrets Manager festlegen

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='The ID of your secrets manager instance' export SECRET='The path of the secret you want to change'

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