Zum Inhalt springen

CLI & API

  • Erstellen Sie einen Service-Account für Ihr STACKIT Portal-Projekt und notieren Sie sich dessen E-Mail-Adresse.
  • Fügen Sie den Service-Account in der Sektion Berechtigungen der Gruppe project.member hinzu.
  • Erstellen Sie einen Zugriffstoken für den Service-Account.

Mit diesem Zugriffstoken können Sie entweder weiterhin die STACKIT CLI oder die API direkt verwenden, um Ihre Instanzen und Benutzer bereitzustellen.

Wenn Sie es vorziehen, direkt mit der API zu interagieren, besuchen Sie die OpenAPI-Spezifikation.

Installieren Sie die CLI wie in der Vault-Dokumentation beschrieben. Legen Sie die Cluster-Adresse als Umgebungsvariable fest und melden Sie sich mit der userpass-Methode an, um Ihre Zugangsdaten über die CLI zu verwalten:

Terminal-Fenster
$ export VAULT_ADDR=https://prod.sm.eu01.stackit.cloud

Um sich gegenüber der Vault CLI zu authentifizieren, verwenden Sie die userpass-Methode. Erstellen Sie hierfür einen neuen Benutzer in Ihrer STACKIT Secrets Manager-Instanz und verwenden Sie anschließend den Benutzernamen und das Passwort, um sich zu authentifizieren:

Terminal-Fenster
$ vault login -method=userpass username= password=""

Mit dieser Authentifizierungsmethode wird ein Token in Ihrem System hinterlegt, das für zukünftige Authentifizierungen verwendet wird. Dieses Token hat eine Standard-TTL (Time-to-Live) von 15 Minuten. Sie können dieses Token auch verwalten, z. B. die TTL erhöhen, es anzeigen, löschen usw.

Weitere Informationen finden Sie in der HashiCorp token documentation.

Wie der Name schon sagt, ist dies der Pfad, der den gewünschten Secret-Pfad beschreibt.

  • HashiCorp Secrets Path: secret/data/creds
  • STACKIT Secrets Path: [Secrets-Manager-ID]/data/[Secrets-Name] Der Screenshot zeigt die Details des Secrets Manager und hebt die Secrets-Manager-ID hervor. Der Screenshot zeigt den Namen des Secrets im Secrets Manager. Sie können Ihre Secrets auch in einer Ordnerstruktur verwalten. Dies könnte wie folgt aussehen: SecretsFolder/SecretsName

Grundlegende Beispiele

Terminal-Fenster
$ vault kv put \\ -mount \\ \\ \= \= \======= Secret Path ======= /data/ \======= Metadata ======= Key Value --- ----- created\_time 2024-11-15T01:52:23.434633061Z custom\_metadata deletion\_time n/a destroyed false version 5
Terminal-Fenster
$ vault kv get -mount \======= Secret Path ======= /data/ \======= Metadata ======= Key Value --- ----- created\_time 2024-11-13T21:58:32.128442898Z custom\_metadata deletion\_time n/a destroyed false version 3 ===== Data ===== Key Value --- -----
Terminal-Fenster
$ vault token renew --increment=30m ()

Weitere Informationen finden Sie in der Hashicorp documentation.

Sie können jeden Client verwenden, der mit Hashicorp Vault KV Version 2 kompatibel ist, indem Sie den Authentifizierungs-Endpunkt “UserPass” der API nutzen:

Terminal-Fenster
https://prod.sm.eu01.stackit.cloud/ui/vault/auth?with=Userpass

Um sich zu authentifizieren, benötigen Sie einen Benutzernamen und ein Passwort, die Sie in Ihrer STACKIT Secrets Manager-Instanz erstellen können (siehe oben). Damit können Sie den Userpass-Endpunkt verwenden, um ein Zugriffstoken zu generieren, das Sie für weitere API-Anfragen nutzen können.

Terminal-Fenster
curl --request POST --data '{password: ""}' /v1/auth/userpass/login/

Dieses Token ist 15 Min. gültig und kann über die API oder das CLI verlängert werden. Weitere Informationen finden Sie in der HashiCorp documentation

{ "data": { "key": "", "value": "" }, "options": { "max_versions": 5 } }
Terminal-Fenster
curl \\ --header "X-Vault-Token: " --request POST --data @payload.json /v1//data/
Terminal-Fenster
curl --header "X-Vault-Token: " --request GET /v1//data/

Weitere Informationen finden Sie in der Hashicorp Dokumentation.