Skip to main content
Xoay vòng là thay khóa gửi dữ liệu của dự án bằng một khóa mới. Việc này không thay đổi dự án hoặc telemetry đã lưu. Quản lý khóa bằng xác thực tài khoản. Khóa gửi dữ liệu chỉ gửi được telemetry. Khóa này không dùng để quản lý khóa. Trước khi bắt đầu, cài CLI và đăng nhập. Đặt LOGBREW_PROJECT_ID thành UUID của dự án. Đặt LOGBREW_API_URL thành https://api.logbrew.co. Các ví dụ dùng Bash, curl 7.76.0 trở lên và jq. Với lần xoay vòng theo kế hoạch, tạo, triển khai và kiểm tra khóa thay thế trước khi thu hồi khóa cũ. Đặt chu kỳ xoay vòng trong chính sách bảo mật của bạn. Nếu khóa có ngày hết hạn, thay khóa trước ngày đó.
Khóa bị lộ là một sự cố bảo mật. Thu hồi khóa ngay lập tức, kể cả khi khóa thay thế chưa được triển khai. Ứng dụng vẫn dùng khóa đã bị thu hồi sẽ không gửi được telemetry.
1

Tạo khóa thay thế

POST /api/projects/{project_id}/ingest-keys nhận label không rỗng, dài tối đa 120 ký tự. kind là cli, sdk, browser, server hoặc artifact. Khóa artifact không gửi được telemetry. expires_at không bắt buộc và phải là thời điểm RFC3339 trong tương lai.Dùng cùng kind với khóa cũ. CLI dùng sdk khi bạn bỏ --kind, và dùng CLI-created SDK key khi bạn bỏ --label. CLI không có flag đặt ngày hết hạn. Để đặt expires_at, dùng API.CLI lưu token dùng một lần vào một tệp mới mà chỉ chủ sở hữu truy cập được, nằm ngoài hệ thống quản lý mã nguồn. CLI in metadata, không in token:
Chỉ tiếp tục sau khi lệnh thành công. Đặt NEW_KEY_ID thành ingest_key.id được trả về.Nếu kết quả không chắc chắn, chạy lại đúng lệnh đó. CLI dùng lại khóa thử lại đang chờ của nó. Không dùng --abandon-retry cho lần thử lại này.Client gọi API trực tiếp chỉ nhận token một lần trong phản hồi. Để thử lại, gửi cùng header Idempotency-Key với cùng body. Trong 24 giờ, lần thử lại đó trả về cùng một khóa. Không bao giờ in, commit hoặc chia sẻ token.
2

Triển khai khóa mới khi khóa cũ vẫn hoạt động

Đặt token mới vào cài đặt triển khai được bảo vệ. Triển khai ứng dụng. Giữ khóa cũ ở trạng thái hoạt động. Không để cả hai token xuất hiện trong mã nguồn, đầu ra build và log.
3

Gửi một sự kiện giả lập

Nạp token mới vào biến shell new_ingest_key. Không in token. Gửi một log giả lập bằng khóa mới, rồi đọc lại log đó:
Chỉ tiếp tục khi lần đọc trả về đúng log này với cùng occurred_at. Một log kiểm tra xoay vòng cũ hơn không chứng minh khóa mới hoạt động. Đồng thời xác nhận ứng dụng đã triển khai có gửi telemetry. Nếu một lệnh thất bại, dừng lại và đọc phản hồi. Giữ khóa cũ hoạt động, trừ khi khóa đó đã bị lộ.
4

Liệt kê metadata khóa không chứa thông tin bí mật

Đặt LOGBREW_ACCOUNT_BEARER từ xác thực tài khoản của bạn. Tìm ID của khóa cũ. Xác nhận NEW_KEY_ID đang ở trạng thái active:
Phản hồi là một mảng metadata khóa, không chứa token. Trạng thái là active, expired hoặc revoked. Khóa chuyển sang expired khi đã qua thời điểm expires_at.
5

Chỉ thu hồi khóa cũ

Đặt OLD_KEY_ID từ danh sách. Lệnh chỉ thu hồi khóa cũ khi hai ID khác nhau:
DELETE có tính idempotent: gửi lại cùng yêu cầu không gây thêm thay đổi. Lệnh trả về metadata khóa với status: "revoked" và revoked_at đã được đặt. Bạn có thể lặp lại lệnh một cách an toàn sau khi nhận phản hồi không chắc chắn.Chạy unset new_ingest_key. Xử lý tệp khóa theo chính sách quản lý thông tin bí mật của bạn.

Khôi phục an toàn

Nếu xoay vòng vẫn thất bại, báo cáo sự cố. Chỉ chia sẻ metadata khóa. Không đưa vào thông tin xác thực, header, telemetry thô, dữ liệu khách hàng, đường dẫn cục bộ hoặc mã nguồn.