Bir Firebase Uzantısına verilen izinler

Bir Firebase Uzantısının belirtilen işlemleri gerçekleştirebilmesi için Firebase, yüklü bir uzantının her örneğine bir 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 yetkisi olan, insan olmayan bir kullanıcıyı temsil eder.

Bir uzantının yüklenmesi sırasında Firebase, projenizde bir hizmet hesabı oluşturur. Bir uzantının yüklenen her örneği kendi hizmet hesabına sahiptir.

Firebase, bir uzantının hizmet hesabına özgü roller (izin paketleri) atayarak projenize ve verilerinize erişimi sınırlar. Bir uzantının çalışması için gereken roller, uzantı geliştirme sırasında Firebase tarafından belirlenir. Kurulum sırasında, Firebase bu rolleri bir uzantının hizmet hesabına atar. Bu rollerden hiçbirini değiştirmemeniz, eklememeniz veya silmemeniz gerekir (aksi takdirde, yüklediğiniz uzantı beklendiği gibi çalışmaz). Ancak, uzantıyı kaldırabilirsiniz. Bu durumda, hizmet hesabı (ve erişimi) tamamen silinir.

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ı sayfanızdaki Hizmet hesapları sekmesinde görüntüleyebilirsiniz.

İzinler ve roller

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

Firebase, uzantının yüklenmesi sırasında Firebase'in 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 doğal izinleri) belirli bir ürüne veya hizmete bağlıdı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.

Firebase, resmi Firebase uzantıları için bu rol listesini ayrıntılı olarak inceleyerek uzantı erişiminin kesinlikle uzantı görevlerinin kapsamıyla sınırlı olduğundan emin olur. Ayrıca, Firebase Extensions kontrol panelinde uzantının ayrıntılar sayfasını görüntüleyerek veya README dosyasını görüntüleyerek uzantıya verilen erişimi kendiniz de inceleyebilir ve onaylayabilirsiniz.

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

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

Projenizden bir uzantının yüklemesini kaldırdığınızda Firebase, uzantının o örneği için oluşturulan hizmet hesabını siler. Hizmet hesabı silindikten sonra, uzantı artık projenize veya verilerinize erişim hakkına sahip olmadığından projenizde çalıştırılamaz.