> 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/referenz/secret-references.md).

# Syntax der Geheimnisreferenz

Syntax der devo-Referenz, benannte und kanonische Formen, Abschnitte, Attribute, Kodierung, SecretSpec-Anbieter-URIs und wie Referenzen in einem Text gefunden werden.

Eine Geheimnisreferenz ist die Adresse eines Feldes eines Eintrags. Sie beginnt mit `devo://` und sagt, wo das Geheimnis liegt, nie was es ist. Jeder `devo secret`-Befehl, Startmanifeste, `.env`-Dateien und Vorlagen verwenden dieselbe Syntax.

Um die Referenz eines Feldes zu erhalten, ohne sie zu tippen, führen Sie `devo entry references <entry>` aus. Siehe [Die Referenz zu einem Geheimnis finden](/cli/de/anleitungen/secrets/find-a-reference.md).

## Benannte Referenzen

Eine benannte Referenz verwendet die Namen des Workspace, des Tresors und des Eintrags, daher ist sie leicht zu lesen:

```
devo://<workspace>/<vault>/<entry>/<field>
devo://<workspace>/<vault>/<entry>/<section>/<field>
```

<table><thead><tr><th width="190">SEGMENT</th><th>WAS ES IST</th></tr></thead><tbody><tr><td><code>&#x3C;workspace></code></td><td>Der Workspace, der den Tresor enthält.</td></tr><tr><td><code>&#x3C;vault></code></td><td>Der Tresor, der den Eintrag enthält.</td></tr><tr><td><code>&#x3C;entry></code></td><td>Der Eintrag, der das Feld enthält.</td></tr><tr><td><code>&#x3C;section></code></td><td>Optional, nur lokales Profil. Der Abschnitt des Eintrags, der das Feld enthält, wenn das Feld in einem Abschnitt liegt. Devolutions Cloud und Devolutions Server lehnen einen Abschnitt mit <code>unsupportedSecretField</code> ab.</td></tr><tr><td><code>&#x3C;field></code></td><td>Das zu lesende Feld, etwa <code>password</code>, <code>username</code>, <code>domain</code>, <code>host</code>, <code>otp</code> oder <code>privatekey</code>.</td></tr></tbody></table>

Eine benannte Referenz wird in dem Workspace aufgelöst, der für den Befehl ausgewählt ist: der aktuelle Kontext oder der, den Sie mit `--context` oder `--source` wählen. Siehe [Globale Optionen](/cli/de/referenz/global-options.md).

## Kanonische Referenzen

Eine kanonische Referenz verwendet IDs statt Namen:

```
devo://ws/<workspace-id>/vault/<vault-id>/entry/<entry-id>/field/<field>
```

* Sie funktioniert weiter, wenn der Eintrag, der Tresor oder der Workspace umbenannt wird.
* Er nennt den Workspace, dem er gehört, daher wird er in diesem Workspace aufgelöst, unabhängig vom aktuellen Kontext. Ein `devo secret run` kann Referenzen aus einem lokalen Profil, aus Devolutions Cloud und aus Devolutions Server mischen.
* Sie hat kein Abschnittssegment.
* Auf Devolutions Server listet `devo entry references` nur kanonische Referenzen auf. Eine benannte Referenz, die Sie selbst schreiben, funktioniert weiterhin.

## Attribute

Standardmäßig gibt eine Referenz den Wert des Feldes zurück. Fügen Sie `?attribute=` (oder die Kurzform `?attr=`) hinzu, um Informationen über das Feld statt seines Wertes zu lesen. Bei den Werten spielt die Groß- und Kleinschreibung keine Rolle.

