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.
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:
- O console do Firebase oferece uma maneira simplificada de atribuir funções aos membros do projeto na guia Usuários e permissões de > Configurações do projeto . No Console do Firebase, você pode atribuir qualquer uma das funções básicas (proprietário, editor, visualizador), as funções de administrador/visualizador do Firebase ou qualquer uma das funções predefinidas da categoria de produto do Firebase .
- O console do Google Cloud oferece um amplo conjunto de ferramentas para atribuir funções aos membros do projeto na página do IAM . No console do Cloud, você também pode criar e gerenciar funções personalizadas , bem como conceder acesso às contas de serviço ao seu projeto.
Observe que no console do Google Cloud, os membros do projeto são chamados de principais .
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.