Cloud Storage Güvenlik Kurallarını kullanmaya başlayın

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.