OpenClaw SecretRef: Anmeldedaten sicher konfigurieren
Jeder Entwickler kennt das: Man will seine API-Keys sicher verwalten, aber landet am Ende doch wieder bei einem Mix aus Umgebungsvariablen und manuellen Configs. Wenn du Ordnung in dein Secret-Management bringen willst, ist die SecretRef Credential Surface genau das Richtige für dich. Hier erfährst du, welche Credentials du über OpenClaw sicher handhaben kannst und wo das System bewusst Grenzen zieht.
Diese Seite definiert die offizielle SecretRef Credential Surface.
Scope-Absicht:
- Im Scope: Rein benutzergelieferte Credentials, die OpenClaw nicht selbst erstellt oder rotiert.
- Nicht im Scope: Zur Laufzeit erstellte oder rotierende Credentials, OAuth-Refresh-Material und Session-ähnliche Artefakte.
Unterstützte Credentials
Abschnitt betitelt „Unterstützte Credentials“openclaw.json targets (secrets configure + secrets apply + secrets audit)
Abschnitt betitelt „openclaw.json targets (secrets configure + secrets apply + secrets audit)“models.providers.*.apiKeymodels.providers.*.headers.*skills.entries.*.apiKeyagents.defaults.memorySearch.remote.apiKeyagents.list[].memorySearch.remote.apiKeytalk.apiKeytalk.providers.*.apiKeymessages.tts.providers.*.apiKeytools.web.fetch.firecrawl.apiKeyplugins.entries.brave.config.webSearch.apiKeyplugins.entries.google.config.webSearch.apiKeyplugins.entries.xai.config.webSearch.apiKeyplugins.entries.moonshot.config.webSearch.apiKeyplugins.entries.perplexity.config.webSearch.apiKeyplugins.entries.firecrawl.config.webSearch.apiKeyplugins.entries.tavily.config.webSearch.apiKeytools.web.search.apiKeytools.web.x_search.apiKeygateway.auth.passwordgateway.auth.tokengateway.remote.tokengateway.remote.passwordcron.webhookTokenchannels.telegram.botTokenchannels.telegram.webhookSecretchannels.telegram.accounts.*.botTokenchannels.telegram.accounts.*.webhookSecretchannels.slack.botTokenchannels.slack.appTokenchannels.slack.userTokenchannels.slack.signingSecretchannels.slack.accounts.*.botTokenchannels.slack.accounts.*.appTokenchannels.slack.accounts.*.userTokenchannels.slack.accounts.*.signingSecretchannels.discord.tokenchannels.discord.pluralkit.tokenchannels.discord.voice.tts.providers.*.apiKeychannels.discord.accounts.*.tokenchannels.discord.accounts.*.pluralkit.tokenchannels.discord.accounts.*.voice.tts.providers.*.apiKeychannels.irc.passwordchannels.irc.nickserv.passwordchannels.irc.accounts.*.passwordchannels.irc.accounts.*.nickserv.passwordchannels.bluebubbles.passwordchannels.bluebubbles.accounts.*.passwordchannels.feishu.appSecretchannels.feishu.encryptKeychannels.feishu.verificationTokenchannels.feishu.accounts.*.appSecretchannels.feishu.accounts.*.encryptKeychannels.feishu.accounts.*.verificationTokenchannels.msteams.appPasswordchannels.mattermost.botTokenchannels.mattermost.accounts.*.botTokenchannels.matrix.accessTokenchannels.matrix.passwordchannels.matrix.accounts.*.accessTokenchannels.matrix.accounts.*.passwordchannels.nextcloud-talk.botSecretchannels.nextcloud-talk.apiPasswordchannels.nextcloud-talk.accounts.*.botSecretchannels.nextcloud-talk.accounts.*.apiPasswordchannels.zalo.botTokenchannels.zalo.webhookSecretchannels.zalo.accounts.*.botTokenchannels.zalo.accounts.*.webhookSecretchannels.googlechat.serviceAccountvia siblingserviceAccountRef(compatibility exception)channels.googlechat.accounts.*.serviceAccountvia siblingserviceAccountRef(compatibility exception)
auth-profiles.json targets (secrets configure + secrets apply + secrets audit)
Abschnitt betitelt „auth-profiles.json targets (secrets configure + secrets apply + secrets audit)“profiles.*.keyRef(type: "api_key"; unsupported whenauth.profiles.<id>.mode = "oauth")profiles.*.tokenRef(type: "token"; unsupported whenauth.profiles.<id>.mode = "oauth")
Anmerkungen:
- Auth-Profile Plan-Targets benötigen eine
agentId. - Plan-Einträge zielen auf
profiles.*.key/profiles.*.tokenab und schreiben Sibling-Refs (keyRef/tokenRef). - Auth-Profile-Refs sind in der Runtime-Resolution und Audit-Coverage enthalten.
- OAuth Policy Guard:
auth.profiles.<id>.mode = "oauth"lässt sich nicht mit SecretRef-Inputs für dieses Profil kombinieren. Startup/Reload und Auth-Profile-Resolution schlagen sofort fehl, wenn diese Policy verletzt wird. - Für SecretRef-verwaltete Model-Provider speichern generierte
agents/*/agent/models.jsonEinträge Non-Secret-Marker (keine aufgelösten Secret-Werte) fürapiKey/Header-Surfaces. - Marker-Persistenz ist Source-Authoritative: OpenClaw schreibt Marker aus dem aktiven Source-Config-Snapshot (vor der Resolution), nicht aus den aufgelösten Runtime-Secret-Werten.
- Für Web Search:
- Im expliziten Provider-Modus (
tools.web.search.providergesetzt) ist nur der Key des gewählten Providers aktiv. - Im Auto-Modus (
tools.web.search.providernicht gesetzt) ist nur der erste Provider-Key aktiv, der nach Priorität aufgelöst wird. - Im Auto-Modus werden nicht gewählte Provider-Refs als inaktiv behandelt, bis sie ausgewählt werden.
- Legacy
tools.web.search.*Provider-Pfade werden während des Kompatibilitätsfensters noch aufgelöst, aber die offizielle SecretRef Surface istplugins.entries.<plugin>.config.webSearch.*.
- Im expliziten Provider-Modus (
Nicht unterstützte Credentials
Abschnitt betitelt „Nicht unterstützte Credentials“Credentials, die nicht im Scope liegen:
commands.ownerDisplaySecrethooks.tokenhooks.gmail.pushTokenhooks.mappings[].sessionKeyauth-profiles.oauth.*channels.discord.threadBindings.webhookTokenchannels.discord.accounts.*.threadBindings.webhookTokenchannels.whatsapp.creds.jsonchannels.whatsapp.accounts.*.creds.json
Begründung:
- Diese Credentials werden generiert, rotiert, sind Session-basiert oder gehören zu OAuth-Klassen. Sie passen nicht zum Read-only-Ansatz der externen SecretRef Resolution.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.