Gerencie o acesso ao projeto com o Firebase IAM

O gerenciamento de identidade e acesso (IAM) permite conceder acesso granular a recursos específicos do Firebase e do Google e evita acesso indesejado a outros recursos. O IAM permite que você adote o princípio de segurança do menor privilégio , 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 autenticado do projeto 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 executar a operação solicitada no recurso . A permissão para que o membro do projeto execute a solicitação depende da função atribuída ao membro do projeto . Cada função é um conjunto de permissões e, ao atribuir uma função a um membro do projeto, você concede 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 contidas na função.

O Firebase IAM oferece suporte aos seguintes tipos de funções:

  • 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 do Firebase.

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

    • Funções no nível do produto : funções que concedem acesso completo de leitura/gravação ou somente leitura a produtos específicos do Firebase.

  • Funções personalizadas : funções totalmente personalizadas que você cria para adaptar um conjunto de permissões que atendem aos requisitos específicos da 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, poderá levar até cinco minutos para que a alteração entre em vigor.

Gerenciar membros do projeto e suas funções

Veja os membros do projeto e suas funções

Você pode visualizar 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 aos quais foi atribuída 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 do Firebase no Firebase console.
  • O Console do Firebase não lista membros do projeto que sejam contas de serviço. Veja esses membros do projeto na página IAM do console do Google Cloud.
Como alternativa, você pode visualizar todos os membros do projeto e suas funções na página IAM do console do Google Cloud.

Atribuir uma função a um membro do projeto

Para gerenciar as funções atribuídas a cada membro do projeto, você deve ser um proprietário do projeto do Firebase (ou receber uma função 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 executar as tarefas de um proprietário (por exemplo, a pessoa saiu da sua empresa) e seu projeto não for gerenciado por uma organização do Google Cloud (veja o próximo parágrafo), entre em contato com o suporte do Firebase para ter um proprietário temporário atribuído.

Observe que se um projeto do Firebase fizer parte de uma organização do Google Cloud, ele poderá 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.