Tipik uygulamalarda, geliştiricilerin yüksek performans gösteren birçok sunucu derlemesi ve ile kimlik doğrulama, yetkilendirme ve veri doğrulamanın yanı sıra iş mantığına dayanır. Cloud Storage for Firebase kullanan uygulamalar Sunucusuz verileri işlemek için Cloud Storage için Firebase Authentication ve Firebase Security Rules temel bilgileri ele alacağız.
Cloud Storage ve Cloud Storage Security Rules kullandığınızda, Böylece, altyapı yönetimi yapmak zorunda kalmadan mükemmel bir kullanıcı deneyimi oluşturabilirsiniz. karmaşık sunucu tarafı kimlik doğrulama ve yetkilendirme kodu yazın.
Genel Bakış
Cloud Storage Security Rules, kimin okuma ve yazma erişimine sahip olduğunu belirlemek için kullanılır
ve dosyaların Cloud Storage nasıl yapılandırıldığı ve
meta verileri içerir. Temel kural türü allow kuralıdır.
isteğe bağlı olarak belirtilen bir koşul aşağıdaki durumlarda read ve write işlemlerine izin verir
karşılandı. Kural örneklerinden bazıları şunlardır:
// Rules can optionally specify a condition allow write: if <condition>;
match. kuralların dosya yolları
Cloud Storage referans. Kurallar
match bir veya daha fazla dosya yolunu match yapabilir ve birden fazla kural dosyaya match ekleyebilir
belirli bir request içindeki yol:
// Rules match specific paths match /images/profilePhoto.png { allow write: if <condition>; } match /images/croppedProfilePhoto.png { allow write: if <other_condition>; }
Kural değerlendirmesinin bağlamı da request ve
Kimlik doğrulama bağlamı gibi bilgiler sağlayan resource nesneleri
(request.auth) ve mevcut nesnenin boyutu (resource.size).
// Rules can specify conditions that consider the request context match /images/profilePhoto.png { allow write: if request.auth != null && request.resource.size < 5 * 1024 * 1024; }
Cloud Storage Security Rules hakkında daha fazla bilgi: Güvenli Dosyalar bölümüne bakın.
Örnek Kurallar
Cloud Storage Security Rules, öncelikle service öğesini belirtmelidir (bizim durumda
firebase.storage) ve Cloud Storage paketi
(match /b/{bucket}/o üzerinden) hangi kuralların
karşılaştırılır. Varsayılan kurallar Firebase Authentication gerektirir ancak burada bulabilirsiniz
Farklı erişim denetimine sahip diğer yaygın kural örneklerine göz atın.
Varsayılan
// Only authenticated users can read or write to the folder
service firebase.storage {
match /b/{bucket}/o {
match /someFolder/{fileName} {
allow read, write: if request.auth != null;
}
}
}
Herkese açık
// Anyone can read or write to the folder, even non-users of your app.
// Because it is shared with App Engine, this will also make
// files uploaded via App Engine public.
service firebase.storage {
match /b/{bucket}/o {
match /someFolder/{fileName} {
allow read, write;
}
}
}
Kullanıcı
// Grants a user access to a node matching their user ID
service firebase.storage {
match /b/{bucket}/o {
// Files look like: "user/<UID>/file.txt"
match /user/{userId}/{fileName} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}
Gizli
// Access to files through Cloud Storage for Firebase is completely disallowed.
// Files may still be accessible through App Engine or Google Cloud Storage APIs.
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if false;
}
}
}
Geliştirme sırasında, varsayılan kural yerine herkese açık kuralları kullanabilirsiniz. kurallarınız vardır. Bu, özellikle de prototip oluşturmayı unutmayın. Firebase Authentication Ancak Cloud Storage varsayılan olarak bir paketi paylaştığı için App Engine uygulama, bu kural ilgili uygulama tarafından kullanılan tüm verileri de oluşturur yardımcı olur.
Kullanıcı kuralları, kimliği doğrulanmış kullanıcılarınızın her birine kendi kişisel bilgilerini vermenize olanak tanır dosya depolama alanıdır. Ayrıca, gizli dosya ayarlarını kullanarak dosyalarınızı tamamen ancak kullanıcılarınızın hiçbir şey okuyamayacağını veya yazamayacağını unutmayın bu kurallarla Cloud Storage tarihine kadar geçerli olacaktır. Dosyalara şuradan erişen kullanıcılar: App Engine uygulamanız veya Google Cloud Storage API erişimi olabilir.
Kuralları Düzenle
Cloud Storage, Cloud Storage Security Rules öğelerinizi kolayca düzenlemenizi sağlar.
Firebase Konsolu Depolama Alanı bölümündeki Kurallar sekmesinden.
Kurallar sekmesinde, mevcut
kurallar. Bu kurallar, Yayınla tıklanarak veya dosya kaydedilerek dağıtılır.
(ctrl/cmd + s). Kurallar hemen Cloud Storage ürününe yüklenir
yapıldığını görebilirsiniz, ancak etkinleşmesi beş dakikayı bulabilir.
Firebase KSA, kuralları dağıtmak için de kullanılabilir. Seçim
firebase init çalışırken Storage dosyasının kopyasını içeren bir storage.rules
varsayılan kurallar oluşturulacak
inceleyebilirsiniz. Bu kuralları
firebase deploy komutudur. Projenizde birden fazla paket varsa
dağıtma hedeflerini kullanarak tüm cihazlarınıza kural dağıtabilirsiniz
aynı proje klasöründen gönderebilirsiniz.
Dosya tabanlı güvenliğin işleyiş şekli hakkında daha fazla bilgiyi Dosyaları Güvenli Hale Getirme bölümünü inceleyin veya kullanıcıyı anlayın Kullanıcı Güvenliği'nde temelli güvenlik bölümüne ekleyin.