Chuyển tới nội dung
Sursa Developers

Phạm vi quyền của khóa

Phạm vi quyền chỉ một phần của API mà khóa được phép gọi. Mỗi endpoint trong tài liệu tham chiếu API khai báo một phạm vi mà nó cần. Yêu cầu với khóa thiếu phạm vi đó bị từ chối với 403 và mã api_keys.scope, trước khi bất cứ thứ gì được đọc hoặc thay đổi.

Phạm vi quyền cho biết khóa được gọi những thao tác nào. Vai trò, hồ sơ dữ liệu và bộ sưu tập của khóa vẫn quyết định những thao tác đó nhìn thấy đối tượng nào: khóa có cards:write và vai trò viewer không thể thay đổi thẻ, còn khóa bị giới hạn trong một bộ sưu tập không nhìn thấy các bộ sưu tập khác.

Phạm vi quyền

Phạm viCho phép
cards:readĐọc thẻ, bộ sưu tập và thư mục.
cards:writeTạo, thay đổi và xóa thẻ, bộ sưu tập và thư mục.
searchTìm kiếm trong cơ sở tri thức (POST /v1/search).
askĐặt câu hỏi cho trợ lý (POST /v1/ask, POST /v1/chat).
import:writeGhi vào các nguồn tùy chỉnh của tổ chức: đồng bộ, lô và thao tác xóa, và đọc trạng thái của chúng. Việc tạo nguồn và khóa của nguồn cần admin.
webhooks:manageQuản lý webhook và đọc nguồn cấp sự kiện (GET /v1/webhook-events). Cả hai việc đều cần thêm vai trò admin.
users:readĐọc người dùng và nhóm.
users:writeThay đổi người dùng và nhóm.
analytics:readĐọc số liệu phân tích.
audit:readĐọc nhật ký kiểm toán.
finance:readĐọc báo cáo tài chính, hóa đơn và khoản thanh toán.
catalog:readĐọc catalog dịch vụ.
files:readĐọc các tệp được tạo ra, chẳng hạn câu trả lời đã xuất.
files:writeThay đổi và xóa các tệp được tạo ra.
permissions:manageGán và thu hồi quyền trên đối tượng.
adminCài đặt của tổ chức và các khóa API của tổ chức. Khóa có admin cũng có mọi phạm vi khác.

Tìm kiếm và đặt câu hỏi về bản chất là thao tác đọc: khóa chỉ được đọc vẫn có thể tìm kiếm và đặt câu hỏi.

Chọn phạm vi quyền

Chỉ cấp những phạm vi mà tích hợp sử dụng, không gì thêm:

Tích hợpPhạm vi
Bot hỏi đáp trong công cụ trò chuyệnsearch, ask
Nhập từ hệ thống tài liệu của bạncards:write (API thẻ) hoặc import:write (nguồn tùy chỉnh)
Xuất sang kho dữ liệucards:read, users:read và webhooks:manage cho nguồn cấp sự kiện
Cấp tài khoản người dùng từ hệ thống nhân sự của bạnusers:write

Truyền danh sách này khi bạn tạo khóa:

curl -X POST https://api.sursa.com/v1/api-keys \
  -H "Authorization: Bearer $SURSA_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Support bot", "role": "viewer", "scopes": ["search", "ask"]}'

Phạm vi quyền trước đây

Các khóa được tạo trước khi phạm vi quyền được chia nhỏ vẫn tiếp tục hoạt động. Các phạm vi read, write và admin của chúng tương ứng với các tập sau:

Phạm vi trước đâyNghĩa là
readcards:read, search, ask, users:read, analytics:read, finance:read, catalog:read, files:read
writemọi thứ trong read, cộng thêm cards:write, files:write, users:write, permissions:manage
adminmọi phạm vi

Khóa được tạo mà không chỉ rõ phạm vi sẽ nhận phạm vi theo vai trò của nó: admin nhận admin; editor và verifier nhận write; viewer nhận read.

Xem phạm vi quyền của khóa

GET /v1/me trả về các phạm vi của khóa gửi yêu cầu, dù khóa đó có phạm vi nào. Với khóa được tạo mà không chỉ định phạm vi rõ ràng, đó là các phạm vi cũ của vai trò, chẳng hạn read và write; bảng ở trên cho biết chúng tương ứng với gì. Khi một thao tác thất bại với api_keys.scope, error.message cho biết phạm vi còn thiếu.