> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/de/anleitungen/secrets/secretspec.md).

# Devolutions CLI mit SecretSpec verwenden

Devolutions CLI als SecretSpec-Anbieter registrieren, damit Projekte, die secretspec.toml verwenden, ihre Geheimnisse aus Ihrem Devolutions-Tresor lesen.

[SecretSpec](https://secretspec.dev) lässt ein Projekt die Geheimnisse, die es braucht, in einer Datei `secretspec.toml` deklarieren und holt sie von einem Anbieter. Devolutions CLI kann dieser Anbieter sein: Nach der Registrierung startet SecretSpec `devo`, um Geheimnisse aus Devolutions Cloud, Devolutions Server oder einem lokalen Profil von Devolutions Remote Desktop Manager zu lesen, mit Ihren vorhandenen Kontexten.

{% hint style="warning" %}
Devolutions CLI gibt die geheimen Werte an SecretSpec zurück, das sie an Ihre Anwendung weitergibt. Die Maskierung gilt nicht. Siehe [Was verborgen bleibt und was nicht](/cli/de/anleitungen/understand/security-model.md).
{% endhint %}

{% stepper %}
{% step %}

### Devolutions CLI als Anbieter registrieren

```bash
devo secretspec register
```

Das schreibt eine kleine Anspruchsdatei, `devo.secretspec.json`, die SecretSpec sagt, welche ausführbare `devo`-Datei für `devo://`-Anbieter-URIs zu starten ist. Fügen Sie `--dry-run` hinzu, um den Anspruch zu sehen, ohne ihn zu schreiben.

<table><thead><tr><th width="200">OPTION</th><th>WAS ES TUT</th></tr></thead><tbody><tr><td><code>--system</code></td><td>Schreibt den Anspruch für jeden Benutzer des Computers statt nur für Sie. Das braucht in der Regel Administratorrechte.</td></tr><tr><td><code>--executable &#x3C;path></code></td><td>Registriert eine andere <code>devo</code>-Programmdatei. Der Pfad muss absolut sein. Standardmäßig wird das <code>devo</code> registriert, das Sie ausführen.</td></tr><tr><td><code>--environment &#x3C;name></code>, <code>--env</code></td><td>Erlaubt SecretSpec, eine zusätzliche Umgebungsvariable an <code>devo</code> zu übergeben, nach genauem Namen oder nach Präfix wie <code>DEVO_*</code>. Wiederholen Sie das für mehrere. <code>RDM_CONFIG_PATH</code> und <code>DEVO_CLI_CONFIG_HOME</code> sind immer enthalten.</td></tr><tr><td><code>--force</code></td><td>Ersetzt einen Anspruch, der für das Schema <code>devo</code> auf eine andere ausführbare Datei zeigt.</td></tr></tbody></table>
{% endstep %}

{% step %}

### Die Anbieter-URI abrufen

Wählen Sie den Workspace mit `--context` (oder verwenden Sie den aktuellen Kontext), und fragen Sie dann seine Anbieter-URI ab:

```bash
devo secretspec uri --context <context-name> --vault-id <vault-id>
```

Setzen Sie den URI, den es ausgibt, in Ihr `secretspec.toml` als Anbieter. `--vault-id` ist optional: Es setzt den Standardtresor, und ein Geheimnis kann weiterhin seinen eigenen Tresor nennen.
{% endstep %}

{% step %}

### Prüfen Sie die Registrierung

```bash
devo secretspec status
```

Der Status zeigt den Anspruch für Ihren Benutzer und für den Computer und für jeden, ob er registriert ist, auf das `devo` zeigt, das Sie ausführen, auf ein anderes oder auf eine ausführbare Datei, die nicht mehr vorhanden ist.
{% endstep %}
{% endstepper %}

## Formen der Anbieter-URI

<table><thead><tr><th width="200">WORKSPACE</th><th>ANBIETER-URI</th></tr></thead><tbody><tr><td><strong>Devolutions Cloud</strong></td><td><code>devo://cloud/&#x3C;vault-id>?context=&#x3C;context-name></code></td></tr><tr><td><strong>Devolutions Server</strong></td><td><code>devo://server/&#x3C;vault-id>?context=&#x3C;context-name></code></td></tr><tr><td><strong>Lokales Profil</strong></td><td><code>devo://sqlite/&#x3C;vault-id>?workspace=sqlite:&#x3C;file-name>.db</code></td></tr></tbody></table>

* Die Tresor-ID ist in jeder Form optional. Ohne sie muss jedes Geheimnis sein eigenes `vault` nennen, sonst lehnt Devolutions CLI es ab.
* Für Devolutions Cloud und Devolutions Server ist `?context=` optional. Ohne ihn verwendet der Anbieter den aktuellen Kontext.
* Bei einem lokalen Profil ist der Workspace erforderlich. Übergeben Sie ihn an `devo secretspec uri` mit `--workspace-id`, zum Beispiel `--workspace-id sqlite:Connections.db`.

Diese Anbieter-URIs wählen einen Workspace für SecretSpec aus. Es sind keine Geheimnisreferenzen: Sie können sie nicht mit `devo secret run` verwenden.

## Wie Geheimnisse adressiert werden

Devolutions CLI akzeptiert nur native SecretSpec-Adressen: Jedes Geheimnis nennt die **Eintrags-ID** (`item`), das **Feld** (erforderlich) und optional einen **Tresor**, der den im Anbieter-URI ersetzt. Die konventionellen Adressen von SecretSpec (Projekt, Profil und Schlüssel) werden abgelehnt, weil sie nicht sicher auf einen Eintrag zeigen können. Abschnitte werden nicht unterstützt.

<table><thead><tr><th width="200">WORKSPACE</th><th>LESEN</th><th>SCHREIBEN</th></tr></thead><tbody><tr><td><strong>Devolutions Server</strong></td><td>Eine beliebige Dateneigenschaft des Eintrags.</td><td>Eine beliebige Dateneigenschaft des Eintrags.</td></tr><tr><td><strong>Devolutions Cloud</strong></td><td><code>domain</code>, <code>host</code>, <code>password</code>, <code>port</code>, <code>privatekey</code>, <code>url</code>, <code>username</code>.</td><td>Nur <code>password</code>, bei einem Eintrag, der seine eigenen Anmeldeinformationen enthält.</td></tr><tr><td><strong>Lokales Profil</strong></td><td>Ja.</td><td>Nur <code>password</code>, mit der Workspace-Passphrase.</td></tr></tbody></table>

## Devolutions CLI nicht mehr als Anbieter verwenden

```bash
devo secretspec unregister
```

Fügen Sie `--system` hinzu, um den Anspruch für den ganzen Computer zu entfernen, und `--dry-run`, um zu sehen, welcher Anspruch entfernt würde.

## Wohin die Anspruchsdatei geht

| SYSTEM      | FÜR IHREN BENUTZER                                                                                                                                                  | MIT `--system`                                                   |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| **Windows** | `SecretSpec\providers.d` in Ihrem Ordner für servergespeicherte Anwendungsdaten                                                                                     | `SecretSpec\providers.d` im computerweiten Anwendungsdatenordner |
| **macOS**   | `~/Library/Application Support/SecretSpec/providers.d`                                                                                                              | `/Library/Application Support/SecretSpec/providers.d`            |
| **Linux**   | `$XDG_CONFIG_HOME/secretspec/providers.d`, oder `~/.config/secretspec/providers.d`, wenn `XDG_CONFIG_HOME` nicht gesetzt ist, leer ist oder kein absoluter Pfad ist | `/etc/secretspec/providers.d`                                    |

## Gut zu wissen

* SecretSpec startet `devo` selbst. Sie müssen `devo secretspec provider` nicht ausführen.
* Fügen Sie mit `--environment` jede andere Variable hinzu, von der Ihre Kontexte abhängen, damit SecretSpec sie an `devo` übergeben kann.

## Weiter

* [Switch between workspaces](/cli/de/anleitungen/connect/switch-workspaces.md)
* Jede Option von `devo secretspec`: [Befehle](/cli/de/referenz/commands.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/de/anleitungen/secrets/secretspec.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
