Esse comando pode ajudar seu assistente de IA, como o Gemini CLI, a gerar e refinar Firebase Security Rules para seu app. Use o comando para criar Rules para casos de uso comuns, como conceder acesso específico do usuário, implementar permissões baseadas em papéis e validar dados.
Esse comando se concentra na geração de Rules para:
- Cloud Firestore: protege coleções e documentos com base na lógica do seu app.
- Cloud Storage for Firebase: valida as permissões de acesso aos arquivos armazenados.
Usar esse comando pode ajudar você a começar com uma postura de segurança forte, mas sempre teste seu Rules antes de implantar na produção. Para mais informações sobre como testar o Rules, consulte Começar a usar o Firebase Security Rules: testar suas regras.
Pré-requisitos
- Conheça as práticas recomendadas para regras de segurança.
- Para executar testes de unidade para Firebase Security Rules e usar o Firebase Local Emulator Suite, instale o Node.js e a CLI Firebase. Para instruções completas, consulte Instalar, configurar e integrar o Pacote de emuladores locais.
- Recomendado: se ainda não fez isso, instale Gemini CLI. As instruções a seguir explicam como instalar e usar uma extensão Gemini CLI para gerar Rules. Se preferir usar outro assistente de IA, copie e cole o comando do repositório no assistente de IA escolhido.
- Essa extensão Gemini CLI usa o servidor MCP do Firebase para validar o Firebase Security Rules que ela gera. O servidor MCP também pode ser usado para facilitar o teste e a implantação do seu Rules. Instale o servidor MCP do Firebase antes de usar a extensão para gerar Firebase Security Rules.
Limitações
Estamos trabalhando para melhorar essa experiência, então essa lista de limitações pode mudar. Volte a esta página para ver se há novidades.
- O Gemini no Firebase não consegue gerar Firebase Security Rules. Use um assistente de IA alternativo, como o Gemini CLI.
- O comando foi criado para gerar Firebase Security Rules para Cloud Firestore e Cloud Storage for Firebase. Ele ainda não é capaz de gerar Rules para Firebase Realtime Database.
- Firebase Security Rules não são chamados ao acessar seu banco de dados ou bucket de um servidor ou outro ambiente de back-end, como ao usar o Firebase Admin SDK. Se você estiver usando o Admin SDK, será responsável por gerenciar a autorização e a validação de dados no código do back-end.
Usar o comando
Use a extensão experimental Gemini CLI para Firebase Security Rules e gere suas regras e testes.
Essa extensão analisa seu código-fonte para ajudar a identificar esquemas de dados e padrões de acesso para Cloud Firestore e Cloud Storage. Ele foi projetado para criar Rules com base no princípio de privilégio mínimo e tenta descobrir vulnerabilidades por simulações iterativas de "ataque". Para ajudar na verificação final, ele fornece um pacote de testes de unidade inicial usando
@firebase/rules-unit-testing, permitindo que você verifique sua lógica de segurança localmente usando o Pacote de emuladores locais do Firebase.Para instalar e usar a extensão:
Instalar a extensão Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesAbra Gemini CLI.
gemini
Na raiz do projeto, execute a extensão para gerar regras para o Cloud Firestore:
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDOu gere regras para Cloud Storage:
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
A extensão cria um diretório
rules_testpara Cloud Firestore ou um diretóriostorage_rules_testpara Cloud Storage na raiz do projeto. Esse novo diretório contém o arquivo.rulesgerado e um projeto Node.js com testes de unidade.Analise os resultados da validação e do teste de regras:
- Validação de sintaxe: depois de gerar regras, o Gemini CLI
valida automaticamente a sintaxe usando o
comando
firebase_validate_security_rulesdo servidor MCP do Firebase. - Testes de unidade: depois de validar a sintaxe, o Gemini CLI tenta executar os testes de unidade gerados usando o Firebase Local Emulator Suite. Para que os testes sejam executados, é necessário executar o Firebase Local Emulator Suite em um terminal separado.
Se os testes não forem executados automaticamente, inicie o Firebase Local Emulator Suite em um terminal separado e use uma das seguintes opções para executar os testes:
* Instruct Gemini CLI to run tests: ```none Firebase Emulator Suite is running in a separate terminal. Please execute the tests. ``` * Run tests manually by following the instructions in the `README.md` file in the `rules_test` or `storage_rules_test` directory.- Validação de sintaxe: depois de gerar regras, o Gemini CLI
valida automaticamente a sintaxe usando o
comando
Quando você estiver satisfeito com o resultado do Rules gerado, use o seguinte comando da CLI Firebase para implantar o Rules.
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
firebase deploy --only storage
Outros recursos
- Para mais ajuda com sua postura de segurança, use a extensão de segurança para Gemini CLI, uma extensão de código aberto que analisa mudanças no código para identificar riscos de segurança e vulnerabilidades.