# Tài khoản, xác thực 2 lớp và vai trò

> Bật xác thực 2 lớp, mã khôi phục, xác nhận lại cho thao tác nhạy cảm, vai trò trong workspace và lời mời.

Belvador điều khiển hạ tầng trong tài khoản Hetzner của bạn và giữ thông tin về các ứng dụng, nên bảo mật tài khoản được thiết kế chặt: thao tác nhạy cảm cần xác thực 2 lớp, và những thao tác nhạy cảm nhất hỏi lại một mã mới.

## Đăng nhập

- **Tạo tài khoản** với tên, email và mật khẩu, rồi xác nhận email. Nếu email đó đã có tài khoản, màn hình vẫn trông giống hệt — Belvador không bao giờ để lộ ai có tài khoản.
- **Đăng nhập Belvador** bằng email và mật khẩu, rồi nhập mã 6 số nếu đã bật xác thực 2 lớp.
- Quên mật khẩu? Chọn **Quên mật khẩu?** trên trang đăng nhập; Belvador gửi email kèm link đặt lại, dùng được một lần và hết hạn sau 1 giờ.

## Xác thực 2 lớp

Bật ở **Tài khoản → Bảo mật tài khoản**, hoặc ngay khi tạo workspace.

1. Quét mã QR bằng ứng dụng xác thực (Google Authenticator, 1Password, Authy…) hoặc gõ mã bí mật hiện trên màn hình.
2. Nhập mã 6 số để xác nhận.
3. Cất **Mã khôi phục**. Có 10 mã, mỗi mã dùng **một lần**, và chỉ hiện đúng lúc này. Lưu trong trình quản lý mật khẩu hoặc in ra.

Bạn cần xác thực 2 lớp trước khi kết nối Hetzner, mời người khác hay đổi vai trò.

### Mất điện thoại?

Trên màn hình nhập mã, chọn **Mất thiết bị? Dùng mã khôi phục** và nhập một mã đã lưu. Mỗi mã dùng một lần — sau đó hãy cài lại ứng dụng xác thực trong Bảo mật tài khoản và tạo bộ mã khôi phục mới.

Nếu bạn mất cả ứng dụng xác thực lẫn mã khôi phục, hãy gửi email tới hello@belvador.dev từ địa chỉ email của tài khoản.

## Xác nhận lại cho thao tác nhạy cảm

Một số thao tác sẽ hỏi **Xác nhận là bạn**: nhập mã hiện tại từ ứng dụng xác thực. Mã đã xác nhận trong 10 phút gần nhất vẫn được tính, nên một loạt thay đổi liền nhau chỉ hỏi một lần. Nhờ vậy, chỉ lấy được phiên đăng nhập thì không thể đổi hạ tầng hay quyền truy cập.

Các thao tác cần xác nhận lại:

- kết nối Hetzner và chọn chế độ giữ token;
- tạo hoặc thu hồi khoá DSN và token upload;
- mời thành viên và đổi vai trò;
- đổi email hoặc mật khẩu, tạo lại mã khôi phục, tắt xác thực 2 lớp;
- bật truy cập hỗ trợ;
- thêm, sửa hoặc xoá đích nhận cảnh báo;
- thay máy, xoá node, đổi người giữ khoá backup, tải bộ khôi phục lên;
- xoá project hoặc workspace.

Nếu chưa bật xác thực 2 lớp, Belvador sẽ yêu cầu **Bật xác thực 2 lớp** trước.

## Phiên đăng nhập

**Bảo mật tài khoản → Phiên đăng nhập** liệt kê các nơi bạn đang đăng nhập. **Đăng xuất mọi thiết bị khác** kết thúc mọi phiên trừ phiên hiện tại. Trang này cũng hiện lịch sử bảo mật của riêng bạn.

## Vai trò trong workspace

Mỗi thành viên của workspace có một vai trò. Vai trò cao hơn làm được mọi việc của vai trò thấp hơn.

| Vai trò | Làm được |
|---|---|
| **Viewer** | Xem project, issue, Fleet, node và cảnh báo |
| **Member** | Thêm: xử lý issue (xử lý xong, lưu trữ, gán người, ưu tiên), tạo và quản lý project |
| **Admin** | Thêm: quản lý cảnh báo, thành viên, kết nối Hetzner, node, giới hạn và bảo vệ dữ liệu của project, cài đặt workspace và truy cập hỗ trợ |
| **Owner** | Thêm: xoá node hoặc workspace, chọn chế độ giữ token Strict và người giữ khoá backup, nâng người khác lên owner |

Workspace luôn có ít nhất một owner.

## Nhật ký thao tác

Các thao tác liên quan đến bảo mật — đăng nhập từ thiết bị mới, đổi xác thực 2 lớp, đổi vai trò, lời mời, khoá DSN và token upload, đích nhận cảnh báo, kết nối Hetzner, thao tác với node, truy cập hỗ trợ và thao tác xoá — được ghi vào một nhật ký chỉ thêm. Mỗi dòng nối với dòng trước bằng mã băm và chuỗi được neo ra ngoài cơ sở dữ liệu mỗi ngày, nên không thể sửa hay xoá một dòng mà không lộ ra. Mỗi dòng ghi ai, làm gì, lúc nào và trên đối tượng nào, không bao giờ có giá trị bí mật hay nội dung lỗi.

Bạn xem các dòng của chính mình ở **Bảo mật tài khoản → Phiên đăng nhập**; owner xem từng lần truy cập hỗ trợ ở **Cài đặt → Truy cập hỗ trợ**. Hiện chưa có trang nhật ký chung cho cả workspace.

## Mời thành viên

1. Mở **Cài đặt → Thành viên → Mời**.
2. Nhập email và vai trò: **Admin**, **Member** hoặc **Viewer**. (Owner được tạo bằng cách nâng vai trò một thành viên.)
3. **Tạo lời mời** — xác nhận bằng mã.

Belvador gửi lời mời qua email, hoặc — nếu chưa thiết lập gửi email — hiện một liên kết để bạn tự gửi. **Link này chỉ hiện một lần.** Link hết hạn sau 7 ngày. Lời mời đang chờ được liệt kê kèm hạn và có thể thu hồi.

## Truy cập hỗ trợ

Nhân viên Belvador không đọc được lỗi, event, trace hay log của bạn — chúng nằm trên node của bạn, và không vai trò nhân viên nào lấy được vé vào node. Nhân viên chỉ thấy metadata tài khoản: tên workspace và project, phiên bản, số đếm và tình trạng.

**Cài đặt → Truy cập hỗ trợ** mặc định tắt. Khi admin bật (bằng mã xác thực), đội hỗ trợ Belvador xem thêm được cấu hình workspace — monitor, kiểm tra uptime, quy tắc cảnh báo và cài đặt project — để hỗ trợ bạn nhanh hơn. Giá trị bí mật (token, URL webhook, chat ID, mật khẩu) không bao giờ hiện cho nhân viên. Các phiên của chế độ xem hỗ trợ cũ, nếu có, vẫn liệt kê ở **Các phiên hỗ trợ trước đây**.

## Xoá workspace

Owner có thể **Xoá workspace** trong **Cài đặt**: gõ địa chỉ workspace và xác nhận bằng mã. Lệnh xoá chạy sau 24 giờ kể từ lúc xác nhận và huỷ được trong thời gian đó.
