Manajemen Identitas dan Akses
Pelajari cara mengonfigurasi autentikasi pengguna, otorisasi, dan kontrol akses untuk Claude Code di organisasi Anda.
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:
- Gunakan akun Anthropic Console yang sudah ada atau buat akun Anthropic Console baru
- Anda dapat menambahkan pengguna melalui salah satu metode di bawah ini:
- Undang pengguna secara massal dari dalam Console (Console -> Settings -> Members -> Invite)
- Siapkan SSO
- 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
- Setiap pengguna yang diundang perlu menyelesaikan langkah-langkah berikut:
- Terima undangan Console
- Periksa persyaratan sistem
- Instal Claude Code
- Login dengan kredensial akun Console
Autentikasi penyedia cloud
Untuk menyiapkan akses Claude Code untuk tim Anda melalui Bedrock atau Vertex:
- Ikuti dokumentasi Bedrock atau dokumentasi Vertex
- Distribusikan variabel lingkungan dan instruksi untuk menghasilkan kredensial cloud kepada pengguna Anda. Baca lebih lanjut tentang cara mengelola konfigurasi di sini.
- 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 Tool | Contoh | Persetujuan Diperlukan | Perilaku “Ya, jangan tanya lagi” |
---|---|---|---|
Hanya-baca | Baca file, LS, Grep | Tidak | N/A |
Perintah Bash | Eksekusi shell | Ya | Permanen per direktori proyek dan perintah |
Modifikasi File | Edit/tulis file | Ya | Sampai 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:
Mode | Deskripsi |
---|---|
default | Perilaku standar - meminta izin pada penggunaan pertama setiap tool |
acceptEdits | Secara otomatis menerima izin edit file untuk sesi |
plan | Mode Plan - Claude dapat menganalisis tetapi tidak memodifikasi file atau menjalankan perintah |
bypassPermissions | Melewati 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 tepatnpm run build
Bash(npm run test:*)
Cocok dengan perintah Bash yang dimulai dengannpm run test
Bash(curl http://site.com/:*)
Cocok dengan perintah curl yang dimulai dengan tepatcurl 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:
- Tool ini menggunakan pencocokan awalan, bukan regex atau pola glob
- Wildcard
:*
hanya berfungsi di akhir pola untuk mencocokkan kelanjutan apa pun - 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
- Opsi sebelum URL:
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:
Pola | Arti | Contoh | Cocok |
---|---|---|---|
//path | Path absolut dari root filesystem | Read(//Users/alice/secrets/**) | /Users/alice/secrets/** |
~/path | Path dari direktori home | Read(~/Documents/*.pdf) | /Users/alice/Documents/*.pdf |
/path | Path relatif terhadap file pengaturan | Edit(/src/**/*.ts) | <path file pengaturan>/src/**/*.ts |
path atau ./path | Path relatif terhadap direktori saat ini | Read(*.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 AndaEdit(//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 serverpuppeteer
(nama dikonfigurasi di Claude Code)mcp__puppeteer__puppeteer_navigate
Cocok dengan toolpuppeteer_navigate
yang disediakan oleh serverpuppeteer
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):
- Kebijakan enterprise
- Argumen baris perintah
- Pengaturan proyek lokal (
.claude/settings.local.json
) - Pengaturan proyek bersama (
.claude/settings.json
) - 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 lingkunganCLAUDE_CODE_API_KEY_HELPER_TTL_MS
untuk interval refresh kustom.