Zum Hauptinhalt springen
DokumentWorkflow erstellenZugangsdaten

Zugangsdaten

Speichern Sie API-Schlüssel sicher im Credential Center und verweisen Sie in Workflows darauf.

Credential Center ist die einheitliche Speicherung aller externen Systemschlüssel – OpenAI API Key, Slack Webhook, Stripe Secret, interner API-Authentifizierungsheader … sie alle sind hier platziert. Die Plattform verwendet AES-256-GCM zum Verschlüsseln der Datenbank und wird von Anfang bis Ende nicht in YAML-Exporten, Protokollen und Prüfereignissen angezeigt.

Warum ist es notwendig, zum Credential Center zu gehen?

Wenn Sie den Schlüssel bequem direkt in YAML schreiben möchten, treten drei Arten von Problemen auf:

  1. Leck — Beim Exportieren von YAML, der Git-Übermittlung und der Diff-Vorschau des KI-Assistenten wird der Klartextschlüssel angezeigt.
  2. Drehung nicht möglich — Wenn der Schlüssel widerrufen wird, muss jede YAML manuell geändert werden, was sehr leicht zu übersehen ist.
  3. Prüfung nicht möglich — Wenn ein Problem auftritt, weiß ich nicht, welcher Schlüssel bei welcher Ausführung verwendet wurde.

Credential Center hinterlässt nur „Referenzen“ in YAML und die tatsächlichen Werte werden zur Laufzeit in den entsprechenden Schritt eingefügt.

Der KI-Assistent verwendet diese Anmeldedaten

Die vollständige Konfiguration des KI-Assistenten finden Sie unter Kontoeinstellungen → KI-Assistent. Modelle, Prompts, Werkzeuge, Skills, MCP sowie Claude-Code-/Codex-Parameter werden dort verwaltet; diese Seite speichert persönliche und Team-Anmeldedaten.

Erstellen Sie einen Ausweis

  1. „Anmeldeinformationsverwaltung“ links → „Neue Anmeldeinformationen“ in der oberen rechten Ecke.
  2. Füllen Sie aus:
    • Name — Eine Kurzkennung, die nur aus Kleinbuchstaben + Unterstrich besteht und für Zitate in YAML verwendet wird. Beispiel: openai_mainslack_webhook_url
    • Typ — api_key / oauth_token / bot_token / webhook_secret / generic。类型决定平台在 UI 上怎么展示它,对解析逻辑影响不大。
    • Wert — Einmal geschrieben, kann es nicht mehr zurückgelesen werden.
    • Namespace — Einzelperson/Team (wenn Sie im Pro+-Paket einem Team angehören).
    • Beschreibung (optional) — Für Sie selbst oder Teammitglieder geschrieben, zum Beispiel: „Produktschlüssel des OpenAI-Projekts X“.
  3. Speichern. Die Plattform verschlüsselt die Datenbank sofort und zeigt sie in der Liste als an ****abc3 Diese Form der letzten Ziffern.
Werte können nur überschrieben, nicht zurückgelesen werden

Dies ist von Natur aus sicher – nicht einmal Plattformadministratoren können Ihre Anmeldedaten lesen. Wenn Sie den ursprünglichen Wert vergessen und ihn ändern müssen, können Sie ihn nur löschen und neu erstellen oder mit „Wert aktualisieren“ überschreiben.

Anmeldeinformationen in YAML zitieren

Für Agenten: Anbieterfeld

yaml
agents:
  writer:
    preset: writer
    overrides:
      model: gpt-4.1-mini
      provider: openai_main          # 凭据中心里的凭据名

provider: openai_main Sagen Sie dem Agenten: „Verwenden Sie beim Debuggen von LLM den Schlüssel mit dem Namen openai_main im Anmeldeinformationscenter.“ Die Plattform analysiert die Namespace-Reihenfolge und der erste Treffer wird wirksam.

