Integracja korporacyjna i bezpieczeństwo
Twój zespół bezpieczeństwa właśnie zatwierdził Claude Code dla 200 deweloperów. Teraz musisz zapewnić, że nikt nie ominie procesu przeglądu kodu, klucze API nigdy nie zostaną zacommitowane, a każda instalacja Claude Code będzie zgodna z korporacyjnymi standardami kodowania. Robienie tego przez wiadomości na Slacku i strony wiki gwarantuje niespójność. Zarządzane ustawienia robią to deterministycznie.
Co wyniesiesz z tego artykułu
Dział zatytułowany „Co wyniesiesz z tego artykułu”- Jak wdrażać ustawienia obowiązujące w całej organizacji, których deweloperzy nie mogą nadpisać
- Konfiguracje uprawnień wymuszające polityki bezpieczeństwa
- Konfiguracje hooków na poziomie zespołu dla zgodności i jakości
- Zarządzany CLAUDE.md dla korporacyjnych standardów kodowania
- Strategie stopniowego wdrażania Claude Code w zespołach
Zarządzane ustawienia
Dział zatytułowany „Zarządzane ustawienia”Zarządzane ustawienia mają najwyższy priorytet konfiguracji w Claude Code. Znajdują się w katalogach systemowych wymagających uprawnień administratora i nie mogą być nadpisane przez żadne ustawienia użytkownika ani projektu.
Lokalizacje zarządzanych ustawień
Dział zatytułowany „Lokalizacje zarządzanych ustawień”| Platforma | Ścieżka |
|---|---|
| macOS | /Library/Application Support/ClaudeCode/managed-settings.json |
| Linux/WSL | /etc/claude-code/managed-settings.json |
| Windows | C:\Program Files\ClaudeCode\managed-settings.json |
Przykładowe zarządzane ustawienia
Dział zatytułowany „Przykładowe zarządzane ustawienia”{ "$schema": "https://json.schemastore.org/claude-code-settings.json", "permissions": { "deny": [ "Bash(curl *)", "Bash(wget *)", "Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)", "Write(./.env)", "Write(./.env.*)" ] }, "env": { "CLAUDE_CODE_ENABLE_TELEMETRY": "1", "OTEL_METRICS_EXPORTER": "otlp", "OTEL_LOGS_EXPORTER": "otlp", "OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.company.com:4317" }, "companyAnnouncements": [ "All code changes must be reviewed before merging. Use /review before creating PRs.", "Security policy update: API keys must be stored in Vault, not .env files." ], "allowManagedHooksOnly": true, "allowManagedPermissionRulesOnly": false}Kluczowe ustawienia tylko dla trybu zarządzanego
Dział zatytułowany „Kluczowe ustawienia tylko dla trybu zarządzanego”| Ustawienie | Efekt |
|---|---|
allowManagedHooksOnly | Blokuje hooki użytkownika, projektu i wtyczek. Uruchamiają się tylko hooki z zarządzanych ustawień. |
allowManagedPermissionRulesOnly | Uniemożliwia ustawieniom użytkownika i projektu definiowanie własnych reguł allow/deny uprawnień. |
companyAnnouncements | Wiadomości wyświetlane wszystkim użytkownikom przy uruchomieniu. Losowo rotowane jeśli jest ich więcej. |
Zarządzany CLAUDE.md
Dział zatytułowany „Zarządzany CLAUDE.md”Zarządzany CLAUDE.md jest ładowany z najwyższym priorytetem dla wszystkich użytkowników na maszynie:
| Platforma | Ścieżka |
|---|---|
| macOS | /Library/Application Support/ClaudeCode/CLAUDE.md |
| Linux | /etc/claude-code/CLAUDE.md |
# Corporate Development Standards
## Required Practices- All code must pass the company linter before committing- Database migrations require review from the DBA team- API endpoints must include OpenAPI documentation- Security-sensitive code requires two reviewers
## Prohibited Patterns- Do not use eval() in any language- Do not disable TypeScript strict mode- Do not commit secrets, tokens, or API keys- Do not use deprecated authentication methods
## Architecture Requirements- All new services must use the company service template- Inter-service communication uses gRPC, not REST- Database access must go through the data access layerKonfiguracja uprawnień
Dział zatytułowany „Konfiguracja uprawnień”Hierarchia uprawnień
Dział zatytułowany „Hierarchia uprawnień”Managed deny > CLI flags > Local settings > Project settings > User settingsUprawnienie odrzucone na poziomie zarządzanym nie może być przyznane nigdzie indziej.
Składnia reguł uprawnień
Dział zatytułowany „Składnia reguł uprawnień”Reguły uprawnień obsługują wzorce glob dla elastycznego dopasowania:
{ "permissions": { "allow": [ "Bash(npm run test *)", "Bash(npm run lint)", "Bash(git log *)", "Bash(git diff *)", "Read(~/.zshrc)" ], "deny": [ "Bash(rm -rf *)", "Bash(git push --force *)", "Read(./.env*)", "Edit(*/migrations/*)" ] }}Strategia wdrażania w zespole
Dział zatytułowany „Strategia wdrażania w zespole”Stopniowe wdrażanie Claude Code
Dział zatytułowany „Stopniowe wdrażanie Claude Code”-
Faza pilotażowa (5-10 deweloperów) Zacznij od najdoświadczeniejszych deweloperów. Niech zdefiniują projektowy CLAUDE.md i początkowe uprawnienia. Zbieraj opinie o tym, co działa, a co nie.
-
Faza zespołowa (20-50 deweloperów) Wdróż zarządzane ustawienia z włączoną telemetrią. Utwórz współdzielone komendy w
.claude/commands/, które kodyfikują praktyki zespołu. Monitoruj zużycie tokenów i koszty przez OpenTelemetry. -
Faza organizacyjna (100+ deweloperów) Zablokuj za pomocą
allowManagedHooksOnlyi kompleksowych reguł deny. Skonfiguruj automatyczny onboarding zawierający konfigurację Claude Code. Ustaw alerty kosztowe i budżety per-zespół.
Monitorowanie adopcji
Dział zatytułowany „Monitorowanie adopcji”Z włączonym OpenTelemetry możesz śledzić:
- Liczbę sesji na dewelopera i na zespół
- Zużycie tokenów i koszty na dewelopera
- Wzorce użycia narzędzi — które narzędzia są najczęściej używane, a które blokowane
- Linie kodu zmodyfikowane przez Claude na sesję
Konfiguracja sandboxu
Dział zatytułowany „Konfiguracja sandboxu”Claude Code potrafi uruchamiać polecenia bash w sandboxie na poziomie systemu operacyjnego, ale domyślnie jest on wyłączony. Włącz go poleceniem /sandbox albo ustawiając sandbox.enabled: true, a następnie skonfiguruj go zgodnie z wymaganiami bezpieczeństwa. Dostęp do systemu plików i ruch wychodzący do sieci kontrolujesz przez blok sandbox (oraz reguły uprawnień Read/Edit/WebFetch), a nie przez pojedynczą flagę włącz/wyłącz dla sieci:
{ "sandbox": { "enabled": true, "excludedCommands": ["docker"], "network": { "allowedDomains": ["github.com", "*.npmjs.org"], "allowLocalBinding": true } }, "permissions": { "additionalDirectories": ["/opt/company-tools", "/shared/libs"] }}additionalDirectories należy do permissions (przyznaje Claude dodatkowe katalogi robocze), a nie do sandbox. Aby ograniczyć ruch wychodzący do sieci, zawęź lub pomiń network.allowedDomains, zamiast sięgać po nieistniejącą flagę allowNetworkAccess.
Kiedy coś idzie nie tak
Dział zatytułowany „Kiedy coś idzie nie tak”Zarządzane ustawienia nie są wykrywane: Pliki muszą znajdować się w katalogach systemowych, nie w katalogach domowych użytkownika. Na macOS to /Library/Application Support/ClaudeCode/, a nie ~/Library/Application Support/ClaudeCode/. Wymagane są uprawnienia administratora.
Deweloperzy obchodzą reguły deny: Ustawienie allowManagedPermissionRulesOnly uniemożliwia ustawieniom użytkownika i projektu dodawanie własnych reguł allow. Bez tego deweloper może dodać "allow": ["Bash(curl *)"] do swoich lokalnych ustawień.
Ogłoszenia firmowe się nie wyświetlają: Ogłoszenia są wyświetlane przy uruchomieniu. Jeśli deweloperzy prowadzą długie sesje, nie zobaczą nowych ogłoszeń aż do ponownego uruchomienia Claude Code.
Dane telemetryczne nie docierają: Sprawdź konfigurację endpointu OpenTelemetry i dostęp sieciowy z maszyn deweloperskich do kolektora. Częsty problem: firewalle korporacyjne blokujące port gRPC (4317).
Co dalej
Dział zatytułowany „Co dalej”- Konfiguracja proxy — Uruchomienie Claude Code za korporacyjnymi proxy
- Konfiguracja LLM Gateway — Kierowanie ruchu przez zatwierdzone bramy
- Monitoring i koszty — Konfiguracja pipeline’u telemetrycznego dla twojej organizacji