Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Entenda as regras de segurança do Firebase para armazenamento em nuvem

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Tradicionalmente, a segurança tem sido uma das partes mais complexas do desenvolvimento de aplicativos. Na maioria dos aplicativos, os desenvolvedores devem construir e executar um servidor que lide com autenticação (quem é um usuário) e autorização (o que um usuário pode fazer). Autenticação e autorização são difíceis de configurar, mais difíceis de acertar e críticas para o sucesso do seu produto.

Assim como o Firebase Authentication facilita a autenticação de usuários, as regras de segurança do Firebase para Cloud Storage facilitam a autorização de usuários e a validação de solicitações. As regras de segurança do Cloud Storage gerenciam a complexidade para você, permitindo que você especifique permissões baseadas em caminho. Em apenas algumas linhas de código, você pode escrever regras de autorização que restringem as solicitações do Cloud Storage a um determinado usuário ou limitam o tamanho de um upload.

O Firebase Realtime Database tem um recurso semelhante, chamado Firebase Realtime Database Rules

Autenticação

Saber quem são seus usuários é uma parte importante da criação de um aplicativo, e o Firebase Authentication oferece uma solução de autenticação fácil de usar, segura e somente do lado do cliente. As regras de segurança do Firebase para armazenamento em nuvem estão vinculadas ao Firebase Authentication para segurança baseada no usuário. Quando um usuário é autenticado com o Firebase Authentication, a variável request.auth nas regras de segurança do Cloud Storage se torna um objeto que contém o ID exclusivo do usuário ( request.auth.uid ) e todas as outras informações do usuário no token ( request.auth.token ) . Quando o usuário não é autenticado, request.auth é null . Isso permite que você controle com segurança o acesso aos dados por usuário. Você pode saber mais na seção Autenticação .

Autorização

Identificar seu usuário é apenas parte da segurança. Depois de saber quem eles são, você precisa de uma maneira de controlar o acesso deles aos arquivos no Cloud Storage.

O Cloud Storage permite especificar regras de autorização por arquivo e por caminho que residem em nossos servidores e determinam o acesso aos arquivos em seu aplicativo. Por exemplo, as regras de segurança padrão do Cloud Storage exigem o Firebase Authentication para realizar qualquer operação de read ou write em todos os arquivos:

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

Você pode editar essas regras selecionando um aplicativo do Firebase no console do Firebase e visualizando a guia Rules da seção Armazenamento.

Data de validade

As regras de segurança do Firebase para Cloud Storage também podem ser usadas para validação de dados, incluindo a validação de nome e caminho do arquivo, bem como propriedades de metadados de arquivo, como contentType e size .

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{imageId} {
      // Only allow uploads of any image file that's less than 5MB
      allow write: if request.resource.size < 5 * 1024 * 1024
                   && request.resource.contentType.matches('image/.*');
    }
  }
}

Próximos passos

  • Comece a planejar o desenvolvimento de regras para seus buckets do Cloud Storage.

  • Saiba mais sobre como proteger seus dados usando regras de segurança.