获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

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

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.