Để Firebase Extension thực hiện các hành động được chỉ định, Firebase cấp cho mỗi thực thể của một 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 một 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 Google đặc biệt. Mã này đại diện cho một người dùng không phải là con người mà được phép truy cập vào dữ liệu thông qua 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 phiên bản đã 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 các vai trò cụ thể cho tài khoản dịch vụ (các gói quyền). Các vai trò mà tiện ích yêu cầu phải do Firebase xác định trong quá trình phát triển tiện ích. Tại 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 hay 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á dịch vụ tài khoản (và quyền truy cập của tài khoản đó).
Tài khoản dịch vụ được tạo cho phần mở rộng có định dạng như sau:
ext-extension-instance-id@project-id.iam.gserviceaccount.com
Bạn có thể xem tất cả tài khoản dịch vụ được liên kết với dự án Firebase của mình trong
thời gian
Tài khoản dịch vụ
thẻ
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 của người dùng tiện ích cần có để 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 tiện ích tài khoản dịch vụ 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 cụ thể hoặc
. 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 thông số kỹ thuật của tiện ích (phần
Tệp extension.yaml
).
Đối với các tiện ích Firebase chính thức, Firebase sẽ xem xét kỹ danh sách vai trò này để đảm bảo quyền truy cập của tiện ích 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à tự xác nhận quyền truy cập
được cấp cho tiện ích bằng cách xem trang chi tiết của tiện ích trong
Trang tổng quan của Firebase Extensions hoặc xem trang tổng quan
README
.
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 gỡ cài đặt tiện ích khỏi dự án của bạn, Firebase sẽ xoá tài khoản dịch vụ được tạo cho bản sao tiện ích đó. Sau khi tài khoản dịch vụ này bị xoá, tiện ích 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.