Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Permissões concedidas a uma extensão do Firebase

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Para que uma extensão do Firebase execute suas ações especificadas, o Firebase concede a cada instância de uma extensão instalada acesso limitado ao seu projeto e dados por meio de uma conta de serviço .

O que é uma conta de serviço?

Uma conta de serviço é um tipo especial de conta de usuário do Google. Ele representa um usuário não humano autorizado a acessar dados usando as APIs do Google.

Durante a instalação de uma extensão, o Firebase cria uma conta de serviço em seu projeto. Cada instância instalada de uma extensão tem sua própria conta de serviço.

O Firebase limita o acesso ao seu projeto e dados atribuindo papéis específicos à conta de serviço de uma extensão (conjuntos de permissões) . As funções que uma extensão requer para operar são determinadas pelo Firebase durante o desenvolvimento da extensão. Na instalação, o Firebase atribui essas funções à conta de serviço de uma extensão e você não deve modificar, adicionar ou excluir nenhuma dessas funções atribuídas (caso contrário, sua extensão instalada não funcionará como esperado). Você pode, no entanto, desinstalar a extensão , que exclui totalmente a conta de serviço (e seu acesso).

As contas de serviço criadas para extensões estão no formato: ext- extension-instance-id @ project-id .iam.gserviceaccount.com .

Você pode visualizar todas as contas de serviço associadas ao seu projeto do Firebase na guia Contas de serviço das do projeto .

Permissões e funções

Durante o desenvolvimento de uma extensão, o Firebase determina o nível de acesso que uma extensão requer para funcionar.

O Firebase define esse nível de acesso listando explicitamente as funções (pacotes de permissões) que o Firebase deve atribuir à conta de serviço da extensão durante a instalação da extensão.

Cada função (e suas permissões inerentes) é baseada em um produto ou serviço específico. Exemplos de funções são firebasehosting.admin , bigquery.dataEditor e firebasedatabase.admin . O Firebase lista as funções necessárias para uma extensão no arquivo de especificação da extensão (o arquivo extension.yaml ).

Para extensões oficiais do Firebase, o Firebase analisa minuciosamente esta lista de funções para garantir que o acesso de uma extensão seja estritamente limitado ao escopo das tarefas da extensão. Você também pode revisar e confirmar por si mesmo o acesso concedido a uma extensão visualizando a página de detalhes da extensão no painel Firebase Extensions ou visualizando seu arquivo README .

Conheça as permissões incluídas em cada função:

O que acontece quando desinstalo uma extensão?

Quando você desinstala uma extensão do seu projeto, o Firebase exclui a conta de serviço criada para essa instância da extensão. Após essa exclusão da conta de serviço, a extensão não pode ser executada em seu projeto porque não tem mais direitos de acesso ao seu projeto ou dados.