Вы захотите использовать рекурсивный подстановочный знак , чтобы сопоставить все документы во всех подколлекциях в коллекции верхнего уровня.
match /users/{user}/{everything=**} {
function isSignedIn() {
return request.auth.uid != null;
}
allow read, write: if isSignedIn() && request.auth.uid == user
}
В правилах версии 2 рекурсивные подстановочные знаки соответствуют 0 или больше отрезков пути.