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

Để một Firebase Extension thực hiện các hành động đã chỉ định, Firebase sẽ cấp cho mỗi thực thể của một tiện ích đã cài đặt quyền truy cập hạn chế vào dự án của bạn và dữ liệu 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 tài khoản người dùng đặc biệt của Google. Tài khoản này đại diện cho một người dùng không phải là người thật, đượ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 thực thể đã 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 cho tài khoản dịch vụ của một tiện ích các vai trò cụ thể (gói quyền). Các vai trò mà một tiện ích cần để hoạt động do Firebase xác định 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 một tiện ích, và bạn không nên sửa đổi, thêm hoặc xoá bất kỳ vai trò nào được chỉ định 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 để xoá hoàn toàn tài khoản dịch vụ (và quyền truy cập của tài khoản dịch vụ).

Các 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 phần cài đặt 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 cần để 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ò (gói quyền) mà Firebase sẽ 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 vai trò đó) đều 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.dataEditor, và firebasedatabase.admin. Firebase liệt kê các vai trò bắt buộc đối với một tiện ích trong tệp đặc tả của tiện ích (tệp extension.yaml file).

Đối với các tiện ích Firebase chính thức, Firebase sẽ xem xét kỹ lưỡng danh sách vai trò này để đảm bảo rằng quyền truy cập của một tiện ích bị giới hạn nghiêm ngặt trong phạm vi các tác vụ của tiện ích. Bạn cũng có thể tự xem xét và xác nhận 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 Firebase Extensions trang tổng quan hoặc xem tệp README.

Tìm hiểu về các quyền có trong mỗi 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 tiện ích khỏi dự án, Firebase sẽ xoá tài khoản dịch vụ được tạo cho thực thể đó của tiện ích. Sau khi xoá tài khoản dịch vụ này, tiện ích sẽ không thể chạy trong dự án của bạn vì không còn quyền truy cập vào dự án hoặc dữ liệu của bạn nữa.