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 Security 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 Security 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 Security Rules antes de implantar na produção. Para mais informações sobre como testar o Security Rules, consulte Começar a usar o Firebase Security Rules: testar suas Security Rules.
Pré-requisitos
- Conheça as práticas recomendadas do Firebase Security Rules.
- 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 Firebase Local Emulator Suite.
- 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 Security Rules. Se preferir usar outro assistente de IA, copie e cole o comando do repositório da extensão 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 Security 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 comando foi criado para gerar Firebase Security Rules para Cloud Firestore e Cloud Storage for Firebase. Ele ainda não é capaz de gerar Security 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.
O Gemini no Firebase no console do Firebase não consegue gerar Firebase Security Rules, mesmo usando esse comando. Em vez disso, use um assistente de IA alternativo que tenha acesso à sua base de código, como o Gemini CLI (descrito nesta página).
Usar o comando
Esse comando está disponível na
extensão Gemini CLI para Firebase Security Rules
e gera seus Security Rules 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 Security 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 Firebase Local Emulator Suite.
Para usar essa extensão, siga três etapas descritas nesta seção:
Etapa 1: gerar Security Rules e testes
Instale e execute a extensão:
Instalar a extensão Gemini CLI:
gemini extensions install https://github.com/firebase/snippets-rulesInicialize Gemini CLI:
geminiNa raiz do projeto, execute a extensão para gerar Security Rules para Cloud Firestore ou Cloud Storage:
Gerar Security Rules para Cloud Firestore:
/firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_IDNo diretório principal, a extensão cria um arquivo
firestore.rulese um novo diretóriorules_testque contém um projeto Node.js com testes de unidade para o Security Rules gerado.Gerar Security Rules para Cloud Storage for Firebase:
/firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAMENo diretório principal, a extensão cria um arquivo
storage.rulese um novo diretóriostorage_rules_testque contém um projeto Node.js com testes de unidade para o Security Rules gerado.
Etapa 2: revisar a validação e os resultados do teste de Security Rules
Verifique se o assistente de IA fez o seguinte. Você vai receber um resumo gerado depois que a extensão for executada.
Validação de sintaxe: depois de gerar Security Rules, a 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.
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:
Opção 1: instruir o Gemini CLI a executar testes:
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.Opção 2: execute os testes manualmente seguindo as instruções no arquivo
README.mdno diretóriorules_testoustorage_rules_test.
Etapa 3: implante Security Rules no seu Projeto do Firebase
Quando o resultado das Security Rules geradas for satisfatório, use os seguintes comandos da CLI do Firebase para implantar as Security Rules no seu Projeto do Firebase:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
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.