Bài viết này do AI tạo ra, có thể mắc sai sót.
repository_creation:write và installation_repositories:write.repository_administration:write chỉ để tạo repo.offline_access để dùng refresh token khi chuyển dần sang access token hết hạn.Quyền repository_creation:write cho phép GitHub App hoặc fine-grained PAT tạo repository trong phạm vi được cấp. Trước đây, thao tác này đòi repository_administration:write, vốn còn bao gồm quyền quản trị như xóa hoặc chuyển repository.
Tách quyền là cải thiện least privilege rõ ràng: pipeline bootstrap repo không phải cầm quyền lớn hơn công việc cần làm. Khi repo được tạo, ứng dụng hoặc người dùng tạo repo sẽ được truy cập nó; với tổ chức, GitHub App vẫn cần administrator cài đặt.
installation_repositories:write cho phép thêm hoặc gỡ repository khỏi GitHub App installation bằng GitHub App hoặc fine-grained PAT. Trước đó, API liên quan chỉ hỗ trợ scope repo rộng hơn.
Điều này hữu ích cho đội platform/security: automation có thể cấp một app vào đúng repository cần thiết và thu hồi khi dự án kết thúc, thay vì vận hành PAT của administrator có phạm vi lớn.
Nếu GitHub App đã được organization owner duyệt và cài ở cấp tổ chức, repository administrator giờ có thể sửa installation hiện hữu để thêm repository của mình mà không phải xin owner duyệt lại. GitHub nói thay đổi này không mở thêm organization-level access cho app hoặc cho repository administrator.
Tuy nhiên, organization vẫn có thể chặn hành vi này bằng chính sách giới hạn việc cài GitHub App cho organization owner. Đây là điểm cần rà lại nếu doanh nghiệp muốn kiểm soát tập trung tuyệt đối.
GitHub Apps hỗ trợ offline_access. App vẫn dùng access token ngắn hạn, nhưng nhận thêm refresh token cho flow đó. Cách này giúp đội từng tắt expiry vì sợ làm gãy client có thể thử nghiệm và rollout token hết hạn theo từng nhóm thay vì buộc chuyển toàn bộ cùng lúc.
GitHub cũng đưa client secrets và key pairs vào tab Credentials riêng. Workload federation chưa được công bố là khả dụng trong bản tin này, nhưng giao diện được chuẩn bị trước cho credential dạng đó.
Đây là thay đổi bảo mật vận hành, không phải tính năng UI đơn thuần. Quyền hẹp hơn giảm blast radius khi token hoặc automation bị lộ: một credential chỉ tạo repo không nên có khả năng xóa hoặc chuyển repo.
Đội DevSecOps nên rà GitHub Apps và PAT hiện có: thay repository_administration:write bằng repository_creation:write nếu flow chỉ tạo repo; thay scope repo trong automation quản lý installation khi có thể; kiểm thử refresh-token flow trước khi bắt buộc token hết hạn. Đừng tự hạ quyền trên production trước khi kiểm tra API call và rollback.
GitHub Apps ngày càng là lớp identity cho CI/CD, bot và agent. Cấp đúng quyền, giới hạn đúng repository và dùng token ngắn hạn có refresh là ba việc giảm rủi ro thực tế hơn nhiều so với chỉ thêm cảnh báo sau sự cố.