CLI commands
Politika
openclaw policy
openclaw policy, paketle birlikte sunulan Policy Plugin tarafından sağlanır. Mevcut OpenClaw ayarlarının üzerinde çalışan kurumsal bir uygunluk katmanıdır; ikinci bir yapılandırma sistemi değildir. Gereksinimleri policy.jsonc içinde tanımlarsınız; OpenClaw etkin çalışma alanını kanıt olarak gözlemler; policy, sapmaları doctor --lint aracılığıyla bildirir. Policy, araç çağrılarını zorunlu kılmaz veya istek sırasında çalışma zamanı davranışını yeniden yazmaz ve auth-profiles.json gibi ajan başına kimlik bilgisi depolarını tasdik etmez.
Policy; yapılandırılmış kanalları, MCP sunucularını, model sağlayıcılarını, ağ SSRF duruşunu, giriş/kanal erişimini, Gateway erişilebilirliğini ve node komut duruşunu, ajan çalışma alanı erişimini, sandbox duruşunu, veri işleme duruşunu, gizli bilgi sağlayıcısı/kimlik doğrulama profili duruşunu ve yönetilen araç meta verilerini (TOOLS.md) denetler. Bir çalışma alanının "Telegram etkinleştirilmemelidir" veya "yönetilen araçlar risk ve sahip meta verilerini belirtmelidir" gibi kalıcı ve denetlenebilir bir beyana ihtiyaç duyduğu durumlarda kullanın. Tasdik veya sapma algılama olmadan yalnızca yerel davranışa ihtiyacınız varsa normal yapılandırma yeterlidir.
Hızlı başlangıç
openclaw plugins enable policyPlugin, policy.jsonc bulunmadığında da etkin kalır; böylece doctor, denetimleri sessizce atlamak yerine eksik yapıtı bildirebilir.
policy.jsonc dosyasını elle oluşturun; mevcut ayarlardan üretilmez. Her üst düzey bölüm bir kural ad alanıdır: denetim yalnızca altında somut bir kural bulunduğunda çalışır (desteklenmeyen bölümler veya anahtarlar sessizce yok sayılmak yerine policy/policy-jsonc-invalid hatasıyla başarısız olur). Desteklenen tüm bölümleri kapsayan en küçük örnek:
{ "channels": { "denyRules": [ { "id": "no-telegram", "when": { "provider": "telegram" }, "reason": "Telegram is not approved for this workspace.", }, ], }, "mcp": { "servers": { "allow": ["docs"], "deny": ["untrusted"], }, }, "models": { "providers": { "allow": ["openai", "anthropic"], "deny": ["openrouter"], }, }, "network": { "privateNetwork": { "allow": false, }, }, "ingress": { "session": { "requireDmScope": "per-channel-peer", }, "channels": { "allowDmPolicies": ["pairing", "allowlist", "disabled"], "denyOpenGroups": true, "requireMentionInGroups": true, }, }, "gateway": { "exposure": { "allowNonLoopbackBind": false, "allowTailscaleFunnel": false, }, "auth": { "requireAuth": true, "requireExplicitRateLimit": true, }, "controlUi": { "allowInsecure": false, }, "remote": { "allow": false, }, "http": { "denyEndpoints": ["chatCompletions", "responses"], "requireUrlAllowlists": true, }, "nodes": { "denyCommands": ["system.run"], }, }, "agents": { "workspace": { "allowedAccess": ["none", "ro"], "denyTools": ["exec", "process", "write", "edit", "apply_patch"], }, }, "dataHandling": { "sensitiveLogging": { "requireRedaction": true, }, "telemetry": { "denyContentCapture": true, }, "retention": { "requireSessionMaintenance": true, }, "memory": { "denySessionTranscriptIndexing": true, }, }, "secrets": { "requireManagedProviders": true, "denySources": ["exec"], "allowInsecureProviders": false, }, "auth": { "profiles": { "requireMetadata": ["provider", "mode"], "allowModes": ["api_key", "token"], }, }, "execApprovals": { "requireFile": true, "defaults": { "allowSecurity": ["deny"] }, "agents": { "allowSecurity": ["deny", "allowlist"], "allowAutoAllowSkills": false, "allowlist": { "expected": ["deploy", "status"] }, }, }, "tools": { "requireMetadata": ["risk", "sensitivity", "owner"], "profiles": { "allow": ["messaging", "minimal"], }, "fs": { "requireWorkspaceOnly": true, }, "exec": { "allowSecurity": ["deny", "allowlist"], "requireAsk": ["always"], "allowHosts": ["sandbox"], }, "elevated": { "allow": false, }, "denyTools": ["group:runtime", "group:fs"], },}Aşağıdaki kural tablolarından açıkça anlaşılmayan, birden fazla alanı ilgilendiren notlar:
- Geri döngü dışı bağlamaları reddederken
gateway.bindöğesini atlamak, çalışma zamanı varsayılanını kabul ettiğiniz anlamına gelir; katı uygunluk içingateway.bind: "loopback"ayarını yapın. - Salt okunur bir ajan için ilgili varsayılanlarda/ajanda sandbox
modedeğeriniallveyanon-main,workspaceAccessdeğerini isenoneveyaroolarak ayarlayın. Eksik veyaoffsandbox modu, salt okunur policy gereksinimini karşılamaz. agents.workspace.denyTools;exec,process,write,edit,apply_patchdeğerlerini kabul eder. Yapılandırmadaki araç reddetme gruplarıgroup:fs(dosya değiştirme) vegroup:runtime(kabuk/işlem), eşdeğer duruşu karşılar.- Çalıştırma onayı denetimleri, yalnızca bir
execApprovalskuralı mevcut olduğunda canlıexec-approvals.jsonyapıtını okur; eksik veya geçersiz bir yapıt, yapay bir başarılı sonuç değil, gözlemlenemeyen kanıttır. - Gizli bilgi ve kimlik doğrulama profili kanıt kayıtları yalnızca sağlayıcı/kaynak duruşunu ve SecretRef meta verilerini kaydeder; ham değerleri hiçbir zaman kaydetmez. Policy,
auth-profiles.jsongibi ajan başına kimlik bilgisi depolarını okumaz veya tasdik etmez. - Veri işleme kanıtı yalnızca yapılandırma düzeyindeki duruştur (maskeleme modu, telemetri yakalama anahtarı, oturum bakım modu, döküm indeksleme ayarı). Günlükleri, telemetri dışa aktarımlarını, dökümleri veya bellek dosyalarını incelemez ve temiz bir sonuç bunlarda kişisel veri veya gizli bilgi bulunmadığını kanıtlamaz.
Policy kural başvurusu
Aşağıdaki her kural isteğe bağlıdır; denetim yalnızca kural mevcut olduğunda çalışır. Gözlemlenen durum, mevcut OpenClaw yapılandırması veya çalışma alanı meta verileridir.
Kapsamlı katmanlar
Belirli ajanlar veya kanallar üst düzey taban çizgisinden daha katı bir policy gerektirdiğinde scopes.<scopeName> kullanın. Kapsam adı yalnızca bir etikettir; eşleştirme, kapsam içindeki seçiciyi kullanır. Katmanlar eklemelidir: genel kural çalışmaya devam eder ve kapsamlı kural aynı kanıta karşı kendi bulgusunu ekleyebilir.
| Seçici | Desteklenen bölümler | Kullanım durumu |
|---|---|---|
agentIds |
tools, agents.workspace, sandbox, dataHandling.memory, execApprovals |
Bir veya daha fazla çalışma zamanı ajanı daha katı kurallara ihtiyaç duyduğunda. |
channelIds |
ingress.channels |
Bir veya daha fazla kanal daha katı giriş kurallarına ihtiyaç duyduğunda. |
Bir agentIds girdisi agents.list[] içinde yoksa OpenClaw kapsamlı kuralı atlamak yerine o çalışma zamanı ajan kimliği için devralınan genel/varsayılan duruşa göre değerlendirir.
{ "tools": { "exec": { "allowHosts": ["sandbox", "node"], }, }, "sandbox": { "requireMode": ["all", "non-main"], }, "scopes": { "release-workspace": { "agentIds": ["release-agent", "review-agent"], "agents": { "workspace": { "allowedAccess": ["none", "ro"], }, }, }, "release-lockdown": { "agentIds": ["release-agent"], "tools": { "exec": { "allowHosts": ["sandbox"], "allowSecurity": ["deny", "allowlist"], "requireAsk": ["always"], }, "denyTools": ["exec", "process", "write", "edit", "apply_patch"], }, "sandbox": { "requireMode": ["all"], "allowBackends": ["docker"], }, "dataHandling": { "memory": { "denySessionTranscriptIndexing": true, }, }, }, "shell-sandbox": { "agentIds": ["shell-agent"], "sandbox": { "allowBackends": ["openshell"], "containers": { "requireReadOnlyMounts": false, }, }, }, "telegram-ingress": { "channelIds": ["telegram"], "ingress": { "channels": { "allowDmPolicies": ["pairing"], "denyOpenGroups": true, "requireMentionInGroups": true, }, }, }, },}Yukarıdaki gibi, her kapsam farklı bir alanı yönetiyorsa aynı ajan birden fazla kapsamda yer alabilir. Aynı ajan için yinelenen kapsamlı bir alan eşit derecede veya daha kısıtlayıcı olmalıdır; daha zayıf bir yinelenen beyan reddedilir (izin listeleri alt kümeler, ret listeleri üst kümeler olmalı; zorunlu Boolean değerleri sabittir).
Kapsayıcı duruş kuralları (sandbox.containers.*) yalnızca eşleşen ajanın sandbox arka ucunun sunabildiği kanıtlara göre denetlenir. Bir arka uç, kendisi için etkinleştirdiğiniz bir kuralı gözlemleyemiyorsa policy başarılı saymak yerine policy/sandbox-container-posture-unobservable bildirir; kapsayıcı kurallarını, bunları sunabilen bir arka uç kullanan ajan gruplarıyla kapsamlandırın.
Üst düzey ingress.session.requireDmScope genel kalır; session.dmScope kanala atfedilebilir bir kanıt olmadığından channelIds ile kapsamlandırılamaz.
policy.jsonc içinde bulunan her kapsam geçerli ve uygulanabilir olmalıdır.
Kanallar
| Policy alanı | Gözlemlenen durum | Kullanım durumu |
|---|---|---|
channels.denyRules[].when.provider |
channels.* sağlayıcısı ve etkinlik durumu |
telegram gibi bir sağlayıcının yapılandırılmış kanallarını reddetmek için. |
channels.denyRules[].reason |
Bulgu iletisi ve düzeltme ipucu bağlamı | Sağlayıcının neden reddedildiğini açıklamak için. |
MCP sunucuları
| Policy alanı | Gözlemlenen durum | Kullanım durumu |
|---|---|---|
mcp.servers.allow |
mcp.servers.* kimlikleri |
Yapılandırılmış her MCP sunucusunun bir izin listesinde bulunmasını zorunlu kılmak için. |
mcp.servers.deny |
mcp.servers.* kimlikleri |
Yapılandırılmış belirli MCP sunucu kimliklerini reddetmek için. |
Model sağlayıcıları
| Policy alanı | Gözlemlenen durum | Kullanım durumu |
|---|---|---|
models.providers.allow |
models.providers.* kimlikleri ve seçili model başvuruları |
Yapılandırılmış sağlayıcıların ve seçili model başvurularının onaylı sağlayıcıları kullanmasını zorunlu kılmak için. |
models.providers.deny |
models.providers.* kimlikleri ve seçili model başvuruları |
Yapılandırılmış sağlayıcıları ve seçili model başvurularını sağlayıcı kimliğine göre reddetmek için. |
Ağ
| Policy alanı | Gözlemlenen durum | Kullanım durumu |
|---|---|---|
network.privateNetwork.allow |
Özel ağ SSRF kaçış yolları | Özel ağ erişiminin devre dışı kalmasını zorunlu kılmak için false olarak ayarlayın. |
Giriş ve kanal erişimi
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
ingress.session.requireDmScope |
session.dmScope |
İncelenmiş bir doğrudan mesaj yalıtım kapsamını zorunlu kılın. |
ingress.channels.allowDmPolicies |
channels.*.dmPolicy ve eski kanal DM ilkesi alanları |
Yalnızca incelenmiş doğrudan mesaj kanal ilkelerine izin verin. |
ingress.channels.denyOpenGroups |
Kanal, hesap ve grup giriş ilkesi | Yapılandırılmış kanallar ve hesaplar için açık grup girişini reddedin. |
ingress.channels.requireMentionInGroups |
Kanal, hesap, grup, sunucu ve iç içe anma geçidi yapılandırması | Grup girişi açık veya anma geçitli olduğunda anma geçitlerini zorunlu kılın. |
Gateway
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
gateway.exposure.allowNonLoopbackBind |
gateway.bind |
Gateway'in local loopback adresine bağlanmasını zorunlu kılmak için false olarak ayarlayın. |
gateway.exposure.allowTailscaleFunnel |
Tailscale sunma/tünelleme Gateway duruşu | Tailscale Funnel erişimini reddetmek için false olarak ayarlayın. |
gateway.auth.requireAuth |
gateway.auth.mode |
Devre dışı bırakılmış Gateway kimlik doğrulamasını reddetmek için true olarak ayarlayın. |
gateway.auth.requireExplicitRateLimit |
gateway.auth.rateLimit |
Açık kimlik doğrulama hız sınırı yapılandırmasını zorunlu kılmak için true olarak ayarlayın. |
gateway.controlUi.allowInsecure |
Control UI güvensiz kimlik doğrulama/cihaz/kaynak geçişleri | Güvensiz Control UI erişim geçişlerini reddetmek için false olarak ayarlayın. |
gateway.remote.allow |
Uzak Gateway modu/yapılandırması | Uzak Gateway modunu reddetmek için false olarak ayarlayın. |
gateway.http.denyEndpoints |
Gateway HTTP API uç noktaları | chatCompletions veya responses gibi uç nokta kimliklerini reddedin. |
gateway.http.requireUrlAllowlists |
Gateway HTTP URL getirme girdileri | URL getirme girdilerinde URL izin listelerini zorunlu kılmak için true olarak ayarlayın. |
gateway.nodes.denyCommands |
gateway.nodes.denyCommands |
system.run gibi tam Node komut kimliklerinin OpenClaw yapılandırmasında reddedilmesini zorunlu kılın. |
gateway.nodes.denyCommands, tam eşleşmeye ve büyük/küçük harfe duyarlı bir
reddetme üst kümesi kuralıdır. İlkenin, ayrıcalıklı Node komutlarının OpenClaw
yapılandırması tarafından açıkça reddedildiğini kanıtlaması gerektiğinde bunu
kullanın. Ayrıcalıklı bir Node komutuna kasıtlı olarak izin veren bir dağıtım,
yalnızca gateway.nodes.allowCommands seçeneğine güvenmek yerine inceleme
sonrasında policy.jsonc dosyasını güncellemelidir.
Aracı çalışma alanı
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
agents.workspace.allowedAccess |
agents.defaults.sandbox.workspaceAccess ve agents.list[].sandbox.workspaceAccess |
Yalnızca none veya ro gibi sandbox çalışma alanı erişim değerlerine izin verin. |
agents.workspace.denyTools |
Genel ve aracı başına araç reddetme yapılandırması | Değişiklik araçlarının (exec, process, write, edit, apply_patch) reddedilmesini zorunlu kılın. |
Sandbox duruşu
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
sandbox.requireMode |
agents.defaults.sandbox.mode ve aracı başına mod |
Yalnızca all veya non-main gibi incelenmiş sandbox modlarına izin verin. |
sandbox.allowBackends |
agents.defaults.sandbox.backend ve aracı başına arka uç |
Yalnızca docker gibi incelenmiş sandbox arka uçlarına izin verin. |
sandbox.containers.denyHostNetwork |
Kapsayıcı destekli sandbox/tarayıcı ağ modu | Ana makine ağ modunu reddedin. |
sandbox.containers.denyContainerNamespaceJoin |
Kapsayıcı destekli sandbox/tarayıcı ağ modu | Başka bir kapsayıcının ağ ad alanına katılmayı reddedin. |
sandbox.containers.requireReadOnlyMounts |
Kapsayıcı destekli sandbox/tarayıcı bağlama modu | Bağlamaların salt okunur olmasını zorunlu kılın. |
sandbox.containers.denyContainerRuntimeSocketMounts |
Kapsayıcı destekli sandbox/tarayıcı bağlama hedefleri | Kapsayıcı çalışma zamanı soketi bağlamalarını reddedin. |
sandbox.containers.denyUnconfinedProfiles |
Kapsayıcı güvenlik profili duruşu | Sınırlandırılmamış kapsayıcı güvenlik profillerini reddedin. |
sandbox.browser.requireCdpSourceRange |
Sandbox tarayıcı CDP kaynak aralığı | Tarayıcı CDP erişiminin bir kaynak aralığı bildirmesini zorunlu kılın. |
İlke, eksik sandbox.mode değerini örtük varsayılanı olan off şeklinde ele
alır; bu nedenle sandbox.requireMode, yeni veya yapılandırılmamış bir sandbox'ı
["all"] gibi bir izin listesinin dışında olarak bildirir.
Veri İşleme
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
dataHandling.sensitiveLogging.requireRedaction |
logging.redactSensitive |
logging.redactSensitive: "off" değerini reddetmek için true olarak ayarlayın. |
dataHandling.telemetry.denyContentCapture |
diagnostics.otel.captureContent |
Telemetri içerik yakalamayı reddetmek için true olarak ayarlayın. |
dataHandling.retention.requireSessionMaintenance |
session.maintenance.mode |
Etkin oturum bakım modu enforce değerini zorunlu kılmak için true olarak ayarlayın. |
dataHandling.memory.denySessionTranscriptIndexing |
memory.qmd.sessions.enabled ve agents.*.memorySearch.experimental.sessionMemory |
Oturum dökümlerinin bellekte dizinlenmesini reddetmek için true olarak ayarlayın. |
Gizli değerler
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
secrets.requireManagedProviders |
Yapılandırma SecretRef'leri ve secrets.providers.* bildirimleri |
SecretRef'lerin bildirilmiş sağlayıcılara işaret etmesini zorunlu kılmak için true olarak ayarlayın. |
secrets.denySources |
Gizli değer sağlayıcısı kaynakları ve SecretRef kaynakları | exec, file veya yapılandırılmış başka bir kaynak adı gibi kaynakları reddedin. |
secrets.allowInsecureProviders |
Güvensiz gizli değer sağlayıcısı duruş bayrakları | Güvensiz duruşu etkinleştiren sağlayıcıları reddetmek için false olarak ayarlayın. |
Exec onayları
Exec onayı denetimleri, çalışma zamanı exec-approvals.json yapıtını okur:
varsayılan olarak ~/.openclaw/exec-approvals.json veya OPENCLAW_STATE_DIR
ayarlandığında $OPENCLAW_STATE_DIR/exec-approvals.json.
execApprovals.defaults.* veya execApprovals.agents.* altındaki duruş
kuralları, okunabilir yapıt kanıtı gerektirir; eksik veya geçersiz bir yapıt,
en iyi çabaya dayalı bir başarı yerine gözlemlenemeyen kanıt olarak bildirilir.
Yapıt okunabilir olduğunda, atlanmış alanlar çalışma zamanı varsayılanlarını
devralır: eksik defaults.security değeri full olur ve eksik aracı güvenliği
bu varsayılanı devralır. Kanıt; defaults, agents.*,
agents.*.allowlist[].pattern, isteğe bağlı argPattern, etkin
autoAllowSkills duruşu ve giriş kaynağını içerir; soket yolu/belirteci,
commandText, lastUsedCommand, çözümlenmiş yollar veya zaman damgalarını
asla içermez.
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
execApprovals.requireFile |
Etkin çalışma zamanı exec-approvals.json yolu |
Onay yapıtının mevcut olmasını ve ayrıştırılabilmesini zorunlu kılmak için true olarak ayarlayın. |
execApprovals.defaults.allowSecurity |
defaults.security; varsayılanı full |
Yalnızca onaylanmış varsayılan onay güvenliği modlarına izin verin. |
execApprovals.agents.allowSecurity |
agents.*.security; varsayılanları devralır |
Yalnızca aracı başına onaylanmış etkin onay güvenliği modlarına izin verin. |
execApprovals.agents.allowAutoAllowSkills |
defaults.autoAllowSkills ve agents.*.autoAllowSkills; çalışma zamanı varsayılanlarını devralır |
Örtük Skills CLI onayı olmadan katı manuel izin listelerini zorunlu kılmak için false olarak ayarlayın. |
execApprovals.agents.allowlist.expected |
Toplu agents.*.allowlist[] kalıbı ve isteğe bağlı argPattern girdileri |
Onay izin listesinin incelenmiş kalıp kümesiyle eşleşmesini zorunlu kılın. |
Örnek: onay yapıtını zorunlu kılın, izin verici varsayılanları reddedin ve yalnızca seçilen aracılar için incelenmiş Exec onayı duruşuna izin verin.
{ "execApprovals": { "requireFile": true, "defaults": { // Güvenlik modları: "deny", "allowlist" veya "full". // Bu varsayılan yalnızca sıkı biçimde kısıtlanmış deny duruşuna izin verir. "allowSecurity": ["deny"], }, }, "scopes": { "restricted-shell": { "agentIds": ["family-agent", "groups-agent"], "execApprovals": { "agents": { // Seçilen aracılar, gözden geçirilmiş allowlist duruşunu kullanabilir ancak "full" kullanamaz. "allowSecurity": ["allowlist"], // false, Skills CLI'larının autoAllowSkills tarafından örtük olarak onaylanmak yerine // gözden geçirilmiş allowlist içinde bulunması gerektiği anlamına gelir. "allowAutoAllowSkills": false, "allowlist": { "expected": [ // Basit girdi: argPattern içermeyen, gözden geçirilmiş tam çalıştırılabilir dosya kalıbı. "travel-hub", // Kısıtlı girdi: kalıp ile gözden geçirilmiş bağımsız değişken düzenli ifadesi. { "pattern": "calendar-cli", "argPattern": "^sync\\b" }, "/bin/date", ], }, }, }, }, },}Kimlik doğrulama profilleri
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
auth.profiles.requireMetadata |
auth.profiles.* sağlayıcı ve mod meta verileri |
Yapılandırmadaki kimlik doğrulama profillerinde provider ve mode gibi meta veri anahtarlarını zorunlu kılın. |
auth.profiles.allowModes |
auth.profiles.*.mode |
Yalnızca api_key, aws-sdk, oauth veya token gibi desteklenen kimlik doğrulama profili modlarına izin verin. |
Araç meta verileri
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
tools.requireMetadata |
Yönetilen TOOLS.md bildirimleri |
Yönetilen araçların risk, sensitivity veya owner gibi meta veri anahtarlarını bildirmesini zorunlu kılın. |
Araç duruşu
| İlke alanı | Gözlemlenen durum | Kullanım amacı |
|---|---|---|
tools.profiles.allow |
tools.profile ve agents.list[].tools.profile |
Yalnızca minimal, messaging veya coding gibi araç profili kimliklerine izin verin. |
tools.fs.requireWorkspaceOnly |
tools.fs.workspaceOnly ve aracı başına tools.fs geçersiz kılmaları |
Yalnızca çalışma alanıyla sınırlı dosya sistemi aracı duruşunu zorunlu kılmak için true olarak ayarlayın. |
tools.exec.allowSecurity |
tools.exec.security ve aracı başına exec güvenliği |
Yalnızca deny veya allowlist gibi exec güvenlik modlarına izin verin. |
tools.exec.requireAsk |
tools.exec.ask ve aracı başına exec isteme modu |
always gibi bir onay duruşunu zorunlu kılın. |
tools.exec.allowHosts |
tools.exec.host ve aracı başına exec ana makine yönlendirmesi |
Yalnızca sandbox gibi exec ana makine yönlendirme modlarına izin verin. |
tools.elevated.allow |
tools.elevated.enabled ve aracı başına yükseltilmiş duruş |
Yükseltilmiş araç modunun devre dışı kalmasını zorunlu kılmak için false olarak ayarlayın. |
tools.alsoAllow.expected |
tools.alsoAllow ve aracı başına tools.alsoAllow |
Tam alsoAllow girdilerini zorunlu kılın ve eksik ya da beklenmeyen ek araç izinlerini bildirin. |
tools.denyTools |
tools.deny ve agents.list[].tools.deny |
Yapılandırılmış araç engelleme listelerinin group:runtime ve group:fs gibi araç kimliklerini veya gruplarını içermesini zorunlu kılın. |
Denetimleri çalıştırma
Yazım sırasında yalnızca ilke denetimlerini çalıştırın:
openclaw policy checkopenclaw policy check --jsonopenclaw policy check --severity-min errorpolicy check yalnızca ilke denetimi kümesini çalıştırır ve kanıtları, bulguları
ve doğrulama karmalarını üretir. Aynı bulgular, Policy Plugin
etkinleştirildiğinde openclaw doctor --lint içinde de görünür.
Bir operatör ilke dosyasını yazılmış bir temel değerle karşılaştırın:
openclaw policy compare --baseline official.policy.jsoncopenclaw policy compare --baseline official.policy.jsonc --policy policy.jsonc --jsonpolicy compare, ilke dosyası sözdizimini ilke dosyası sözdizimiyle karşılaştırır;
çalışma zamanı durumunu, kanıtları, kimlik bilgilerini veya gizli bilgileri incelemez.
Kapsamlı katmanları yöneten aynı kural meta verilerini kullanır: izin listeleri aynı
kalmalı veya daralmalı, engelleme listeleri aynı kalmalı veya genişlemeli, zorunlu
Boole değerleri kendi değerlerini korumalı, sıralı dizeler yalnızca yapılandırılmış
sıranın daha katı ucuna doğru ilerleyebilmeli ve tam listeler eşleşmelidir. Temel değer,
kuruluş tarafından yazılmış bir ilke olabilir; denetlenen ilke daha katı değerler veya
ek kurallar ekleyebilir. Üst düzey bir denetlenen kural, eşit veya daha kısıtlayıcıysa
kapsamlı bir temel değer kuralını karşılayabilir. Kapsam adlarının dosyalar arasında
eşleşmesi gerekmez; karşılaştırma, seçiciye (agentIds/channelIds) ve alana göre
anahtarlanır.
Temiz karşılaştırma (--json):
{ "ok": true, "baselinePath": "official.policy.jsonc", "policyPath": "policy.jsonc", "rulesChecked": 3, "findings": []}Temiz policy check --json çıktısı, bir operatörün veya
denetleyicinin kaydedebileceği kararlı karmaları içerir:
{ "ok": true, "attestation": { "policy": { "path": "policy.jsonc", "hash": "sha256:..." }, "workspace": { "scope": "policy", "hash": "sha256:..." }, "findingsHash": "sha256:...", "attestationHash": "sha256:..." }, "checksRun": 5, "checksSkipped": 0, "findings": []}İlkeyi yapılandırma
İlke yapılandırması plugins.entries.policy.config altında bulunur.
{ "plugins": { "entries": { "policy": { "enabled": true, "config": { "enabled": true, "path": "policy.jsonc", "workspaceRepairs": false, "expectedHash": "sha256:...", "expectedAttestationHash": "sha256:...", }, }, }, },}| Ayar | Amaç |
|---|---|
enabled |
policy.jsonc henüz mevcut olmasa bile ilke denetimlerini etkinleştirin. |
workspaceRepairs |
doctor --fix komutunun ilke tarafından yönetilen çalışma alanı ayarlarını düzenlemesine izin verin. |
expectedHash |
Onaylanan ilke yapıtı için isteğe bağlı karma kilidi. |
expectedAttestationHash |
Son kabul edilen temiz ilke denetimi için isteğe bağlı karma kilidi. |
path |
İlke yapıtının çalışma alanına göreli konumu. |
Plugin kurulu kalırken bir çalışma alanındaki ilke
denetimlerini devre dışı bırakmak için plugins.entries.policy.config.enabled
değerini false olarak ayarlayın.
İlke durumunu kabul etme
Örnek JSON çıktısı:
{ "ok": true, "attestation": { "checkedAt": "2026-05-10T20:00:00.000Z", "policy": { "path": "policy.jsonc", "hash": "sha256:..." }, "workspace": { "scope": "policy", "hash": "sha256:..." }, "findingsHash": "sha256:...", "attestationHash": "sha256:..." }, "evidence": { "channels": [ { "id": "telegram", "provider": "telegram", "source": "oc://openclaw.config/channels/telegram", "enabled": false } ], "mcpServers": [ { "id": "docs", "transport": "stdio", "source": "oc://openclaw.config/mcp/servers/docs", "command": "npx" } ], "modelProviders": [ { "id": "openai", "source": "oc://openclaw.config/models/providers/openai" } ], "modelRefs": [ { "ref": "openai/gpt-5.6-sol", "provider": "openai", "model": "gpt-5.6-sol", "source": "oc://openclaw.config/agents/defaults/model" } ], "network": [ { "id": "browser-private-network", "source": "oc://openclaw.config/browser/ssrfPolicy/dangerouslyAllowPrivateNetwork", "value": false } ], "gatewayExposure": [ { "id": "gateway-bind", "kind": "bind", "source": "oc://openclaw.config/gateway/bind", "value": "loopback", "nonLoopback": false, "explicit": true } ], "agentWorkspace": [ { "id": "agents-defaults-workspace-access", "kind": "workspaceAccess", "source": "oc://openclaw.config/agents/defaults/sandbox/workspaceAccess", "scope": "defaults", "value": "ro", "sandboxMode": "all", "sandboxModeSource": "oc://openclaw.config/agents/defaults/sandbox/mode", "sandboxEnabled": true, "explicit": true }, { "id": "agents-defaults-tool-exec", "kind": "toolDeny", "source": "oc://openclaw.config/tools/deny", "scope": "defaults", "tool": "exec", "denied": true, "explicit": true } ], "secrets": [ { "id": "vault", "kind": "provider", "source": "oc://openclaw.config/secrets/providers/vault", "providerSource": "env" }, { "id": "oc://openclaw.config/models/providers/openai/apiKey", "kind": "input", "source": "oc://openclaw.config/models/providers/openai/apiKey", "provenance": "secretRef", "refSource": "env", "refProvider": "vault" } ], "authProfiles": [ { "id": "github", "source": "oc://openclaw.config/auth/profiles/github", "validMetadata": true, "provider": "github", "mode": "token" } ], "tools": [ { "id": "deploy", "source": "oc://TOOLS.md/tools/deploy", "line": 12, "risk": "critical", "sensitivity": "restricted", "capabilities": ["IRREVERSIBLE_EXTERNAL"] } ] }, "checksRun": 30, "checksSkipped": 0, "findings": []}attestation.policy.hash, yazılmış kural yapıtını tanımlar. evidence,
denetimler tarafından kullanılan gözlemlenmiş OpenClaw durumunu kaydeder ve
workspace.hash bu kanıt yükünü tanımlar. findingsHash, tam bulgu
kümesini tanımlar. checkedAt, denetimin ne zaman çalıştığını kaydeder.
attestationHash, kararlı iddiayı (ilke karması, kanıt karması,
bulgular karması ve temiz/kirli durum) tanımlar ve checkedAt değerini
bilerek hariç tutar; böylece aynı ilke durumu her zaman aynı doğrulama
karmasını üretir. Bu dört değer birlikte tek bir ilke denetiminin denetim
demetini oluşturur.
Bir Gateway veya denetleyici, çalışma zamanı eylemini engellemek, onaylamak
veya açıklama eklemek için ilke kullanıyorsa son temiz denetimin doğrulama
karmasını kaydetmelidir. checkedAt, denetim günlükleri için JSON çıktısında
kalır ancak kararlı karmanın parçası değildir.
İlke durumunu kabul etme yaşam döngüsü:
policy.jsoncdosyasını yazın veya gözden geçirin.openclaw policy check --jsonkomutunu çalıştırın.- Temizse
attestation.policy.hashdeğeriniexpectedHasholarak kaydedin. attestation.attestationHashdeğeriniexpectedAttestationHasholarak kaydedin.- CI veya sürüm kapılarında
openclaw doctor --lintkomutunu yeniden çalıştırın.
Politika kuralları kasıtlı olarak değişirse temiz bir denetimden elde edilen
kabul edilmiş iki hash'i de güncelleyin. Yalnızca çalışma alanı ayarları değişirse
(politika aynı kalırsa), genellikle yalnızca expectedAttestationHash değişir.
agents.workspace kurallarını etkinleştirmek veya yükseltmek, çalışma alanı
hash'ine ve tasdik hash'ine agentWorkspace kanıtı ekler; etkinleştirdikten sonra
yeni kanıtı inceleyin ve kabul edilmiş tasdik hash'lerini yenileyin. Araç duruşu
kurallarını etkinleştirmek veya yükseltmek de aynı şekilde toolPosture kanıtı ekler.
openclaw policy watch, denetimi yeniden çalıştırır ve mevcut kanıt artık
expectedAttestationHash ile eşleşmediğinde bunu bildirir:
openclaw policy watch --jsonTek bir sapma değerlendirmesi gerektiren CI veya betiklerde --once kullanın.
--once olmadan varsayılan olarak iki saniyede bir yoklama yapar; aralığı
değiştirmek için --interval-ms kullanın.
Bulgular
| Denetim kimliği | Bulgu |
|---|---|
policy/policy-jsonc-missing |
Politika etkin ancak policy.jsonc eksik. |
policy/policy-jsonc-invalid |
Politika ayrıştırılamıyor veya hatalı biçimlendirilmiş kural girdileri içeriyor. |
policy/policy-hash-mismatch |
Politika, yapılandırılmış expectedHash ile eşleşmiyor. |
policy/attestation-hash-mismatch |
Mevcut politika kanıtı artık kabul edilmiş tasdikle eşleşmiyor. |
policy/policy-conformance-invalid |
Bir temel veya denetlenen politika dosyası geçersiz karşılaştırma söz dizimine sahip. |
policy/policy-conformance-missing |
Denetlenen politika dosyasında temel politika dosyasının gerektirdiği bir kural eksik. |
policy/policy-conformance-weaker |
Denetlenen politika dosyasındaki bir değer temel politika dosyasındakinden daha zayıf. |
policy/channels-denied-provider |
Etkin bir kanal, kanal reddetme kuralıyla eşleşiyor. |
policy/mcp-denied-server |
Yapılandırılmış bir MCP sunucusu politika tarafından reddediliyor. |
policy/mcp-unapproved-server |
Yapılandırılmış bir MCP sunucusu izin listesinin dışında. |
policy/models-denied-provider |
Yapılandırılmış bir model sağlayıcısı veya model başvurusu, reddedilen bir sağlayıcı kullanıyor. |
policy/models-unapproved-provider |
Yapılandırılmış bir model sağlayıcısı veya model başvurusu izin listesinin dışında. |
policy/network-private-access-enabled |
Politika reddettiği hâlde özel ağ SSRF kaçış mekanizması etkin. |
policy/ingress-dm-policy-unapproved |
Bir kanal DM politikası, politika izin listesinin dışında. |
policy/ingress-dm-scope-unapproved |
session.dmScope, politikanın gerektirdiği DM yalıtım kapsamıyla eşleşmiyor. |
policy/ingress-open-groups-denied |
Politika açık grup girişini reddettiği hâlde bir kanal grup politikası open. |
policy/ingress-group-mention-required |
Politika gerektirdiği hâlde bir kanal veya grup girdisi bahsetme geçitlerini devre dışı bırakıyor. |
policy/gateway-non-loopback-bind |
Politika reddettiği hâlde Gateway bağlama duruşu, döngüsel olmayan arabirimlere açılmaya izin veriyor. |
policy/gateway-auth-disabled |
Politika kimlik doğrulamayı gerektirdiği hâlde Gateway kimlik doğrulaması devre dışı. |
policy/gateway-rate-limit-missing |
Politika gerektirdiği hâlde Gateway kimlik doğrulama hız sınırı duruşu açıkça belirtilmemiş. |
policy/gateway-control-ui-insecure |
Gateway Denetim Arayüzü'nün güvenli olmayan erişim anahtarları etkin. |
policy/gateway-tailscale-funnel |
Politika reddettiği hâlde Gateway Tailscale Funnel erişimi etkin. |
policy/gateway-remote-enabled |
Politika reddettiği hâlde Gateway uzak modu etkin. |
policy/gateway-http-endpoint-enabled |
Politika tarafından reddedildiği hâlde bir Gateway HTTP API uç noktası etkin. |
policy/gateway-http-url-fetch-unrestricted |
Gateway HTTP URL getirme girdisinde gerekli URL izin listesi yok. |
policy/gateway-node-command-denied |
Politika tarafından reddedilen bir Node komutu, OpenClaw yapılandırması tarafından reddedilmiyor. |
policy/agents-workspace-access-denied |
Ajan korumalı alan modu veya çalışma alanı erişimi, politika izin listesinin dışında. |
policy/agents-tool-not-denied |
Bir ajan veya varsayılan yapılandırma, politikanın reddedilmesini gerektirdiği bir aracı reddetmiyor. |
policy/tools-profile-unapproved |
Yapılandırılmış genel veya ajan başına araç profili izin listesinin dışında. |
policy/tools-fs-workspace-only-required |
Dosya sistemi araçları yalnızca çalışma alanı yolu duruşuyla yapılandırılmamış. |
policy/tools-exec-security-unapproved |
Yürütme güvenlik modu, politika izin listesinin dışında. |
policy/tools-exec-ask-unapproved |
Yürütme sorma modu, politika izin listesinin dışında. |
policy/tools-exec-host-unapproved |
Yürütme ana makine yönlendirmesi, politika izin listesinin dışında. |
policy/tools-elevated-enabled |
Politika reddettiği hâlde yükseltilmiş araç modu etkin. |
policy/tools-also-allow-missing |
Yapılandırılmış bir alsoAllow listesinde politikanın gerektirdiği bir girdi eksik. |
policy/tools-also-allow-unexpected |
Yapılandırılmış bir alsoAllow listesi, politikanın beklemediği bir girdi içeriyor. |
policy/tools-required-deny-missing |
Genel veya ajan başına araç reddetme listesi, reddedilmesi gereken bir aracı içermiyor. |
policy/sandbox-mode-unapproved |
Korumalı alan modu, politika izin listesinin dışında. |
policy/sandbox-backend-unapproved |
Korumalı alan arka ucu, politika izin listesinin dışında. |
policy/sandbox-container-posture-unobservable |
Bir kapsayıcı duruşu kuralı, bunu gözlemleyemeyen bir arka uç için etkin. |
policy/sandbox-container-host-network-denied |
Kapsayıcı tabanlı bir korumalı alan veya tarayıcı, ana makine ağ modunu kullanıyor. |
policy/sandbox-container-namespace-join-denied |
Kapsayıcı tabanlı bir korumalı alan veya tarayıcı başka bir kapsayıcının ad alanına katılıyor. |
policy/sandbox-container-mount-mode-required |
Kapsayıcı tabanlı bir korumalı alan veya tarayıcı bağlama noktası salt okunur değil. |
policy/sandbox-container-runtime-socket-mount |
Kapsayıcı tabanlı bir korumalı alan veya tarayıcı bağlama noktası, kapsayıcı çalışma zamanı yuvasını açığa çıkarıyor. |
policy/sandbox-container-unconfined-profile |
Politika reddettiği hâlde kapsayıcı korumalı alan profili sınırsız. |
policy/sandbox-browser-cdp-source-range-missing |
Politika gerektirdiği hâlde korumalı alan tarayıcısının CDP kaynak aralığı eksik. |
policy/data-handling-redaction-disabled |
Politika gerektirdiği hâlde hassas günlük kaydı maskelemesi devre dışı. |
policy/data-handling-telemetry-content-capture |
Politika reddettiği hâlde telemetri içerik yakalama etkin. |
policy/data-handling-session-retention-not-enforced |
Politika gerektirdiği hâlde oturum saklama bakımı uygulanmıyor. |
policy/data-handling-session-transcript-memory-enabled |
Politika reddettiği hâlde oturum dökümü bellek dizinleme etkin. |
policy/secrets-unmanaged-provider |
Bir yapılandırma SecretRef'i, secrets.providers altında bildirilmemiş bir sağlayıcıya başvuruyor. |
policy/secrets-denied-provider-source |
Bir yapılandırma gizli bilgi sağlayıcısı veya SecretRef, politika tarafından reddedilen bir kaynak kullanıyor. |
policy/secrets-insecure-provider |
Politika reddettiği hâlde bir gizli bilgi sağlayıcısı güvenli olmayan duruşu seçiyor. |
policy/auth-profile-invalid-metadata |
Bir yapılandırma kimlik doğrulama profilinde geçerli sağlayıcı veya mod meta verisi eksik. |
policy/auth-profile-unapproved-mode |
Bir yapılandırma kimlik doğrulama profili modu, politika izin listesinin dışında. |
policy/exec-approvals-missing |
Politika exec-approvals.json gerektiriyor ancak yapıt eksik. |
policy/exec-approvals-invalid |
Yapılandırılmış yürütme onayları yapıtı ayrıştırılamıyor. |
policy/exec-approvals-default-security-unapproved |
Yürütme onayı varsayılanları, politika izin listesinin dışındaki bir güvenlik modunu kullanıyor. |
policy/exec-approvals-agent-security-unapproved |
Ajan başına geçerli yürütme onayı güvenlik modu, izin listesinin dışında. |
policy/exec-approvals-auto-allow-skills-enabled |
Politika reddettiği hâlde bir yürütme onayı ajanı, Skills CLI'larına örtük olarak otomatik izin veriyor. |
policy/exec-approvals-allowlist-missing |
Onaylar izin listesinde politikanın gerektirdiği bir desen eksik. |
policy/exec-approvals-allowlist-unexpected |
Onaylar izin listesi, politikanın beklemediği bir desen içeriyor. |
policy/tools-missing-risk-level |
Yönetilen bir araç bildiriminde risk meta verisi eksik. |
policy/tools-unknown-risk-level |
Yönetilen bir araç bildirimi bilinmeyen bir risk değeri kullanıyor. |
policy/tools-missing-sensitivity-token |
Yönetilen bir araç bildiriminde hassasiyet meta verisi eksik. |
policy/tools-missing-owner |
Yönetilen bir araç bildiriminde sahip meta verisi eksik. |
policy/tools-unknown-sensitivity-token |
Yönetilen bir araç bildirimi bilinmeyen bir hassasiyet değeri kullanıyor. |
Bir bulgu hem target (uyumsuzluk gösteren gözlemlenmiş çalışma alanı öğesi)
hem de requirement (bunun bulgu sayılmasına neden olan yazılmış kural)
içerebilir. Günümüzde ikisi de oc:// adres dizeleridir ancak alan adları,
adres biçiminden ziyade politika rolünü tanımlar.
Örnek bulgular:
{ "checkId": "policy/channels-denied-provider", "severity": "error", "message": "Channel 'telegram' uses denied provider 'telegram'.", "source": "policy", "path": "openclaw config", "ocPath": "oc://openclaw.config/channels/telegram", "target": "oc://openclaw.config/channels/telegram", "requirement": "oc://policy.jsonc/channels/denyRules/#0", "fixHint": "Telegram is not approved for this workspace."}{ "checkId": "policy/tools-missing-risk-level", "severity": "error", "message": "TOOLS.md tool 'deploy' has no explicit risk classification.", "source": "policy", "path": "TOOLS.md", "line": 12, "ocPath": "oc://TOOLS.md/tools/deploy", "target": "oc://TOOLS.md/tools/deploy", "requirement": "oc://policy.jsonc/tools/requireMetadata"}{ "checkId": "policy/mcp-unapproved-server", "severity": "error", "message": "MCP server 'remote' is not in the policy allowlist.", "source": "policy", "path": "openclaw config", "ocPath": "oc://openclaw.config/mcp/servers/remote", "target": "oc://openclaw.config/mcp/servers/remote", "requirement": "oc://policy.jsonc/mcp/servers/allow"}{ "checkId": "policy/models-unapproved-provider", "severity": "error", "message": "Model ref 'anthropic/claude-sonnet-4.7' uses unapproved provider 'anthropic'.", "source": "policy", "path": "openclaw config", "ocPath": "oc://openclaw.config/agents/defaults/model/fallbacks/#0", "target": "oc://openclaw.config/agents/defaults/model/fallbacks/#0", "requirement": "oc://policy.jsonc/models/providers/allow"}{ "checkId": "policy/network-private-access-enabled", "severity": "error", "message": "Network setting 'browser-private-network' allows private-network access.", "source": "policy", "path": "openclaw config", "ocPath": "oc://openclaw.config/browser/ssrfPolicy/dangerouslyAllowPrivateNetwork", "target": "oc://openclaw.config/browser/ssrfPolicy/dangerouslyAllowPrivateNetwork", "requirement": "oc://policy.jsonc/network/privateNetwork/allow"}{ "checkId": "policy/gateway-non-loopback-bind", "severity": "error", "message": "Gateway bind setting 'gateway-bind' permits non-loopback exposure.", "source": "policy", "path": "openclaw config", "ocPath": "oc://openclaw.config/gateway/bind", "target": "oc://openclaw.config/gateway/bind", "requirement": "oc://policy.jsonc/gateway/exposure/allowNonLoopbackBind"}{ "checkId": "policy/gateway-node-command-denied", "severity": "error", "message": "Gateway node command 'system.run' is denied by policy but not denied by OpenClaw config.", "source": "policy", "path": "openclaw config", "ocPath": "oc://openclaw.config/gateway/nodes/denyCommands", "target": "oc://openclaw.config/gateway/nodes/denyCommands", "requirement": "oc://policy.jsonc/gateway/nodes/denyCommands", "fixHint": "Add 'system.run' to gateway.nodes.denyCommands or update policy after review."}{ "checkId": "policy/agents-workspace-access-denied", "severity": "error", "message": "agents.defaults sandbox workspaceAccess 'rw' is not allowed by policy.", "source": "policy", "path": "openclaw config", "ocPath": "oc://openclaw.config/agents/defaults/sandbox/workspaceAccess", "target": "oc://openclaw.config/agents/defaults/sandbox/workspaceAccess", "requirement": "oc://policy.jsonc/agents/workspace/allowedAccess"}Onarım
doctor --lint ve policy check salt okunurdur.
doctor --fix, yalnızca workspaceRepairs açıkça etkinleştirildiğinde politika tarafından yönetilen çalışma alanı ayarlarını düzenler; aksi takdirde denetimler neleri onaracaklarını bildirir ve ayarları değiştirmeden bırakır.
Bu sürümde onarım, channels.denyRules tarafından reddedilen kanalları devre dışı bırakabilir ve aşağıda listelenen otomatik daraltma onarımlarını uygulayabilir. Geçerli bir kural çalışma alanı yapılandırmasını değiştirebileceğinden, workspaceRepairs seçeneğini yalnızca politika dosyası incelendikten sonra etkinleştirin:
- genel bir politika yükseltilmiş araçları yasakladığında
tools.elevated.enabled=falseolarak ayarla - politika bu araçların reddedilmesini gerektirdiğinde eksik zorunlu ret aracı kimliklerini
tools.denyveyaagents.list[].tools.denyöğesine ekle - güvenli olmayan
gateway.controlUi.*anahtarlarınıfalseolarak ayarla - politika uzak Gateway modunu reddettiğinde
gateway.mode=localolarak ayarla - politika Gateway HTTP API uç noktalarını reddettiğinde bildirilen
gateway.http.endpoints.*.enabledyollarınıfalseolarak ayarla - politika açık grup girişini reddettiğinde bildirilen kanal girişi
groupPolicyyollarınıallowlistolarak ayarla - politika grup bahsetmelerini gerektirdiğinde bildirilen kanal girişi
requireMentionyollarınıtrueolarak ayarla - politika hassas günlük kaydı verilerinin gizlenmesini gerektirdiğinde
logging.redactSensitive=toolsolarak ayarla - politika telemetri içeriği yakalamayı reddettiğinde
diagnostics.otel.captureContent=falseveya nesne biçimindeki telemetri yakalama ayarları içindiagnostics.otel.captureContent.enabled=falseolarak ayarla
Kapsamlı yükseltilmiş araç onarımları yalnızca algılama amaçlıdır. Bulgu paylaşılan günlük kaydı veya telemetri yapılandırmasını bildirdiğinde kapsamlı veri işleme onarımları da atlanır; çünkü paylaşılan ayarın değiştirilmesi, kapsamlı politika hedefinden daha fazlasını etkiler.
Bulgu devralınan kök tools.deny öğesini bildirdiğinde kapsamlı zorunlu ret onarımları atlanır; çünkü gerekli aracın kök yapılandırmasına eklenmesi, kapsamlı politika hedefinden daha fazlasını etkiler. Aracıya özgü zorunlu ret onarımları, bildirilen agents.list[].tools.deny yolunu güncelleyebilir.
Bulgu devralınan channels.defaults.* öğesini bildirdiğinde kapsamlı kanal girişi onarımları atlanır; çünkü paylaşılan kanal varsayılanının değiştirilmesi, kapsamlı politika hedefinden daha fazlasını etkiler. Gateway HTTP URL getirme izin listesi bulguları manuel olarak kalır; çünkü otomatik onarım doğru uç nokta URL izin listesi değerlerini seçemez.
Gateway bağlama ve Node komutu bulguları inceleme gerektirmeye devam eder. policy/gateway-non-loopback-bind veya policy/gateway-node-command-denied bir yapılandırma yoluyla eşleştirilebildiğinde, doctor --fix önerilen gateway.bind veya gateway.nodes.denyCommands değişikliğini atlanmış önizleme rehberliği olarak bildirir. Değişikliği uygulamaz ve bir operatör yapılandırmayı veya politikayı inceleyip güncelleyene kadar bulgu onarılmış sayılmaz.
{ "plugins": { "entries": { "policy": { "config": { "workspaceRepairs": true, }, }, }, },}Çıkış kodları
| Komut | 0 |
1 |
2 |
|---|---|---|---|
policy check |
Eşikte herhangi bir bulgu yok. | Bir veya daha fazla bulgu eşiğe ulaştı. | Bağımsız değişken veya çalışma zamanı hatası. |
policy compare |
Politika dosyası en az temel ölçüt kadar katıdır. | Politika dosyası geçersiz, eksik veya temel ölçüt kurallarından zayıftır. | Bağımsız değişken veya çalışma zamanı hatası. |
policy watch |
Bulgu yok ve kabul edilen karma değer güncel. | Bulgular mevcut veya kabul edilen doğrulama güncel değil. | Bağımsız değişken veya çalışma zamanı hatası. |