Reglas de almacenamiento de Firebase basadas en parámetros personalizados

¿Cómo puedo otorgar acceso de lectura y escritura basado en parámetros personalizados? si cada carpeta en el almacenamiento de Firebase). La regla que estoy configurando es un permiso de lectura para todos los que estén autenticados y el acceso de escritura es solo para el usuario que lo creó y solo para el administrador. Aquí está la regla que actualmente tengo en el almacenamiento de Firebase.

service firebase.storage {
  match /b/{bucket}/o {
    match /{userId}/{allPaths=**} {
      allow read: if request.auth != null;
      allow write:if  request.auth.uid == userId || userId == asdfasfasdf
    }
  }
}

¿Es este enfoque correcto o me corrige si lo estoy haciendo mal? He revisado la documentación y es un poco difícil de entender.

Respuestas a la pregunta(0)

Su respuesta a la pregunta