Single sign-on
Izinkan orang dan layanan memanggil server Claude Managed Agents yang di-host sendiri dengan token dari penyedia identitas Anda.
Secara default, server Anda menerima satu kunci bersama, yaitu kunci API server. Dengan “single sign-on” (masuk tunggal), setiap orang atau layanan juga dapat memanggil server dengan token dari penyedia identitas OpenID Connect (OIDC) Anda. Server memberikan peran kepada pemanggil berdasarkan grup di dalam token. Kunci API server tetap berfungsi sebagai kredensial administrator.
Halaman ini menunjukkan cara menambahkan penyedia identitas Anda, apa yang dapat dilakukan setiap peran, dan cara mengizinkan developer login dari terminal.
Menambahkan penyedia identitas Anda
Daftarkan server di penyedia identitas Anda
Daftarkan server sebagai API dengan pengidentifikasi seperti
api://cma-server, dan minta klien untuk meminta token untuknya.Cantumkan penyedia identitas di file pengaturan
Tambahkan entri di bawah
auth.issuersdi file pengaturan:auth: issuers: - name: okta issuer_url: https://login.example.com/oauth2/default audiences: [api://cma-server] roles: - group: cma-admins role: admin - group: "eng-*" role: developernamememberi label pada issuer di baris log, dan server mencatatnya sebagai bagian dari pembuat setiap resource. Jangan mengubahnya setelah orang-orang membuat resource.issuer_urlharus sama dengan klaimisspada token Anda.audiencesmencantumkan nilai yang dapat dibawa oleh klaimaudsebuah token, seperti pengidentifikasi dari langkah pertama.rolesmemetakan sebuah grup keadmin,developer, atauuser. Peran tertinggi yang cocok yang berlaku.
Untuk field lainnya, lihat Entri issuer. Jika penyedia Anda adalah Microsoft Entra ID, lihat juga Microsoft Entra ID.
Mulai ulang server dan periksa sign-in
Mulai ulang server. Pemanggil mengirim token sebagai
Authorization: Bearer <token>, pada rute mana pun yang menerima kunci API server.Untuk setiap permintaan yang diautentikasi oleh token, server mencatat
auth=oidc,nameissuer, dan subjek pemanggil (sub=).
Jika sign-in gagal
| Respons | Penyebab | Baris log server berisi |
|---|---|---|
401, sama seperti untuk kunci API yang salah | Token gagal dalam pemeriksaan. Baris log memuat alasannya. | oidc token |
403 | Grup token tidak cocok dengan entri roles mana pun | token holds no role |
Microsoft Entra ID
Entra ID berbeda dari penyedia lain dalam dua hal. Kedua pengaturan dimasukkan ke dalam entri issuer:
- Orangnya: Entra ID memberikan
subyang berbeda kepada seseorang di setiap aplikasi klien, sehingga pengaturan default akan mencatat satu orang sebagai beberapa pembuat. Atursubject_claim: oid. - Grupnya: Entra ID menghilangkan klaim
groupsdari token jika orang tersebut menjadi anggota banyak grup. Orang tersebut kemudian tidak cocok dengan entrirolesmana pun. Untuk mencegah hal ini, minta Entra ID mengeluarkan hanya grup yang ditetapkan ke aplikasi. Atau tetapkan app role kepada orang-orang di Entra ID, dan aturgroups_claim: rolesagar server membaca app role sebagai pengganti grup.
Apa yang dapat dilakukan setiap peran
| Peran | Agen, skill, sesi, vault, dan memory store | Environment |
|---|---|---|
admin, dan kunci API server | Melihat dan mengubah semuanya | Membuat, mengubah, dan menghapusnya, serta membuat kuncinya |
developer atau user | Melihat dan mengubah hanya apa yang dibuat oleh pemanggil tersebut | Mencantumkannya, membacanya, dan menjalankan sesi di dalamnya |
developer dan user memiliki akses yang sama. Pemanggil dengan salah satu peran tersebut:
- Tidak dapat melihat resource yang dibuat oleh orang lain. Resource tersebut tidak muncul dalam daftar, dan permintaan untuk ID-nya mendapatkan respons yang sama seperti permintaan untuk ID yang tidak dikenal. Hal ini mencakup semua yang dibuat dengan kunci API server sebelum Anda mengaktifkan single sign-on.
- Tidak dapat membagikan resource dengan pemanggil lain atau grup.
Petakan admin ke nama grup yang persis. Seorang administrator juga dapat memulai sesi yang menggunakan vault milik pengguna mana pun. Jadi berikan peran tersebut hanya kepada grup yang Anda percayai untuk memegang token MCP setiap pengguna.
Mengizinkan developer login dari terminal
Developer dapat login melalui penyedia identitas Anda lalu menggunakan CLI ant dengan identitas mereka sendiri, tanpa kunci API server. Anda melakukan dua langkah pertama, dan setiap developer melakukan langkah ketiga.
Daftarkan aplikasi di penyedia identitas Anda
Daftarkan aplikasi native (“publik”) dengan pengaturan berikut:
- Tanpa client secret
- Grant kode otorisasi beserta PKCE
- Redirect URI
http://127.0.0.1/callback
Beberapa penyedia memerlukan salah satu dari redirect URI lainnya.
Tambahkan aplikasi ke entri issuer
Tambahkan
login_client_iddanlogin_scopeske entri issuer, lalu mulai ulang server:login_client_id: 0oa1b2c3d4e5f6g7h8i9 login_scopes: [openid, cma-server.access]login_scopesmencantumkan scope yang dibutuhkan penyedia Anda untuk menerbitkan token yang klaimaud-nya ada di daftaraudiencesentri issuer.Login
Setiap developer menjalankan login dari tingkat teratas arsip yang diekstrak:
./cma-server-admin login https://cma.example.comURL server harus menggunakan
https://, atauhttp://kelocalhost,127.0.0.1, atau::1. Dengan salah satu dari redirect URI lainnya, tambahkan flag-nya ke perintah.Perintah tersebut membuka halaman sign-in penyedia di browser lalu menulis profil CLI
antbernamacma-server. Berikan--profile cma-serverke perintahantmana pun, atau jalankanant profile activate cma-serveruntuk menjadikan profil tersebut sebagai default.
Ketika token kedaluwarsa, developer menjalankan login lagi. Agar CLI ant yang memperbarui token sebagai gantinya, tambahkan offline_access ke login_scopes.
Redirect URI lainnya
| Penyedia | Redirect URI yang didaftarkan | Flag yang ditambahkan developer ke perintah login |
|---|---|---|
| Microsoft Entra ID | http://localhost/callback | -listen localhost:0 |
| Penyedia yang mewajibkan port di redirect URI | URI dengan port tetap, seperti http://127.0.0.1:8123/callback | -listen 127.0.0.1:8123 |
Untuk mencantumkan flag lainnya, tambahkan -h ke perintah login.
Mengizinkan orang sign in ke konsol di server Anda
Konsol di server Anda membuat orang melakukan sign-in melalui aplikasi yang Anda daftarkan untuk login terminal. Untuk menyelesaikan penyiapannya, lihat Menyiapkan sign-in.
Apakah halaman ini membantu?