Ir para o console

Primeiros passos com as regras de segurança do Cloud Firestore

Com as regras de segurança do Cloud Firestore, você pode se concentrar em criar uma boa experiência do usuário, sem se preocupar em gerenciar a infraestrutura ou escrever um código de autenticação e autorização no servidor.

As regras de segurança oferecem controle de acesso e validação de dados em um formato simples, mas expressivo. Para criar sistemas de acesso baseados em usuários e em papéis que mantêm os dados dos usuários seguros, é necessário usar o Firebase Authentication com as regras de segurança do Cloud Firestore.

Como escrever regras

Todas as regras de segurança do Cloud Firestore consistem em declarações match, que identificam documentos no seu banco de dados, e expressões allow que controlam o acesso a esses documentos:

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

Toda solicitação de uma biblioteca de cliente da Web/para dispositivos móveis do Cloud Firestore para seu banco de dados é avaliada em relação às suas regras de segurança antes de ler ou gravar dados. Se as regras negarem o acesso a qualquer um dos caminhos de documento especificados, toda a solicitação falhará.

Veja abaixo alguns exemplos de conjuntos de regras básicos. Embora essas regras sejam válidas, elas não são recomendadas para aplicativos de produção:

Autenticação obrigatória

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth.uid != null;
    }
  }
}

Negar todos

// Deny read/write access to all users under any conditions
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

Permitir todos

// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

O caminho {document=**} usado nos exemplos acima corresponde a qualquer documento em todo o banco de dados. Continue no guia sobre como estruturar regras de segurança para aprender a combinar caminhos de dados específicos e trabalhar com dados hierárquicos.

Como implantar regras

Antes de começar a usar o Cloud Firestore a partir do seu aplicativo para dispositivos móveis, você precisará implantar regras de segurança. É possível implantar regras no Firebase console ou usar a Firebase CLI.

No Firebase console

Para configurar e implantar seu primeiro conjunto de regras, abra a guia Regras na seção do Cloud Firestore do Firebase console.

Escreva suas regras no editor on-line e clique em Publicar.

Na Firebase CLI

Você também pode implantar regras por meio da Firebase CLI. O uso da CLI permite que você mantenha suas regras sob controle da versão com o código do seu aplicativo e implemente regras como parte do seu processo de implantação existente.

// Set up Firestore in your project directory, creates a .rules file
firebase init firestore

// Edit the generated .rules file to your desired security rules
// ...

// Deploy your .rules file
firebase deploy --only firestore:rules

Próximas etapas