Regras de armazenamento do Firebase com base em parâmetros personalizados

Como conceder acesso de leitura e gravação com base em parâmetros personalizados, por exemplo, quando um usuário é registrado com meu aplicativo, um documento é criado e o ID do documento é usado para criar uma pasta no armazenamento do firebase (para garantir a exclusividade) se todas as pastas estiverem armazenadas no firebase) A regra que estou configurando é uma permissão de leitura para todos os que estão autenticados e o acesso de gravação é apenas para o usuário que a criou e apenas para o administrador. Aqui está a regra que tenho atualmente no armazenamento do 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
    }
  }
}

Essa abordagem está correta ou me corrige se eu estiver fazendo errado? Examinei a documentação e é um pouco difícil para mim entender.

questionAnswers(0)

yourAnswerToTheQuestion