Verwenden Sie für den Codeschritt: Anmeldeinformationsliste

yaml
- id: charge_customer
  type: code
  language: node
  credentials:
    - stripe_secret                  # 声明需要这两个凭据
    - internal_api_token
  code: |
    const stripe = require('stripe')(process.env.STRIPE_SECRET);
    const internal = await fetch('https://api.mycompany.com/invoice', {
      headers: { Authorization: 'Bearer ' + process.env.INTERNAL_API_TOKEN }
    });
    // ...

Beschreibung:

  • Nur diejenigen, die explizit in der Liste „credentials:“ deklariert sind, können gelesen werden – sie werden nicht an andere Schritte weitergegeben.
  • Nach dem Parsen wird es als Umgebungsvariable eingefügt: Anmeldeinformationsname openai_main → env var OPENAI_MAIN (SCREAMING_SNAKE_CASE).
  • In Process.env sind nur die deklarierten zu sehen; Andere Anmeldeinformationen im Anmeldeinformationscenter sind für diesen Code unsichtbar.

IM variablenausdruck referenziert

Einige Felder (z. B. Eingaben von sub_workflow) können direkt sein {{credentials.xxx}} Zitat:

yaml
- id: notify
  type: sub_workflow
  module: dingyue-module-slack-deliver
  inputs:
    slack_webhook_url: "{{credentials.slack_webhook_url}}"
    message_text: "..."

Wird auch in der Namespace-Reihenfolge analysiert. Der Anmeldeinformationswert wird nur wirksam, wenn der aktuelle Schritt ausgeführt wird, und wird nicht in den Ausführungs-Snapshot geschrieben.

Namespaces und Parsing-Reihenfolge

Der gleiche Name kann in verschiedenen Namensräumen existieren. Suchen Sie beim Ausführen in der folgenden Reihenfolge: erster Treffer, zuerst verwendet:

  1. persönlicher Namensraum — Wenn Sie es selbst erstellen, können nur Sie darauf verweisen.
  2. Team-Namespace — Es wird von Ihrem Team geteilt und kann von allen Mitgliedern referenziert werden. Nur der Teamadministrator kann erstellen/löschen.
Empfohlene Verwendung
  • Gemeinsamer Produktionsschlüssel (kostenpflichtiges Teamkonto) → Team-Namespace
  • Für Ihre eigenen Tests / Sie haben sich noch nicht entschieden, es dem Team hinzuzufügen → Persönlicher Namespace
  • Gemeinsam für das gesamte Team: Verwenden Sie auf beiden Ebenen denselben Namen (z. B. openai_main), und es besteht keine Notwendigkeit, ihn in YAML zu ändern. Sie verwenden beim Testen den persönlichen Namen und wechseln automatisch zum Teamnamen, wenn Sie online gehen.

Anbieter: Binden Sie mehrere Schlüssel an verschiedene Unternehmen

Wenn Sie mehrere Schlüssel (Test / Produkt / Team / Projekt X / Projekt Y) beim selben LLM-Anbieter (z. B. OpenAI) haben, können Sie:

  1. Erstellen Sie für jeden Schlüssel im Credential Center einen Schlüssel (Namensunterscheidung: openai_test / openai_prod_a / openai_prod_b).
  2. Das Feld overrides.provider des Agenten gibt an, welcher verwendet werden soll.
  3. Unterschiedliche Arbeitsabläufe können unterschiedliche Anbieter, aber dieselbe Voreinstellung verwenden, ohne die Agentendefinition zu kopieren.
yaml
agents:
  expensive:
    preset: universal
    overrides:
      model: claude-opus-4-7
      provider: anthropic_team_budget     # 团队有预算的那把

  cheap:
    preset: universal
    overrides:
      model: deepseek-v3-5
      provider: deepseek_personal         # 个人账户的

Anmeldeinformationen für Claude Code/Codex-Abonnement

