Bir Firebase Uzantısına verilen izinler

Firebase Extension'ün belirtilen işlemlerini gerçekleştirmesi için Firebase, yüklü bir uzantının her örneğine hizmet hesabı aracılığıyla projenize ve verilerinize sınırlı erişim izni verir.

Hizmet hesabı nedir?

Hizmet hesabı, özel bir Google kullanıcı hesabı türüdür. Google API'lerini kullanarak verilere erişme yetkisine sahip olan, insan harici bir kullanıcıyı temsil eder.

Firebase, bir uzantının yüklenmesi sırasında projenizde bir hizmet hesabı oluşturur. Yüklenen her uzantının kendi hizmet hesabı vardır.

Firebase, uzantıya hizmet hesabına özel roller (izin paketleri) atayarak projenize ve verilerinize erişimi sınırlandırır. Bir uzantının çalışması için ihtiyaç duyduğu roller, uzantı geliştirme sırasında Firebase tarafından belirlenir. Firebase, yükleme sırasında bu rolleri bir uzantının hizmet hesabına atar. Atanmış rollerden hiçbirini değiştirmemeli, eklememeli veya silmemeniz gerekir (aksi takdirde, yüklenen uzantınız beklendiği gibi çalışmaz). Bununla birlikte, uzantıyı kaldırarak hizmet hesabını (ve erişimini) tamamen silebilirsiniz.

Uzantılar için oluşturulan hizmet hesapları şu biçimdedir: ext-extension-instance-id@project-id.iam.gserviceaccount.com.

Firebase projenizle ilişkili tüm hizmet hesaplarını Proje ayarları bölümündeki Hizmet hesapları sekmesinde görüntüleyebilirsiniz.

İzinler ve roller

Firebase, bir uzantının çalışması için gereken erişim düzeyini uzantının geliştirilmesi sırasında belirler.

Firebase, uzantının yüklenmesi sırasında uzantının hizmet hesabına ataması gereken rolleri (izin paketleri) açıkça listeleyerek bu erişim düzeyini tanımlar.

Her rol (ve bu role ait izinler) belirli bir ürüne veya hizmete dayanır. Rollere örnek olarak firebasehosting.admin, bigquery.dataEditor ve firebasedatabase.admin verilebilir. Firebase, bir uzantı için gerekli rolleri uzantının spesifikasyon dosyasında (extension.yaml dosyası) listeler.

Resmi Firebase uzantılarında Firebase, uzantının erişiminin yalnızca uzantının görevlerinin kapsamıyla sınırlı olduğundan emin olmak için bu rol listesini ayrıntılı bir şekilde inceler. Ayrıca, Firebase Extensions kontrol panelindeki uzantının ayrıntılar sayfasını veya README dosyasını görüntüleyerek bir uzantıya verilen erişimi inceleyip kendiniz onaylayabilirsiniz.

Her bir role dahil olan izinler hakkında bilgi edinin:

Bir uzantıyı kaldırdığımda ne olur?

Projenizdeki bir uzantıyı kaldırdığınızda Firebase, uzantının söz konusu örneği için oluşturulan hizmet hesabını siler. Hizmet hesabı silindikten sonra uzantı, projenize veya verilerinize erişim hakları olmadığından projenizde çalışamaz.