Com o Identity and Access Management (IAM), você concede acesso granular a recursos específicos do Firebase e do Google e impede o acesso indesejado a outros recursos. Com o IAM, é possível adotar o princípio de segurança de privilégio mínimo para conceder apenas o acesso necessário aos recursos.
Para uma descrição detalhada do IAM, leia a documentação do Google Cloud IAM.
Visão geral do IAM do Firebase
O Firebase oferece opções de IAM específicas para projetos do Firebase e seus membros.
Quando um membro do projeto autenticado solicita uma ação no Firebase, uma decisão de autorização é tomada no IAM para definir se esse membro tem permissão para executar a operação no recurso. Essa permissão depende do papel atribuído ao membro do projeto. Cada papel representa um conjunto de permissões. Quando você atribui um papel a um membro do projeto, você concede a ele todas as permissões do papel.
Membros do projeto
Usando o IAM do Firebase, você atribui papéis (e as respectivas permissões) aos seus membros do projeto. Os membros do projeto podem ser dos seguintes tipos:
- Conta do Google
- Conta de serviço
- Grupo do Google
Papéis
As permissões são concedidas aos membros do projeto com o uso de papéis. Um papel representa um conjunto de permissões. Ao atribuir um papel para um membro de um projeto, você concede ao membro todas as permissões contidas no papel.
O IAM do Firebase oferece suporte aos seguintes tipos de papéis:
Papéis básicos: papéis fundamentais de Proprietário, Editor e Leitor (anteriormente chamados de papéis "primários")
Papéis predefinidos: papéis selecionados do Firebase que permitem um controle de acesso mais granular do que os papéis básicos. O Firebase oferece:
Papéis no nível do Firebase: papéis que concedem acesso total de leitura/gravação ou somente leitura a todos os produtos do Firebase.
Papéis da categoria dos produtos: papéis que concedem acesso total de leitura/gravação ou somente leitura a grupos de produtos. Eles são estruturados com base no Google Analytics e nas categorias gerais dos 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.
Papéis personalizados: papéis totalmente personalizados do Firebase que você cria para adaptar um conjunto de permissões que atendem aos requisitos específicos da sua organização.
Latência na mudança de papel
Alterações na atribuição de papéis de membros do projeto podem levar até cinco minutos para entrar em vigor.
Gerenciar membros do projeto e os papéis deles
Ver os membros do projeto e os papéis deles
É possível ver os membros do projeto e os papéis deles na guia Usuários e permissões das > Configurações do projeto no Console do Firebase. Observações:- O Console do Firebase lista apenas os membros do projeto que receberam um papel básico (proprietário, editor, leitor) ou um papel predefinido do Firebase. Os membros listados nesta guia são os únicos com acesso ao projeto do Firebase no Console do Firebase.
- O Console do Firebase não lista membros do projeto que são contas de serviço. Veja esses membros do projeto na página IAM do Console do Google Cloud.
Atribuir um papel para um membro do projeto
Para gerenciar os papéis atribuídos a cada membro do projeto, é necessário ser o proprietário do projeto do Firebase
ou ter um papel com a permissão
resourcemanager.projects.setIamPolicy
.
Para atribuir e gerenciar papéis, faça o seguinte:
- O Console do Firebase tem uma maneira simplificada de atribuir papéis a membros do projeto na guia Usuários e permissões em > Configurações do projeto. No Console do Firebase, é possível atribuir qualquer um dos papéis básicos (proprietário, editor, leitor), papéis de administrador/leitor do Firebase ou qualquer um dos papéis predefinidos na categoria dos produtos do Firebase.
- O Console do Google Cloud oferece um conjunto amplo de ferramentas para atribuir papéis aos membros do projeto
na
página IAM. Nesta ferramenta, também é possível criar
e gerenciar
papéis personalizados e conceder acesso ao projeto para as contas de serviço.
No Console do Google Cloud, os membros do projeto são conhecidos como principais.
Se o Proprietário do projeto não conseguir mais realizar as tarefas de um Proprietário (por exemplo, a pessoa saiu da empresa) e o projeto não for gerenciado por uma organização do Google Cloud (veja o parágrafo abaixo), entre em contato com o suporte do Firebase para atribuir um Proprietário temporário.
Se um projeto do Firebase fizer parte de uma organização do Google Cloud, talvez ele não tenha um proprietário. Se você não encontrar um proprietário do projeto do Firebase, entre em contato com a pessoa que gerencia a organização do Google Cloud para atribuir esse papel.