Các quyền được cấp cho một Tiện ích Firebase

Để một tiện ích Firebase thực hiện các hành động đã chỉ định, Firebase sẽ cấp cho mỗi bản sao của tiện ích đã cài đặt quyền truy cập có giới hạn vào dự án và dữ liệu của bạn thông qua tài khoản dịch vụ.

Tài khoản dịch vụ là gì?

Tài khoản dịch vụ là một loại đặc biệt của tài khoản người dùng Google. Hồ sơ này đại diện cho một người dùng không phải là người dùng được uỷ quyền truy cập vào dữ liệu bằng API của Google.

Trong quá trình cài đặt một tiện ích, Firebase sẽ tạo một tài khoản dịch vụ trong dự án của bạn. Mỗi bản sao đã cài đặt của một tiện ích đều có tài khoản dịch vụ riêng.

Firebase giới hạn quyền truy cập vào dự án và dữ liệu của bạn bằng cách chỉ định vai trò (các gói quyền) cụ thể cho tài khoản dịch vụ của tiện ích. Firebase sẽ xác định các vai trò mà một tiện ích cần có để hoạt động trong quá trình phát triển tiện ích. Khi cài đặt, Firebase sẽ chỉ định các vai trò này cho tài khoản dịch vụ của tiện ích và bạn không nên sửa đổi, thêm hoặc xoá bất kỳ vai trò đã chỉ định nào trong số này (nếu không, tiện ích đã cài đặt sẽ không hoạt động như mong đợi). Tuy nhiên, bạn có thể gỡ cài đặt tiện ích. Thao tác này sẽ xoá hoàn toàn tài khoản dịch vụ (và quyền truy cập của tài khoản đó).

Tài khoản dịch vụ được tạo cho tiện ích có định dạng: ext-extension-instance-id@project-id.iam.gserviceaccount.com.

Bạn có thể xem tất cả các tài khoản dịch vụ được liên kết với dự án Firebase của mình trong thẻ Tài khoản dịch vụ của Cài đặt dự án.

Quyền và vai trò

Trong quá trình phát triển một tiện ích, Firebase sẽ xác định cấp truy cập mà một tiện ích yêu cầu để hoạt động.

Firebase xác định cấp truy cập này bằng cách liệt kê rõ ràng các vai trò (các gói quyền) mà Firebase nên chỉ định cho tài khoản dịch vụ của tiện ích trong quá trình cài đặt tiện ích.

Mỗi vai trò (và các quyền vốn có của nó) dựa trên một sản phẩm hoặc dịch vụ cụ thể. Ví dụ về các vai trò là firebasehosting.admin, bigquery.dataEditorfirebasedatabase.admin. Firebase liệt kê các vai trò bắt buộc đối với một tiện ích trong tệp thông số kỹ thuật của tiện ích (tệp extension.yaml).

Đối với các tiện ích Firebase chính thức, Firebase xem xét kỹ lưỡng danh sách các vai trò này để đảm bảo rằng quyền truy cập của tiện ích được giới hạn nghiêm ngặt trong phạm vi tác vụ của tiện ích. Bạn cũng có thể xem xét và xác nhận cho chính mình quyền truy cập đã được cấp cho một tiện ích bằng cách xem trang chi tiết của tiện ích trong trang tổng quan Tiện ích Firebase hoặc xem tệp README của tiện ích đó.

Tìm hiểu về quyền của từng vai trò:

Điều gì xảy ra khi tôi gỡ cài đặt một tiện ích?

Khi bạn gỡ cài đặt một tiện ích khỏi dự án của mình, Firebase sẽ xoá tài khoản dịch vụ được tạo cho phiên bản tiện ích đó. Sau khi tài khoản dịch vụ bị xoá, tiện ích này sẽ không thể chạy trong dự án của bạn vì tiện ích này không còn quyền truy cập vào dự án hoặc dữ liệu của bạn nữa.