<table><thead><tr><th width="190">ATTRIBUT</th><th>WAS ES ZURÜCKGIBT</th><th width="150">GEHEIMNIS</th></tr></thead><tbody><tr><td><code>value</code></td><td>Der Wert des Felds. Das ist der Standardwert und das einzige Attribut, das ein Geheimnis zurückgibt.</td><td>Ja</td></tr><tr><td><code>type</code></td><td>Die Art des Felds.</td><td>No</td></tr><tr><td><code>id</code></td><td>Die ID des Eintrags.</td><td>No</td></tr><tr><td><code>title</code></td><td>Der Name des Eintrags. Leer für eine kanonische Referenz auf Devolutions Cloud und Devolutions Server.</td><td>No</td></tr><tr><td><code>purpose</code></td><td>Warum der Wert angefordert wurde: <code>read</code>, <code>inject</code>, <code>run</code> oder <code>mcp</code>. Leer bei einem lokalen Profil.</td><td>No</td></tr></tbody></table>

`type`, `id`, `title` und `purpose` geben nur Informationen zurück, nie das Geheimnis, bei jedem Workspace-Typ.

Zum Beispiel gibt `devo://<workspace>/<vault>/<entry>/password?attribute=type` die Art des Feldes `password` zurück, nicht das Passwort. `devo secret read` und `devo secret get` akzeptieren auch `--attribute` statt der Abfrage.

## Sonderzeichen

Jedes Segment zwischen zwei `/` wird URL-dekodiert. Wenn ein Name `/`, `?`, `#`, `%` oder ein Leerzeichen enthält, kodieren Sie ihn: Schreiben Sie zum Beispiel `Web%2FProd` für einen Eintrag namens `Web/Prod` und `My%20vault` für `My vault`. Ein `:` kann bleiben, wie er ist.

Referenzen, die Devolutions CLI ausgibt, zum Beispiel mit `devo entry references`, sind bereits kodiert.

## Regeln und Fehler

Wenn eine Referenz nicht gelesen werden kann, schlägt der Befehl mit dem Fehlercode `invalidSecretReference` und einer dieser Meldungen fehl.

<table><thead><tr><th width="320">MELDUNG</th><th>WAS ZU PRÜFEN IST</th></tr></thead><tbody><tr><td>"Secret reference cannot be empty."</td><td>Die Referenz ist leer oder enthält nur Leerzeichen.</td></tr><tr><td>"Secret reference must start with 'devo://'."</td><td>Das Präfix fehlt oder ist falsch geschrieben. Beim Präfix wird die Groß- und Kleinschreibung nicht beachtet.</td></tr><tr><td>"Secret references do not support URI fragments."</td><td>Die Referenz enthält <code>#</code>. Kodieren Sie es als <code>%23</code>, wenn es Teil eines Namens ist.</td></tr><tr><td>"Secret reference path cannot be empty."</td><td>Nach <code>devo://</code> folgt nichts.</td></tr><tr><td>"Use devo://&#x3C;workspace>/&#x3C;vault>/&#x3C;entry>/&#x3C;field> or devo://&#x3C;workspace>/&#x3C;vault>/&#x3C;entry>/&#x3C;section>/&#x3C;field>."</td><td>Eine benannte Referenz braucht 4 oder 5 Segmente. Prüfen Sie auf ein fehlendes Segment oder ein nicht kodiertes <code>/</code> in einem Namen.</td></tr><tr><td>"Secret reference path segments cannot be empty."</td><td>Zwei <code>/</code> folgen aufeinander, oder die Referenz endet mit <code>/</code>.</td></tr><tr><td>"Canonical ID references must use devo://ws/&#x3C;id>/vault/&#x3C;id>/entry/&#x3C;id>/field/&#x3C;field>."</td><td>Eine Referenz, die mit <code>ws</code> beginnt und 8 Segmente hat, muss die Wörter <code>vault</code>, <code>entry</code> und <code>field</code> in dieser Reihenfolge verwenden.</td></tr><tr><td>"Canonical workspace, vault, and entry identifiers cannot be empty."</td><td>In einer kanonischen Referenz fehlt eine ID.</td></tr><tr><td>"Canonical field segment cannot be empty."</td><td>Das Feld fehlt am Ende einer kanonischen Referenz.</td></tr></tbody></table>

Ein unbekanntes Attribut schlägt mit dem Code `unsupportedSecretAttribute` und der Meldung „Unsupported secret reference attribute '\<value>'.“ fehl. Andere Abfrageparameter werden ignoriert.

