У меня есть база данных Firestore, для всех коллекций, которые я хочу иметь ниже правила
allow read : if request.auth.uid != null ;
allow write: if request.auth.uid != null ;
, кроме коллекции service-account
, к которой я не хочу, чтобы у кого-то был доступ (только функции firebase, так как они выполняется под учетной записью службы администратора), поэтому я обновил свои правила до
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read : if request.auth.uid != null ;
allow write: if request.auth.uid != null ;
}
match /service-account/{serviceAccount} {
allow read: if false;
allow write: if false;
}
}
}
Затем я попытался проверить это с помощью Rules Play Ground
, правила учитываются, но результат неверен
Так что мое правило правильно запрещает доступ, но первое правило, которое будет применяться ко всем, похоже, разрешает чтение. Я изменил порядок и без различий.
Как я могу это исправить.