Verwaltete Einstellungen (Organisationsrichtlinie)¶
Verwaltete Einstellungen erlauben IT-Administratoren, organisationsweites Verhalten für Cortex Code CLI durchzusetzen. Die Einstellungen werden in einer systemeigenen Datei bereitgestellt, die von Benutzern nicht geändert werden kann. Diese Einstellungen haben Vorrang vor allen Konfigurationen auf Benutzerebene.
Wenn verwaltete Einstellungen vorhanden sind, zeigt CLI beim Start ein Banner an, das darauf hinweist, dass es im verwalteten Modus ausgeführt wird.
Funktionsweise von verwalteten Einstellungen¶
Verwaltete Einstellungen werden von einer JSON-Datei in einem plattformspezifischen Systemverzeichnis gelesen, einem Speicherort, der Administrator- oder Root-Berechtigungen zum Schreiben erfordert. Da Benutzer Dateien an diesen Speicherorten nicht ändern können, können verwaltete Einstellungen nicht durch Benutzerkonfigurationsdateien, Umgebungsvariablen oder Befehlszeilenargumente überschrieben werden (außer wenn dies explizit angegeben ist).
Administratoren stellen die verwaltete Einstellungsdatei normalerweise mit MDM-Tools (Jamf, Intune, SCCM), Konfigurationsverwaltungssystemen (Ansible, Chef, Puppet) oder manuellen Bereitstellungen während der Gerätebereitstellung bereit
Dateispeicherorte¶
Platzieren Sie die managed-settings.json-Datei im folgenden Systemverzeichnis Ihres Betriebssystems:
Plattform |
Path |
|---|---|
macOS |
|
Linux und WSL |
|
Windows |
|
Wenn die Datei nicht existiert, wird CLI im nicht verwalteten Modus ausgeführt, und es gelten alle Standardeinstellungen auf Benutzerebene.
Bemerkung
Wenn die Datei existiert, aber ungültige JSON enthält oder die Schemavalidierung fehlschlägt, wendet CLI eine restriktive Fallback-Konfiguration an und zeigt ein Banner mit der Aufschrift „Enforcement config error – restricted mode“ an. Dadurch wird verhindert, dass eine fehlerhafte Richtliniendatei stillschweigend uneingeschränkten Zugriff gewährt.
Konfigurationsschema¶
Die managed-settings.json-Datei muss ein version-Feld enthalten. Alle Abschnitte der obersten Ebene sind optional.
Das version-Feld muss "1.0" sein.
permissions¶
Steuert, welche Tools, Fähigkeiten, MCP-Server und Snowflake-Konten CLI verwenden kann. Die vollständige Mustersyntax finden Sie unter Berechtigungsmuster.
Feld |
Typ |
Standard |
Beschreibung |
|---|---|---|---|
|
|
— |
Zulassungsliste von Berechtigungsmustern. Falls festgelegt, sind nur übereinstimmende Elemente zulässig. Elemente, mit denen kein Muster übereinstimmt, sind blockiert, es sei denn, |
|
|
— |
Ablehnliste von Berechtigungsmustern. Ablehnen hat Vorrang vor Zulassen. Eine Übereinstimmung blockiert hier immer, unabhängig von |
|
|
|
Verhalten, wenn kein Muster übereinstimmt. Verwenden Sie |
|
|
|
Steuert, ob Benutzer den |
settings¶
Setzt bestimmte Laufzeitverhalten durch, die von Benutzern nicht überschrieben werden können.
Feld |
Typ |
Standard |
Beschreibung |
|---|---|---|---|
|
|
|
Wenn |
|
|
|
Wenn |
|
|
— |
Erzwingt einen bestimmten Sandbox-Modus.``“regular“`` fordert den Benutzer auf, bevor neue Dateisystempfade zugelassen werden.``“autoAllow“`` lässt stillschweigend alle Pfade innerhalb der Sandbox-Grenze zu. Wird nur wirksam, wenn die Sandbox aktiviert ist. |
Die Sandbox begrenzt die Verzeichnisse, die CLI während einer Sitzung lesen und schreiben kann. Es wird ein Bestätigungsschritt hinzugefügt, bevor Tools auf Pfade außerhalb des vorab genehmigten Satzes zugreifen. "regular"-Modus erfordert für jedes neue Verzeichnis eine Bestätigung des Benutzers. Der "autoAllow"-Modus vertraut allen Verzeichnissen innerhalb der Arbeitsstruktur ohne Aufforderung. Sandbox ist eine experimentelle Funktion. Weitere Details dazu finden Sie unter Sandbox.
required¶
Erzwingt eine minimale CLI-Version CLI wird mit einem Fehler beendet, wenn die installierte Version nicht die Anforderung erfüllt.
Feld |
Typ |
Beschreibung |
|---|---|---|
|
|
Minimale CLI-Version im Serverformat (z. B.``“0.26.0“``). Benutzern, die ältere Versionen verwenden, wird ein Fehler angezeigt und sie werden aufgefordert, das Konto zu aktualisieren, bevor sie fortfahren können. |
Verwenden Sie dieses Feld, um sicherzustellen, dass alle Benutzer eine Version verwenden, die Sicherheitskorrekturen oder Features unterstützt, von denen Ihre Richtlinie abhängt.
defaults¶
Legt von der Organisation empfohlene Standardeinstellungen fest, die Benutzer in ihren eigenen settings.json überschreiben können. Im Gegensatz zum Bereich settings handelt es sich dabei um Vorschläge und nicht um eine Durchsetzung.
Feld |
Typ |
Beschreibung |
|---|---|---|
|
|
Standardmäßiger Name für die Snowflake-Verbindung von |
|
|
Standardprofil, das beim Start geladen werden soll. |
|
|
Standardmäßiges UI-Farbthema. |
files¶
Verweist CLI auf die vom Administrator bereitgestellten Konfigurationsdateien. Diese werden zusätzlich zu den oder anstelle der eigenen Äquivalente des Benutzers geladen.
Feld |
Typ |
Beschreibung |
|---|---|---|
|
|
Absoluter Pfad zu einer vom Administrator bereitgestellten |
|
|
Absoluter Pfad zu einer vom Administrator bereitgestellten |
ui¶
Passt UI-Elemente an, um einen verwalteten Zustand anzuzeigen.
Feld |
Typ |
Standard |
Beschreibung |
|---|---|---|---|
|
|
|
Wenn |
|
|
|
Benutzerdefinierter Text für das verwaltete Banner. Verwenden Sie dies, um einen Support-Kontakt oder eine Richtlinienreferenz einzufügen. |
|
|
|
Wenn |
Berechtigungsmuster¶
Die onlyAllow- und deny-Arrays im permissions-Abschnitt akzeptieren Muster in zwei Formen:
Einfacher Name: Entspricht einer benannten Tool- oder Feature-Kategorie. Beispiel:
"bash"oder"read"Gefilterter Name:
type(filter). Entspricht einem bestimmten Toolaufruf oder einer Ressource innerhalb einer Kategorie. Beispiel:"bash(git:*)"oder"account(myorg-prod)"
Beide Formen unterstützen Glob-Platzhalter * (beliebige Zeichen) und ? (Einzelzeichen). Beim Abgleichen wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Musterreferenz¶
Muster |
Was es steuert |
|---|---|
|
Das |
|
Das |
|
Das |
|
Alle Bash-Shell-Aufrufe |
|
Bash beschränkt auf |
|
Bash beschränkt auf |
|
Bash beschränkt auf |
|
Bash- |
|
SQL-Ausführung auf Snowflake |
|
Alle MCP-Server |
|
MCP-Server, die mit einer glob URL übereinstimmen |
|
Integrierte (gebündelte) Fähigkeiten |
|
Fähigkeiten von eine beliebigen geladenen Profil |
|
Fähigkeiten aus einem bestimmten benannten Profil |
|
Fähigkeiten, die im Stammverzeichnis des Benutzers installiert sind |
|
Fähigkeiten im |
|
Extern installierte Fähigkeiten (über Git oder TAR-Archive) |
|
Alle Plugins |
|
Nur integrierte Plugins |
|
Exakter Snowflake-Kontoname |
|
Snowflake-Konten, die einem Glob entsprechen |
bash(command:*)-Filtern¶
Bei Verwendung von Bash-Filtermustern stimmt der Filter mit dem ersten Token des Shell-Befehls überein. Beispiel: "bash(git:*)" erlaubt git status,``git commit`` und alle anderen git-Unterbefehle, blockiert aber curl,``python`` und alle anderen Befehle.
Bemerkung
Wenn "bash" (ohne Filter) in onlyAllow angezeigt wird, dann ist jeder Bash-Befehl für diese Regel zulässig. Wenn "bash(git:*)" erscheint, aber "bash" nicht, dann sind nur git-Befehle erlaubt und alle anderen Bash-Befehle werden blockiert.
Auswertung der Berechtigung¶
Wenn CLI entscheidet, ob ein Tool, eine Fähigkeit, ein MCP-Server oder Snowflake-Konto erlaubt ist, werden die folgenden Regeln in der folgenden Reihenfolge ausgewertet:
Verwaltete ``deny``-Übereinstimmungen: Blockieren. Wenn ein Muster im
deny-Array der verwalteten Einstellungen übereinstimmt, wird der Zugriff verweigert. Dies kann nicht durch Profile oder Benutzereinstellungen überschrieben werden.Profil-``deny``-Übereinstimmungen: Blockieren. Wenn ein Muster in der Verweigerungsliste des aktiven Profils übereinstimmt, wird der Zugriff verweigert.
Verwaltete ``onlyAllow`` ist festgelegt und keine Musterübereinstimmungen: Blockieren. Wenn``onlyAllow`` in verwalteten Einstellungen konfiguriert ist und das Element keinem der aufgeführten Muster entspricht, wird der Zugriff verweigert.
Profil ``onlyAllow`` ist für diesen Typ festgelegt und es gibt keine Musterübereinstimmungen: Blockieren. Profil
onlyAllowist typbezogen: Es werden nur explizit aufgeführte Typen eingeschränkt. Wenn das Profilskill(bundled:*)auflistet, aber nichts überbashaussagt, wird der Bash-Zugriff durch das Profil nicht beeinträchtigt.``defaultMode`` bestimmt das Ergebnis. Wenn
defaultMode"deny"ist, ist der Zugriff gesperrt. Wenn"allow"(die Standardeinstellung), ist der Zugriff erlaubt.
Wichtige Garantien:
Ein Profil kann keinen Zugriff gewähren, den verwaltete Einstellungen explizit verweigert haben.
Ein Profil kann die Zulassungsliste der verwalteten Einstellungen nicht erweitern.
Profile können nur weiter einschränken: Sie arbeiten innerhalb der Grenze, die von verwalteten Einstellungen definiert wird.
Allgemeine Beispiele für Richtlinien¶
Grundlegende Einrichtung für Unternehmen¶
Alle Standardtools zulassen, aber den Umgehungsmodus blocken und ein verwaltetes Banner anzeigen.
Beschränkt auf genehmigte Snowflake-Konten¶
Nur Verbindungen zu bestimmten Konten zulassen. Benutzern, die versuchen, eine Verbindung zu einem anderen Konto herzustellen, wird ein Fehler angezeigt.
Auf genehmigte Tools beschränken¶
Nur Lesen von Dateien, SQL-Ausführung und gebündelte Fähigkeiten zulassen. Sie sämtliche Bash-Zugriffe, MCP sowie vom Benutzer installierte Skills blockieren.
Bash zulassen, jedoch schädliche Befehle blockieren¶
Bash-Zugriff zulassen, aber rm, curl und wget explizit ablehnen.
Hochsichere Bereitstellung¶
Kein Verlauf erzwingen, Sandbox erzwingen, Umgehungsmodus blockieren, auf bestimmte Konten und MCP-Server beschränken und die Remote-Skill-Installation blockieren.
Überprüfung¶
Um zu prüfen, ob die verwalteten Einstellungen aktiv sind und welche Einschränkungen gelten, prüfen Sie beim Start das Begrüßungsbanner. Wenn verwaltete Einstellungen vorhanden sind und showManagedBanner true ist, wird oben in der Sitzungsausgabe ein Banner angezeigt.
Um den Durchsetzungskonfigurationspfad für Ihre Plattform zu überprüfen, prüfen Sie, ob die Datei unter dem OS-spezifischen Pfad existiert, der in Dateispeicherorte aufgeführt ist.