Wenn die Referenz gültig ist, aber nicht zu einem Feld führt, das Sie lesen können, siehe [Eine Geheimnisreferenz wird nicht aufgelöst](/cli/de/hilfe/troubleshooting/reference-does-not-resolve.md).

## Referenzen in einem Text

`devo secret inject` findet die Referenzen in einer Vorlage und ersetzt jede durch ihren Wert. Es erkennt zwei Formen:

<table><thead><tr><th width="250">FORM</th><th>WO ES ENDET</th></tr></thead><tbody><tr><td><code>{{ devo://… }}</code></td><td>Beim schließenden <code>}}</code>. Die geschweiften Klammern werden ebenfalls ersetzt, und Leerzeichen darin werden ignoriert. Verwenden Sie diese Form, wenn die Referenz neben anderem Text steht.</td></tr><tr><td><code>devo://…</code></td><td>Beim ersten Leerzeichen, Zeilenumbruch, <code>"</code>, <code>'</code>, <code>&#x3C;</code>, <code>></code>, <code>)</code>, <code>]</code> oder <code>}</code>.</td></tr></tbody></table>

Text, der mit `devo://` beginnt, aber keine gültige Referenz ist, bleibt unverändert.

In einer Vorlage kann eine Referenz auch Umgebungsvariablen enthalten, die `devo secret inject` ersetzt, bevor es das Geheimnis liest:

<table><thead><tr><th width="250">AUSDRUCK</th><th>WAS ES WIRD</th></tr></thead><tbody><tr><td><code>$NAME</code> or <code>${NAME}</code></td><td>Der Wert der Umgebungsvariable <code>NAME</code>. Wenn sie nicht gesetzt oder leer ist, schlägt der Befehl mit <code>missingSecretReferenceVariable</code> fehl.</td></tr><tr><td><code>${NAME:-default}</code></td><td>Der Wert von <code>NAME</code>, oder <code>default</code>, wenn er nicht gesetzt oder leer ist.</td></tr></tbody></table>

Zum Beispiel liest `{{ devo://<workspace>/${VAULT:-Staging}/<entry>/password }}` aus dem Tresor, der in `VAULT` genannt ist, oder aus `Staging`.

{% hint style="warning" %}
`devo secret inject` schreibt die Werte im Klartext in seine Ausgabe. Siehe [Eine Konfigurationsdatei aus einer Vorlage füllen](/cli/de/anleitungen/secrets/fill-a-template.md).
{% endhint %}

## SecretSpec-Anbieter-URIs

SecretSpec verwendet keine Geheimnisreferenzen. In `secretspec.toml` verwendet es einen Anbieter-URI, der angibt, welchen Workspace Devolutions CLI lesen soll. Geben Sie den richtigen mit `devo secretspec uri` aus. Siehe [Devolutions CLI mit SecretSpec verwenden](/cli/de/anleitungen/secrets/secretspec.md).

<table><thead><tr><th width="330">ANBIETER-URI</th><th>WORKSPACE</th></tr></thead><tbody><tr><td><code>devo://cloud[/&#x3C;vault-id>][?context=&#x3C;name>]</code></td><td>Devolutions Cloud, über den Kontext <code>&#x3C;name></code>, oder der aktuelle Devolutions Cloud-Kontext ohne <code>?context=</code>.</td></tr><tr><td><code>devo://server[/&#x3C;vault-id>][?context=&#x3C;name>]</code></td><td>Devolutions Server, über den Kontext <code>&#x3C;name></code>, oder der aktuelle Devolutions Server-Kontext ohne <code>?context=</code>.</td></tr><tr><td><code>devo://sqlite[/&#x3C;vault-id>]?workspace=&#x3C;workspace-id></code></td><td>Ein lokaler Workspace von Devolutions Remote Desktop Manager. <code>?workspace=</code> ist erforderlich, mit einer Workspace-ID wie <code>sqlite:Connections.db</code>. <code>devo workspace current</code> zeigt sie.</td></tr></tbody></table>

`<vault-id>` ist optional: es setzt den Standardtresor, und jedes Geheimnis kann weiterhin seinen eigenen Tresor nennen.


---

# 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/referenz/secret-references.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.
