Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Claude Code
Jak skonfigurować allow i deny w settings.json Claude Code
allow, deny i ask w pliku settings.json, z regułami dla konkretnych narzędzi.Bash(git push:*)), rozłóż konfigurację na poziom globalny, projektowy i lokalny oraz pamiętaj, że deny ma pierwszeństwo.Model uprawnień to serce bezpiecznej pracy z Claude Code, narzędziem CLI od Anthropic. Zamiast zgadywać przy każdym monicie, warto raz porządnie skonfigurować, które operacje są dozwolone automatycznie, o które narzędzie ma zawsze pytać, a które są całkowicie zablokowane. Wszystko dzieje się w pliku settings.json i opiera na trzech listach. Dobrze dobrane reguły dają jednocześnie płynność (bez zbędnych pytań) i bezpieczeństwo (żadnych przypadkowych operacji na produkcji). Ten temat dotyczy każdego, kto używa Claude Code w realnym projekcie, a nie tylko do zabawy.
Bez konfiguracji Claude Code albo pyta o wszystko, albo - jeśli komuś ktoś włączył zbyt szeroki tryb - wykonuje operacje, których wolałbyś nie widzieć bez potwierdzenia. Docelowo chcesz mieć plik z trzema jasnymi listami. Oto realny przykład kompletnej konfiguracji projektowej:
{
"permissions": {
"allow": [
"Bash(npm run test:*)",
"Bash(git status)",
"Bash(git diff:*)",
"Edit(src/**)"
],
"ask": [
"Bash(git push:*)"
],
"deny": [
"Bash(rm -rf:*)",
"Read(.env)",
"Read(secrets/**)"
]
}
}
Taki plik mówi wprost: testy i podgląd zmian bez pytania, git push zawsze z potwierdzeniem, a kasowanie rekurencyjne i odczyt sekretów całkowicie zablokowane.
Każde działanie agenta jest przypisane do konkretnego narzędzia: Bash (komendy powłoki), Edit i Write (zmiana plików), Read (odczyt), WebFetch (pobieranie z sieci) czy narzędzia MCP. Reguła to nazwa narzędzia z opcjonalnym wzorcem w nawiasie. Gdy agent chce coś zrobić, Claude Code sprawdza reguły w ustalonej kolejności: najpierw deny (jeśli pasuje - odmowa, koniec), potem allow (jeśli pasuje - wykonaj bez pytania), a jeśli nic nie pasuje, wpada w ask lub domyślne pytanie. Dlatego deny zawsze wygrywa - to celowe, żeby dało się bezpiecznie zablokować coś, co szersza reguła allow mogłaby przepuścić.
/permissions w sesji albo edytując plik .claude/settings.json ręcznie.allow dodaj operacje powtarzalne i bezpieczne: uruchamianie testów, lintowanie, podgląd gita, edycję plików w katalogu źródłowym. Wzorzec Edit(src/**) pozwala na edycję wszystkiego w src.ask wrzuć operacje wrażliwe, które chcesz nadzorować za każdym razem - klasykiem jest Bash(git push:*), żeby nic nie trafiło do zdalnego repozytorium bez Twojej wiedzy.deny wpisz to, czego agent nie ma prawa dotknąć nigdy: kasowanie rekurencyjne, odczyt plików z sekretami, dostęp do katalogów produkcyjnych.Bash(git status), prefiks z dowolnym dalszym ciągiem to Bash(npm run test:*), a wzorce plików używają glob, np. Read(secrets/**).~/.claude/settings.json, reguły zespołowe w wersjonowanym .claude/settings.json, a prywatne wyjątki w .claude/settings.local.json (dopisz ten plik do .gitignore)./permissions, aby narzędzie wczytało nowe reguły.Wywołaj /permissions - lista powinna pokazać dokładnie te reguły, które zapisałeś, z rozbiciem na allow, ask i deny. Przetestuj każdą listę osobno: poproś o operację z allow (ma się wykonać bez pytania), o operację z ask (ma pojawić się monit) i o operację z deny (ma zostać odmówiona, a agent poinformuje, że reguła to blokuje). Jeśli wszystkie trzy zachowują się zgodnie z konfiguracją, model uprawnień działa poprawnie.
Wróć do listy: 100 najczęstszych problemów z Claude Code
Szkolenie Claude Code - od zera do zespołu agentów AI -->
Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.
Sprawdź szkolenie Claude CodeTo szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...