Wenn der KI-Assistent oder Workflow-Agent das Abonnement-Kontingentmodell nutzt, erstellen Sie bitte den entsprechenden Anbieter in „Meine Zugangsdaten“:

  • claude_code_oauth — Das OAuth-Token, das Sie durch die Anmeldung mit Claude Code erhalten.
  • codex_subscription — Vollständiger Text von auth.json, der durch die Codex-CLI-Anmeldung generiert wurde.

Diese Werte werden nicht in der Konfiguration des Agenten/KI-Assistenten gespeichert, sondern nur vorübergehend zur Laufzeit in die entsprechende CLI eingefügt.

Rotation und Widerruf

Normale Rotation

  1. Anmeldeinformationscenter → Klicken Sie auf eine Anmeldeinformation → „Wert aktualisieren“.
  2. Geben Sie zum Speichern einen neuen Wert ein.
  3. Danach initiierte neue Ausführungen verwenden den neuen Wert; Laufende Ausführungen verwenden weiterhin den alten, beim Start zwischengespeicherten Wert.

Notfall-widerruf

Ich vermute, dass meine Zugangsdaten geleakt wurden und möchte sie sofort deaktivieren:

  1. Klicken Sie im Credential Center auf den Berechtigungsnachweis → „Löschen“.
  2. Alle Schritte, die darauf verweisen, schlagen bei der nächsten Ausführung sofort mit credential_not_found fehl.
  3. Gehen Sie dann zum Upstream-Anbieter (OpenAI / Anthropic...), um den echten Schlüssel zu widerrufen.
Ordnung ist wichtig

Löschen Sie es zuerst in Braidrun und gehen Sie dann zum Upstream, um es zu widerrufen. Wenn Sie es umgekehrt machen und es vor dem Löschen im Upstream widerrufen, schlägt die laufende Ausführung plötzlich in großer Zahl fehl.

Prüfung

Für jede Erstellung/Aktualisierung/Löschung/Fehlschlag der referenzierten Auflösung von Anmeldeinformationen wird ein Prüfprotokoll aufgezeichnet. Administratoren können zur Seite „Audit-Protokoll“ gehen, um credential_* nach event_type zu filtern und anzuzeigen.

Wenn die Referenzanalyse erfolgreich ist, wird kein Protokoll aufgezeichnet, um eine Protokollexplosion zu vermeiden. Aber die Metadaten „Welche Anmeldeinformationen wurden von dieser Ausführung geparst“ werden in den Details jeder Ausführung angezeigt.

FAQ

Kann ich stattdessen Umgebungsvariablen verwenden?

Technisch möglich (über die selbstbereitstellenden Umgebungsvariablen des Teams), aber nicht empfohlen:

  • Umgebungsvariablen sind global auf Prozessebene und können von „process.env“ in jedem Codeschritt gelesen werden. Credential Center injiziert nur die wenigen, die Sie angeben.
  • Für die Rotation der Umgebungsvariablen ist ein Neustart des Dienstes erforderlich, und die Änderungen im Credential Center werden sofort wirksam.
  • Umgebungsvariablen werden nicht geprüft.

Können Kollegen meine persönlichen Namespace-Anmeldeinformationen sehen?

Nein. Selbst der Teamadministrator kann nur das Vorhandensein der Anmeldeinformationen (in der Liste) sehen, aber den Wert nicht sehen oder in seinem eigenen Workflow darauf verweisen – die Laufzeitanalyse wird fehlschlagen.

OAuth Was tun mit der Aktualisierung?

Für gängige OAuth-Anbieter (Google / GitHub / Slack / Notion): restart_token wird im Anmeldeinformationscenter platziert und die access_token-Plattform wird automatisch aktualisiert. Bei anderen Anbietern müssen Sie einen langfristig gültigen Token in die Anmeldeinformationen einfügen oder den Aktualisierungscodeschritt selbst schreiben.

Nächster Schritt