# DSN, khoá ingest, ping URL, token và vé node

> Mỗi loại khoá của Belvador làm được gì, có bí mật không, lấy ở đâu, hạn bao lâu và thu hồi thế nào; không khoá nào là khoá quản trị toàn quyền.

Belvador dùng một loại khoá riêng cho mỗi việc, nên một khoá bị lộ chỉ làm được đúng việc đó. Không khoá nào là khoá quản trị toàn quyền cho cả workspace.

## Các loại khoá

| Khoá | Trông như | Bí mật? | Làm được gì | Lấy ở đâu |
|---|---|---|---|---|
| **DSN** | `https://<public-key>@…/<project-id>` | Không — nằm trong code trình duyệt | Gửi lỗi, check-in và phép kiểm kết nối vào một project. Không đọc được gì | Trang project ([Project và DSN](https://belvador.dev/vi/docs/projects-and-dsn)) |
| **Khoá ingest** | `bvi_…` | Có — chỉ dùng ở máy chủ | Gửi traces và logs OpenTelemetry (và check-in, khi project bắt buộc có khoá) vào một project, cho đúng loại dữ liệu và môi trường bạn chọn. Không đọc được gì | **Cài đặt project → Khoá ingest**, chỉ hiện một lần ([bắt đầu nhanh](https://belvador.dev/vi/docs/otel/quickstart)) |
| **Ping URL** | một URL có token ngẫu nhiên dài | Có | Báo lượt chạy cho một monitor ping URL. Không đọc được gì | Trang monitor ([Monitor ping URL](https://belvador.dev/vi/docs/monitors/heartbeat)) |
| **Token upload** | token cho `sentry-cli` | Có — cất trong secret của CI | Tải source map lên cho một project, 60 request mỗi giờ, hạn 365 ngày | **Cài đặt project → Token upload**, chỉ hiện một lần ([Source map](https://belvador.dev/vi/docs/source-maps)) |
| **Vé node** | một đoạn chữ ký ngắn bạn không phải cầm | — | Cho trình duyệt của bạn đọc node qua edge của Belvador sau khi app đã kiểm vai trò: vé đọc tối đa 5 phút, vé sửa tối đa 60 giây và chỉ dùng một lần | App cấp cho mỗi trang bạn mở |
| **API token cá nhân** | `blv_pat_…` | Có — chỉ dùng ở máy chủ hoặc agent | Gọi [REST API](https://belvador.dev/vi/docs/reference/api) với tư cách của bạn, trong một workspace, giới hạn theo quyền, project và môi trường bạn chọn, không bao giờ vượt vai trò hiện tại của bạn. Hạn tối đa 365 ngày | **Tài khoản → API token**, chỉ hiện một lần |
| **Token service** | `blv_svc_…` | Có — cất trong secret của CI hoặc máy chủ | Gọi REST API với tư cách một service account của workspace (cho CI và hệ thống khác), cùng các giới hạn đó; vẫn chạy khi người tạo rời workspace | **Cài đặt workspace → Service account**, chỉ hiện một lần |
| **Quyền cho ứng dụng OAuth** | `blv_oat_…` (access), `blv_ort_…` (refresh) — ứng dụng tự giữ | Có — do ứng dụng bạn kết nối giữ | Gọi REST API thay bạn từ một ứng dụng bạn đã duyệt trên belvador.dev, trong workspace, quyền, project và môi trường bạn chọn, không bao giờ vượt vai trò của bạn. Access sống 60 phút và tự gia hạn; dừng sau 30 ngày không dùng | Ứng dụng xin; bạn duyệt trên belvador.dev. Xem và ngắt ở **Tài khoản → Ứng dụng đã kết nối** |
| **Phiên đăng nhập** | lần đăng nhập của bạn | — | Mọi việc [vai trò trong workspace](https://belvador.dev/vi/docs/account-security#vai-tro-trong-workspace) cho phép; thao tác nhạy cảm còn hỏi mã xác thực mới | Đăng nhập |

## Quy tắc chung

- **Chỉ hiện một lần.** Khoá bí mật chỉ hiện lúc tạo. Belvador giữ mã băm, không giữ giá trị, và hiện một đoạn đầu ngắn để bạn phân biệt.
- **Thu hồi được.** Thu hồi có hiệu lực ở mọi nơi trong khoảng một phút. Tạo và thu hồi khoá, token hỏi mã xác thực và được ghi vào [nhật ký thao tác](https://belvador.dev/vi/docs/account-security#nhat-ky-thao-tac).
- **Được lọc khỏi log và cảnh báo.** Log của chính Belvador và tin cảnh báo đi qua bộ lọc bí mật, bỏ các định dạng khoá của Belvador và các token dài khác.
- **Phía gửi không đọc được.** DSN, khoá ingest hay ping URL bị lộ chỉ cho người khác gửi dữ liệu vào project của bạn, không đọc được. Hãy thu hồi và tạo khoá mới.

## API token không tự làm việc nhạy cảm

Token đọc được và sửa được những thứ thông thường. Khoá, thành viên, nơi nhận cảnh báo và thay đổi node trả `APPROVAL_REQUIRED`: một người duyệt trên belvador.dev bằng mã mới từ ứng dụng xác thực. Token không bao giờ mang mã đó.

## AI agent

AI agent kết nối qua [máy chủ MCP](https://belvador.dev/vi/docs/mcp) — bằng OAuth nếu công cụ hỗ trợ, nếu không thì bằng token cá nhân chỉ đọc lấy từ biến môi trường — hoặc gọi thẳng [REST API](https://belvador.dev/vi/docs/reference/api). Cách nào agent cũng chỉ giữ một token thông thường, nên quy tắc ở trên vẫn áp dụng: agent không bao giờ tự duyệt thay đổi nhạy cảm. Xem thêm [Cho AI agent](https://belvador.dev/vi/docs/ai-agents).
