Confira as novidades do Firebase anunciadas no Google I/O 2022. Saiba mais

Gerenciar o acesso ao projeto com o Firebase IAM

O Identity and Access Management (IAM) permite conceder acesso granular a recursos específicos do Firebase e do Google e impede o acesso indesejado a outros recursos. O IAM permite que você adote o princípio de segurança de privilégio mínimo , para que você conceda apenas o acesso necessário aos seus recursos.

Para obter uma descrição detalhada do IAM, leia a documentação do Google Cloud IAM .

Visão geral do Firebase IAM

O Firebase oferece opções adicionais de IAM específicas para projetos do Firebase e membros do seu projeto.

Quando um membro do projeto autenticado solicita uma ação no Firebase, o IAM toma uma decisão de autorização sobre se o membro do projeto tem permissão para realizar a operação solicitada no recurso . Se o membro do projeto tem permissão para executar a solicitação depende da função atribuída ao membro do projeto. Cada função é uma coleção de permissões e, quando você atribui uma função a um membro do projeto, está concedendo a esse membro do projeto todas as permissões para essa função.

Membros do projeto

Usando o Firebase IAM, você atribui funções (e suas permissões inerentes) aos membros do seu projeto. Os membros do projeto podem ser dos seguintes tipos :

  • conta do Google
  • Conta de serviço
  • Grupo do Google

Funções

As permissões são concedidas aos membros do seu projeto por meio de funções . Uma função é uma coleção de permissões . Ao atribuir uma função a um membro do projeto, você concede a esse membro do projeto todas as permissões que a função contém.

O Firebase IAM é compatível com os seguintes tipos de papéis:

  • Funções básicas : funções fundamentais de proprietário , editor e visualizador (anteriormente chamadas de funções "primitivas").

  • Funções predefinidas : funções específicas do Firebase selecionadas que permitem um controle de acesso mais granular do que as funções básicas. O Firebase oferece:

    • Funções no nível do Firebase : funções que concedem acesso total de leitura/gravação ou somente leitura a todos os produtos Firebase.

    • Funções de categoria de produto : funções que concedem acesso total de leitura/gravação ou somente leitura a grupos de produtos. Eles são estruturados em torno do Google Analytics e categorias gerais de produtos.

    • Papéis no nível do produto : papéis que concedem acesso total de leitura/gravação ou somente leitura a produtos específicos do Firebase.

  • Funções personalizadas : funções totalmente personalizadas que você cria para personalizar um conjunto de permissões que atendam aos requisitos específicos de sua organização.

Latência de mudança de função

Se você alterar a atribuição de função de um membro do projeto, pode levar até 5 minutos para que a alteração entre em vigor.

Gerenciar membros do projeto e suas funções

Ver os membros do projeto e suas funções

Você pode ver muitos dos membros do seu projeto e suas funções na guia Usuários e permissões de > Configurações do projeto no console do Firebase. Observe o seguinte:
  • O console do Firebase lista apenas os membros do projeto atribuídos a uma função básica (Proprietário, Editor, Visualizador) ou uma função predefinida do Firebase . Os membros do projeto listados nesta guia são os únicos membros do projeto que têm acesso ao projeto Firebase no Firebase console.
  • O Firebase console não lista os membros do projeto que são contas de serviço. Veja esses membros do projeto na página do IAM do Console do Google Cloud.
Como alternativa, você pode ver todos os membros do projeto e seus papéis na página do IAM do Console do Google Cloud.

Atribuir uma função a um membro do projeto

Para gerenciar os papéis atribuídos a cada membro do projeto, você deve ser um proprietário do projeto do Firebase (ou receber um papel com a permissão resourcemanager.projects.setIamPolicy ).

Aqui estão os locais onde você pode atribuir e gerenciar funções:

Se o proprietário do seu projeto não puder mais realizar as tarefas de um proprietário (por exemplo, a pessoa que deixou sua empresa) e seu projeto não for gerenciado por uma organização do Google Cloud (veja o próximo parágrafo), você poderá entrar em contato com o suporte do Firebase para obter um Proprietário temporário designado.

Observe que, se um projeto do Firebase fizer parte de uma organização do Google Cloud, ele pode não ter um proprietário. Se você não conseguir encontrar um proprietário para seu projeto do Firebase, entre em contato com a pessoa que gerencia sua organização do Google Cloud para atribuir um proprietário para o projeto.