Upload organization và phân quyền team
Organization là workspace của doanh nghiệp, chứa các team, repository và kết quả đánh giá ứng dụng. Token upload cấp organization cho phép các job CI đáng tin cậy hoặc CLI trên máy cá nhân gửi report cho nhiều repo. Mỗi lần upload kèm một định danh repo ổn định; report, điểm số và lịch sử của từng repo/app vẫn được lưu riêng.
Credential riêng cho một repo tiếp tục được hỗ trợ. Chọn loại này khi workflow chỉ nên gửi dữ liệu cho một repo. Cả hai loại credential đều dùng để upload; quyền xem dashboard dựa trên tài khoản email/mật khẩu và membership của team.
Thiết lập organization
Phần tiêu đề “Thiết lập organization”- Đăng nhập Lattice Cloud bằng tài khoản owner của organization.
- Trong phần cài đặt organization, tạo team và gán mỗi repo cho team phụ trách.
- Cấp quyền organization cho người giám sát toàn hệ thống. Với người dùng team, chọn quyền theo team và danh sách team được xem. Một người có thể thuộc nhiều team.
- Tạo token upload với phạm vi organization. Bật tự đăng ký repo nếu muốn repo mới xuất hiện ở lần upload đầu tiên.
- Sao chép token một lần vào kho secret CI với tên
LATTICE_INGEST_TOKEN. Định danh ổn định của repo dùng biến thông thường, không phải secret.
Token organization có quyền gửi report vào mọi repo trong organization đó. Giữ token trong workflow do quản trị viên kiểm soát; không dùng token làm tài khoản dashboard. Khi rotate, cập nhật token mới trong CI rồi thu hồi token cũ. Token hết hạn hoặc bị thu hồi sẽ không nhận yêu cầu upload mới.
Gửi report từ nhiều repo
Phần tiêu đề “Gửi report từ nhiều repo”Luồng upload organization legacy vẫn tương thích CLI 0.10.0 trở lên; dùng gói hiện tại đã pin 0.11.1 với Node.js 24+. Sau khi cài gói đã pin, chạy:
# LATTICE_INGEST_TOKEN đã được cung cấp qua môi trường hoặc secret CI.pnpm exec lattice report push .nklattice-governance/assessment.json \ --server https://app.lattice.getgroove.me \ --repository web/customer-portal --dry-runKiểm tra bản xem trước đã lọc dữ liệu, sau đó bỏ --dry-run để upload. Ở repo khác, dùng cùng token và đổi thành --repository web/admin-console. Các job CI có thể chạy song song. Report monorepo chứa kết quả của nhiều app mà không cần tạo thêm credential cho từng app.
--repository chọn luồng mới, lấy LATTICE_INGEST_TOKEN từ môi trường. --project-key chọn luồng credential riêng của repo, lấy LATTICE_UPLOAD_PASSWORD. Mỗi lệnh chỉ dùng một loại. Lệnh cũ có --project-key giữ hành vi kể cả khi môi trường có token mới. Dry-run chạy cục bộ và không cần credential.
Repository key định danh repo bên trong một organization. Đây là mã ổn định, không phải secret, tách khỏi tên hiển thị. Dùng alias đã duyệt nếu tên repo cần giữ riêng tư. CLI không tự gửi Git remote URL. Cùng một key trong organization khác vẫn là một repo độc lập.
Có cần tạo repo trước không?
Phần tiêu đề “Có cần tạo repo trước không?”Nếu token cho phép tự đăng ký, lần upload hợp lệ đầu tiên tạo repo chờ duyệt khi key chưa tồn tại. Owner có thể xem report, gán team và duyệt policy SHA cùng danh sách app kỳ vọng. Repo chờ duyệt hiển thị cho quản trị viên trung tâm; việc tự gửi baseline không làm repo được công nhận là tuân thủ.
Nếu tắt tự đăng ký, hãy tạo hoặc import repo trước khi upload. Owner có thể nhập manifest hàng loạt, xem trước các mục tạo mới, gắn định danh và cập nhật rồi áp dụng. Khi gán key cho repo đã có, dùng existingProjectId rõ ràng để giữ lịch sử và credential cũ. Không đối chiếu tự động bằng tên hiển thị để di chuyển dữ liệu.
Tài khoản và quyền xem dữ liệu
Phần tiêu đề “Tài khoản và quyền xem dữ liệu”| Tài khoản | Được xem | Được cấu hình |
|---|---|---|
| Organization owner | Toàn bộ repo, kể cả repo chờ duyệt/chưa gán team | Team, thành viên, baseline và credential |
| Organization viewer | Toàn bộ repo, được owner cấp rõ ràng | Tài khoản cá nhân |
| Team viewer | Repo của các team được cấp quyền | Tài khoản cá nhân |
Owner tạo liên kết kích hoạt dùng một lần và chia sẻ qua kênh nội bộ an toàn. Người nhận tự đặt mật khẩu; liên kết hết hạn sau 24 giờ và không dùng lại được. Tài khoản đã có trong cùng organization giữ mật khẩu khi đổi phạm vi truy cập. Không tự chuyển tài khoản của organization khác bằng thao tác gán team.
Khi giới hạn một organization viewer cũ, phải đổi rõ phạm vi truy cập thành team và chọn membership. Chỉ thêm team không làm mất quyền xem toàn organization. Đăng ký tài khoản công khai tạo workspace mới; không đồng nghĩa gia nhập team của doanh nghiệp hiện tại.
Server kiểm tra membership hiện hành khi đọc dữ liệu, bao gồm metrics và mở report trực tiếp. Tài khoản chưa có membership không được xem dữ liệu team. Chuyển repo sang team khác đồng thời chuyển quyền xem lịch sử của repo; bộ lọc lịch sử dựa trên team phụ trách hiện tại.
Đọc metrics của nhiều team và repo
Phần tiêu đề “Đọc metrics của nhiều team và repo”Bộ lọc chung chọn team, repo, app, framework, domain, trạng thái và thời gian. Owner có thể so sánh nhiều team/repo; tài khoản team chỉ có các lựa chọn được cấp quyền. Tổng quan, tín hiệu, findings và lịch sử report áp dụng cùng phạm vi được phép.
Tuân thủ hiện tại dựa trên lần đánh giá CI hợp lệ mới nhất của nhánh mặc định, policy được duyệt, danh sách app kỳ vọng, bằng chứng đủ và độ mới. Report cục bộ vẫn có trong dữ liệu quan sát/lịch sử. Tỷ lệ tuân thủ lấy số app đã đăng ký đạt chuẩn chia tổng app đã đăng ký trong phạm vi đang chọn; không lấy trung bình phần trăm của các repo. Repo chưa cấu hình, thiếu bằng chứng và app chưa quét được hiển thị rõ.
Khi chọn một app trong report monorepo, phân biệt trạng thái/số liệu thuộc phạm vi đang chọn với kết quả report gốc toàn repo. Lọc một domain giúp xem kết quả domain đó; không biến đánh giá một phần thành tuân thủ governance toàn diện. Biểu đồ hoạt động dùng thời gian server nhận report; tình trạng hiện tại dùng lần đánh giá hợp lệ mới nhất.
Credential upload chứng minh quyền gửi dữ liệu, chưa xác minh nguồn repo hoặc commit CI mà client khai báo. Giao diện tiếp tục ghi rõ giới hạn này. Rotate token không đổi định danh repo hay xóa lịch sử report.
Giới hạn ban đầu của v2 là 120 lượt upload và 20 repo tự đăng ký mỗi phút cho một organization, tính chung các token. Khi chạm ngưỡng, server trả HTTP 429 kèm Retry-After: 60. Với danh sách repo lớn, import inventory đã duyệt trước lần quét đầu hoặc giãn thời gian upload; CI cần báo lỗi upload để không âm thầm bỏ report.
Xem thêm lệnh CLI, thiết lập AI agent và quản trị dự án.
Nguồn gốc và thao tác owner
Phần tiêu đề “Nguồn gốc và thao tác owner”Sau khi xác minh phát hành và operator kích hoạt, assessment2 dùng payload3/envelope4. Client kiểm capabilities trước upload; security contract không được hỗ trợ bị từ chối, không âm thầm hạ cấp. Helper scripts/security-upload.mjs nằm trong gói npm đã xác minh; không cần tải raw từ GitHub private. Đọc help và dùng workflow do owner quản lý. --provenance github-oidc phải được chọn rõ, có biến workload GitHub thật, challenge server dùng một lần, digest payload đúng và binding được owner duyệt. Có upload token không tự tạo verified provenance. Tách credential workload khỏi job chạy module repo không tin cậy.
Receipt gốc ghi phạm vi xác minh hẹp; trust hiện tại có thể mất điều kiện hợp lệ mà không sửa receipt đó. Đăng nhập vẫn password; OIDC chỉ cho workload. Duyệt model/waiver, rotate secret, hold và apply lifecycle cần quyền owner hiện tại và recent-auth phù hợp. Vận hành giải thích kế toán quota, webhook cấu hình sau, lưu giữ và recovery cô lập. Không bật public v3 trước các gate operator và registry.