获取我们在 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 criar 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 seus usuários, o Firebase Security Rules for Cloud Storage facilita 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 fornece uma solução fácil de usar, segura e exclusiva do lado do cliente para autenticação. 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 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 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 do Cloud Storage padrão exigem autenticação do Firebase para executar 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 armazenamento em nuvem também podem ser usadas para validação de dados, incluindo a validação de nome e caminho de 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.