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 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 mengambil prioritas atas aturan allow.
  • Aturan Deny akan mencegah Claude Code menggunakan tool yang ditentukan. Aturan Deny mengambil prioritas atas 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 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 di 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 di direktori tambahan mengikuti aturan izin yang sama dengan direktori kerja asli - mereka menjadi dapat dibaca tanpa prompt, dan izin edit 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
  • Bash(curl http://site.com/:*) Cocok dengan perintah curl yang dimulai dengan tepat curl http://site.com/

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

Keterbatasan penting dari pola izin Bash:

  1. Tool ini menggunakan pencocokan awalan, bukan regex atau pola glob
  2. Wildcard :* hanya berfungsi di akhir pola untuk mencocokkan kelanjutan apa pun
  3. Pola seperti Bash(curl http://github.com/:*) dapat dilewati dengan banyak cara:
    • Opsi sebelum URL: curl -X GET http://github.com/... tidak akan cocok
    • Protokol berbeda: curl https://github.com/... tidak akan cocok
    • Redirect: curl -L http://bit.ly/xyz (redirect ke github)
    • Variabel: URL=http://github.com && curl $URL tidak akan cocok
    • Spasi ekstra: curl http://github.com tidak akan cocok

Untuk penyaringan URL yang lebih andal, pertimbangkan:

  • Menggunakan tool WebFetch dengan izin WebFetch(domain:github.com)
  • Menginstruksikan Claude Code tentang pola curl yang diizinkan melalui CLAUDE.md
  • Menggunakan hook untuk validasi izin kustom

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 dengan empat jenis pola yang berbeda:

PolaArtiContohCocok
//pathPath absolut dari root filesystemRead(//Users/alice/secrets/**)/Users/alice/secrets/**
~/pathPath dari direktori homeRead(~/Documents/*.pdf)/Users/alice/Documents/*.pdf
/pathPath relatif terhadap file pengaturanEdit(/src/**/*.ts)<path file pengaturan>/src/**/*.ts
path atau ./pathPath relatif terhadap direktori saat iniRead(*.env)<cwd>/*.env

Pola seperti /Users/alice/file BUKAN path absolut - ini relatif terhadap file pengaturan Anda! Gunakan //Users/alice/file untuk path absolut.

  • Edit(/docs/**) - Edit di <project>/docs/ (BUKAN /docs/!)
  • Read(~/.zshrc) - Membaca .zshrc direktori home Anda
  • Edit(//tmp/scratch.txt) - Mengedit path absolut /tmp/scratch.txt
  • Read(src/**) - Membaca dari <current-directory>/src/

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 di 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 hook

Hook Claude Code menyediakan cara untuk mendaftarkan perintah shell kustom untuk melakukan evaluasi izin saat 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 mengambil prioritas atas 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 di 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.