Để Firebase Extension thực hiện các thao tác đã chỉ định, Firebase sẽ cấp cho mỗi phiên bản của một tiện ích đã cài đặt quyền truy cập hạn chế 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 đặc biệt của Google. Đây là một người dùng không phải là con người được phép truy cập vào dữ liệu bằng cách sử dụ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 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 vai trò cụ thể (nhóm quyền) cho tài khoản dịch vụ của tiện ích. Firebase sẽ xác định những vai trò mà một tiện ích cần để 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 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 trong số các vai trò đượ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. 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 các tiện ích có dạng:
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ẻ Tài khoản dịch vụ của
Quyền và vai trò
Trong quá trình phát triển tiện ích, Firebase sẽ xác định cấp độ truy cập mà 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ó) đều dựa trên một sản phẩm hoặc dịch vụ cụ thể. Ví dụ về 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
).
Đối với các tiện ích Firebase chính thức, Firebase 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 được 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ể xem xét và tự 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 trang tổng quan Firebase Extensions hoặc xem tệp README
của tiện ích đó.
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 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 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ì tiện ích không còn quyền truy cập vào dự án hoặc dữ liệu của bạn nữa.