Metode autentikasi

Menyiapkan Claude Code memerlukan akses ke model Anthropic. Untuk tim, Anda dapat menyiapkan akses Claude Code dengan salah satu dari tiga cara:

  • Anthropic API melalui Anthropic Console
  • Amazon Bedrock
  • Google Vertex AI

Autentikasi Anthropic API

Untuk menyiapkan akses Claude Code untuk tim Anda melalui Anthropic API:

  1. Gunakan akun Anthropic Console yang sudah ada atau buat akun Anthropic Console baru
  2. Anda dapat menambahkan pengguna melalui salah satu metode di bawah ini:
    • Undang pengguna secara massal dari dalam Console (Console -> Settings -> Members -> Invite)
    • Siapkan SSO
  3. Saat mengundang pengguna, mereka memerlukan salah satu peran berikut:
    • Peran “Claude Code” berarti pengguna hanya dapat membuat kunci API Claude Code
    • Peran “Developer” berarti pengguna dapat membuat jenis kunci API apa pun
  4. Setiap pengguna yang diundang perlu menyelesaikan langkah-langkah berikut:

Autentikasi penyedia cloud

Untuk menyiapkan akses Claude Code untuk tim Anda melalui Bedrock atau Vertex:

  1. Ikuti dokumentasi Bedrock atau dokumentasi Vertex
  2. Distribusikan variabel lingkungan dan instruksi untuk menghasilkan kredensial cloud kepada pengguna Anda. Baca lebih lanjut tentang cara mengelola konfigurasi di sini.
  3. Pengguna dapat menginstal Claude Code

Kontrol akses dan izin

Kami mendukung izin yang terperinci sehingga Anda dapat menentukan dengan tepat apa yang diizinkan untuk dilakukan oleh agen (misalnya menjalankan tes, menjalankan linter) dan apa yang tidak diizinkan untuk dilakukan (misalnya memperbarui infrastruktur cloud). Pengaturan izin ini dapat dicek ke dalam kontrol versi dan didistribusikan ke semua pengembang di organisasi Anda, serta disesuaikan oleh pengembang individual.

Sistem izin

Claude Code menggunakan sistem izin bertingkat untuk menyeimbangkan kekuatan dan keamanan:

Jenis ToolContohPersetujuan DiperlukanPerilaku “Ya, jangan tanya lagi”
Hanya-bacaBaca file, LS, GrepTidakN/A
Perintah BashEksekusi shellYaPermanen per direktori proyek dan perintah
Modifikasi FileEdit/tulis fileYaSampai sesi berakhir

Mengonfigurasi izin

Anda dapat melihat & mengelola izin tool Claude Code dengan /permissions. UI ini mencantumkan semua aturan izin dan file settings.json yang menjadi sumbernya.

  • Aturan Allow akan memungkinkan Claude Code menggunakan tool yang ditentukan tanpa persetujuan manual lebih lanjut.
  • Aturan Ask akan meminta konfirmasi pengguna setiap kali Claude Code mencoba menggunakan tool yang ditentukan. Aturan ask memiliki prioritas lebih tinggi daripada aturan allow.
  • Aturan Deny akan mencegah Claude Code menggunakan tool yang ditentukan. Aturan deny memiliki prioritas lebih tinggi daripada aturan allow dan ask.
  • Direktori tambahan memperluas akses file Claude ke direktori di luar direktori kerja awal.
  • Mode default mengontrol perilaku izin Claude saat menghadapi permintaan baru.

Aturan izin menggunakan format: Tool atau Tool(optional-specifier)

Aturan yang hanya berupa nama tool cocok dengan penggunaan tool apa pun. Misalnya, menambahkan Bash ke daftar aturan allow akan memungkinkan Claude Code menggunakan tool Bash tanpa memerlukan persetujuan pengguna.

Mode izin

Claude Code mendukung beberapa mode izin yang dapat diatur sebagai defaultMode dalam file pengaturan:

ModeDeskripsi
defaultPerilaku standar - meminta izin pada penggunaan pertama setiap tool
acceptEditsSecara otomatis menerima izin edit file untuk sesi
planMode plan - Claude dapat menganalisis tetapi tidak memodifikasi file atau menjalankan perintah
bypassPermissionsMelewati semua prompt izin (memerlukan lingkungan yang aman - lihat peringatan di bawah)

Direktori kerja

Secara default, Claude memiliki akses ke file dalam direktori tempat ia diluncurkan. Anda dapat memperluas akses ini:

  • Selama startup: Gunakan argumen CLI --add-dir <path>
  • Selama sesi: Gunakan perintah slash /add-dir
  • Konfigurasi persisten: Tambahkan ke additionalDirectories dalam file pengaturan

File dalam direktori tambahan mengikuti aturan izin yang sama dengan direktori kerja asli - mereka menjadi dapat dibaca tanpa prompt, dan izin pengeditan file mengikuti mode izin saat ini.

