Profile uprawnień - pliki i sieć
Profile uprawnień wyznaczają granice dostępu dla lokalnych poleceń uruchamianych przez Codex, łącząc reguły systemu plików z regułami sieci. Możesz wybrać jeden z profili wbudowanych albo zdefiniować własny profil i wskazać go jako domyślny. :read-only ogranicza lokalne wykonywanie poleceń do odczytu, a :workspace pozwala zapisywać w aktywnych katalogach workspace i systemowych katalogach tymczasowych.
Własny profil można zbudować z reguł systemu plików, które przyznają read, write lub deny dla ścieżek, oraz reguł sieciowych określających dozwolone hosty. W obrębie aktywnego profilu węższa reguła deny pozostaje skuteczna nawet wtedy, gdy szersza reguła zezwala na odczyt lub zapis.
Dostęp sieciowy profilu włączasz przez network.enabled = true, ale samo to ustawienie nie uruchamia proxy. Aby proxy egzekwowało reguły domen, włącz features.network_proxy, chyba że proxy uruchamiają wymagania zarządzane przez administratora. Reguły domen działają tylko przy aktywnym proxy; bez niego polecenia mogą łączyć się bezpośrednio, bez ograniczeń domenowych.
Gdy proxy jest aktywne, blokuje żądania do domen, jeśli nie ma żadnych reguł allow, a reguły deny mają pierwszeństwo przed allow. Profile uprawnień nie łączą się ze starszymi ustawieniami sandboxa; skonfiguruj profile albo starsze ustawienia, ale nie oba naraz. Jeśli w załadowanym pliku konfiguracyjnym występuje sandbox_mode, Codex używa starszych ustawień sandboxa zamiast default_permissions.
project-edit jako domyślny, włącza proxy i odmawia dostępu do plików pasujących do wzorca **/*.env.default_permissions = "project-edit" [features] network_proxy = true [permissions.project-edit.filesystem] ":minimal" = "read" [permissions.project-edit.filesystem.":workspace_roots"] "." = "write" ".devcontainer" = "read" "**/*.env" = "deny"
tracking.example.com, gdy aktywne jest proxy sieciowe.[permissions.project-edit.network] enabled = true [permissions.project-edit.network.domains] "api.openai.com" = "allow" "objects.githubusercontent.com" = "allow" "*.github.com" = "allow" "tracking.example.com" = "deny"
.devcontainer i odmawiają dostępu do pasujących plików środowiskowych.[permissions.project-edit.filesystem.":workspace_roots"] "." = "write" ".devcontainer" = "read" "**/*.env" = "deny"
Zastosowanie w praktyce
Użyj profilu, gdy chcesz ograniczyć lokalne polecenia do najmniejszych potrzebnych uprawnień, osobno określając dostęp do plików i miejsc docelowych sieci. Możesz zezwolić na zapis w katalogach workspace, a jednocześnie utrzymać wybrane podkatalogi tylko do odczytu i zablokować pasujące pliki środowiskowe. Jeśli organizacja zarządza wyborem profili, allowed_permission_profiles powoduje odmowę dla profili, których nie ma na liście, w tym profili wbudowanych, które zostały pominięte.
network.enabled = true jako ochrony domen: bez aktywnego proxy polecenia mogą łączyć się bezpośrednio, bez ograniczeń domenowych.