Aturan izin khusus tool

Beberapa tool mendukung kontrol izin yang lebih terperinci:

Bash

  • Bash(npm run build) Cocok dengan perintah Bash yang tepat npm run build
  • Bash(npm run test:*) Cocok dengan perintah Bash yang dimulai dengan npm run test.

Claude Code menyadari operator shell (seperti &&) jadi aturan pencocokan awalan seperti Bash(safe-cmd:*) tidak akan memberinya izin untuk menjalankan perintah safe-cmd && other-cmd

Read & Edit

Aturan Edit berlaku untuk semua tool bawaan yang mengedit file. Claude akan melakukan upaya terbaik untuk menerapkan aturan Read ke semua tool bawaan yang membaca file seperti Grep, Glob, dan LS.

Aturan Read & Edit keduanya mengikuti spesifikasi gitignore. Pola diselesaikan relatif terhadap direktori yang berisi .claude/settings.json. Untuk mereferensikan jalur absolut, gunakan //. Untuk jalur relatif terhadap direktori home Anda, gunakan ~/.

  • Edit(docs/**) Cocok dengan edit ke file dalam direktori docs proyek Anda
  • Read(~/.zshrc) Cocok dengan pembacaan ke file ~/.zshrc Anda
  • Edit(//tmp/scratch.txt) Cocok dengan edit ke /tmp/scratch.txt

WebFetch

  • WebFetch(domain:example.com) Cocok dengan permintaan fetch ke example.com

MCP

  • mcp__puppeteer Cocok dengan tool apa pun yang disediakan oleh server puppeteer (nama dikonfigurasi dalam Claude Code)
  • mcp__puppeteer__puppeteer_navigate Cocok dengan tool puppeteer_navigate yang disediakan oleh server puppeteer

Tidak seperti jenis izin lainnya, izin MCP TIDAK mendukung wildcard (*).

Untuk menyetujui semua tool dari server MCP:

  • ✅ Gunakan: mcp__github (menyetujui SEMUA tool GitHub)
  • ❌ Jangan gunakan: mcp__github__* (wildcard tidak didukung)

Untuk menyetujui tool tertentu saja, daftarkan masing-masing:

  • ✅ Gunakan: mcp__github__get_issue
  • ✅ Gunakan: mcp__github__list_issues

Kontrol izin tambahan dengan hooks

Hook Claude Code menyediakan cara untuk mendaftarkan perintah shell kustom untuk melakukan evaluasi izin pada runtime. Ketika Claude Code melakukan panggilan tool, hook PreToolUse berjalan sebelum sistem izin berjalan, dan output hook dapat menentukan apakah akan menyetujui atau menolak panggilan tool menggantikan sistem izin.

Pengaturan kebijakan yang dikelola enterprise

Untuk deployment enterprise Claude Code, kami mendukung pengaturan kebijakan yang dikelola enterprise yang memiliki prioritas lebih tinggi daripada pengaturan pengguna dan proyek. Ini memungkinkan administrator sistem untuk menegakkan kebijakan keamanan yang tidak dapat diganti oleh pengguna.

Administrator sistem dapat menerapkan kebijakan ke:

  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux dan WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\ProgramData\ClaudeCode\managed-settings.json

File kebijakan ini mengikuti format yang sama dengan file pengaturan reguler tetapi tidak dapat diganti oleh pengaturan pengguna atau proyek. Ini memastikan kebijakan keamanan yang konsisten di seluruh organisasi Anda.

Prioritas pengaturan

Ketika beberapa sumber pengaturan ada, mereka diterapkan dalam urutan berikut (prioritas tertinggi ke terendah):

  1. Kebijakan enterprise
  2. Argumen baris perintah
  3. Pengaturan proyek lokal (.claude/settings.local.json)
  4. Pengaturan proyek bersama (.claude/settings.json)
  5. Pengaturan pengguna (~/.claude/settings.json)

Hierarki ini memastikan bahwa kebijakan organisasi selalu ditegakkan sambil tetap memungkinkan fleksibilitas di tingkat proyek dan pengguna jika sesuai.

Manajemen kredensial

Claude Code mengelola kredensial autentikasi Anda dengan aman:

  • Lokasi penyimpanan: Di macOS, kunci API, token OAuth, dan kredensial lainnya disimpan dalam macOS Keychain yang terenkripsi.
  • Jenis autentikasi yang didukung: Kredensial Claude.ai, kredensial Anthropic API, Bedrock Auth, dan Vertex Auth.
  • Skrip kredensial kustom: Pengaturan apiKeyHelper dapat dikonfigurasi untuk menjalankan skrip shell yang mengembalikan kunci API.
  • Interval refresh: Secara default, apiKeyHelper dipanggil setelah 5 menit atau pada respons HTTP 401. Atur variabel lingkungan CLAUDE_CODE_API_KEY_HELPER_TTL_MS untuk interval refresh kustom.