Skip to Content
Controle de Acesso

Controle de Acesso

O IronFlock usa um sistema de privilégios granular para controlar quem pode ler, editar e gerenciar os recursos dentro dos seus projetos. Os privilégios são rastreados por usuário e por recurso, e são completamente versionados ao longo do tempo.

Privilégios de dispositivos

Como os Privilégios Funcionam

Propriedade

Apenas projetos e apps possuem o conceito de propriedade. O proprietário de um projeto é um superusuário: ele automaticamente tem controle total sobre todos os recursos do projeto — dispositivos, grupos, boards e data backends — independentemente das configurações individuais de cada recurso. Mesmo quando outros usuários adicionam dispositivos a um projeto, o proprietário do projeto mantém acesso de superusuário a esses dispositivos.

O proprietário de um app tem igualmente controle total sobre o código, os releases e a distribuição desse app.

Privilégios Granulares por Recurso

Dentro de um projeto, você pode conceder permissões granulares a membros individuais do projeto para quatro tipos de recurso:

Tipo de RecursoDescrição
DispositivoUm dispositivo edge físico ou virtual
Grupo de dispositivosUm agrupamento lógico de dispositivos dentro de um projeto
Board de usuárioUm dashboard de visualização de dados
Data BackendUm banco de dados de séries temporais provisionado por projeto

Os privilégios só podem ser atribuídos a usuários que já foram convidados para o projeto. Não é possível conceder privilégios de nível de recurso a usuários fora do projeto.

Privilégios Padrão de Membros do Projeto

Dentro de um projeto, você pode definir privilégios padrão que se aplicam a todos os membros do projeto para cada tipo de recurso. Isso permite, por exemplo, dar a todos os membros do projeto acesso de leitura a todos os boards por padrão, sem precisar conceder acesso individualmente.

Privilégios do Projeto

O proprietário do projeto tem acesso de superusuário completo ao projeto e a todos os seus recursos. Outros usuários podem receber as seguintes permissões no nível do projeto:

PermissãoDescrição
Criar dispositivosAdicionar novos dispositivos ao projeto
Criar gruposCriar novos grupos de dispositivos
AtualizarEditar nome, descrição e metadados do projeto
Conceder privilégiosAtribuir ou modificar permissões para outros usuários
ExcluirExcluir permanentemente o projeto inteiro

Privilégios de Dispositivo

PermissãoDescrição
OperarEnviar comandos de controle e interagir com o dispositivo
DesenvolverAcessar funcionalidades e contêineres de desenvolvimento no dispositivo
InstalarInstalar e remover apps no dispositivo
AtualizarEditar nome, descrição e outros metadados
RedeConfigurar definições de rede (Wi-Fi, Ethernet)
ManterAcessar funcionalidades de manutenção, terminal e diagnóstico do sistema
ExcluirRemover permanentemente o dispositivo do projeto
Conceder privilégiosAtribuir ou modificar privilégios para outros usuários neste dispositivo

Privilégios de Grupo de Dispositivos

PermissãoDescrição
AtualizarEditar nome, descrição e membros do grupo
ExcluirRemover permanentemente o grupo
Conceder privilégiosAtribuir ou modificar privilégios para outros usuários neste grupo

Privilégios de App

PermissãoDescrição
LerVer o app, sua descrição e dashboards
DesenvolverAcessar código-fonte, editar o app e usar o App Studio
Ver CódigoAcesso somente leitura ao código-fonte do app
AtualizarEditar metadados do app (nome, descrição, imagem)
ExcluirExcluir permanentemente o app
Conceder privilégiosAtribuir ou modificar privilégios para outros usuários neste app
PublicarPublicar novas versões na App Store
UsarInstalar o app em um projeto (obrigatório para apps privados)
App StoreGerenciar listagem e visibilidade na App Store

Privilégios de Board e Data Backend

PermissãoDescrição
AtualizarEditar conteúdo ou configuração
Conceder privilégiosAtribuir permissões a outros usuários
ExcluirRemover permanentemente o board ou data backend

Convidando Usuários

Para conceder privilégios a outro usuário dentro de um projeto:

  1. Navegue até a seção Privilégios de qualquer recurso (projeto, dispositivo, grupo, board ou data backend).
  2. Clique em Convidar Usuário.
  3. Pesquise o usuário pelo endereço de e-mail.
  4. Selecione as permissões a conceder.
  5. Clique em Convidar.

Somente usuários que já são membros do projeto podem receber privilégios de nível de recurso dentro desse projeto.

Transferência de Propriedade

Transferindo um Projeto

O proprietário de um projeto pode transferir a propriedade para outro usuário do IronFlock. O novo proprietário recebe acesso de superusuário completo; o acesso do proprietário anterior dependerá dos privilégios que ele ainda mantiver no projeto.

Para transferir a propriedade do projeto, abra as configurações do projeto e navegue até a aba Privilégios.

Transferindo um App

O proprietário de um app pode transferir a propriedade para outro usuário do IronFlock. A transferência de propriedade concede ao novo proprietário controle total sobre o código, releases, preços e distribuição do app.

Para transferir a propriedade do app, abra-o no App Studio e navegue até a aba Privilégios.

Transferência e Reivindicação de Dispositivos

Transferindo um Dispositivo para Outro Projeto

Um dispositivo pode ser transferido de um projeto para outro. Isso move o dispositivo — junto com sua configuração — para o projeto de destino. Apenas usuários com a permissão Criar dispositivos no projeto de destino podem iniciar ou receber uma transferência.

Dispositivos Reivindicáveis

Um dispositivo pode ser marcado como reivindicável. Quando um dispositivo é reivindicável, qualquer usuário do IronFlock que conheça o ID desse dispositivo pode reivindicá-lo ativamente — transferindo-o para um projeto onde ele tenha o privilégio Criar dispositivos. Isso é útil para:

  • Fluxos de auto-provisionamento — técnicos de campo registram dispositivos sem necessidade de envolvimento do administrador
  • Ativação de fábrica — clientes finais escaneiam um ID de dispositivo (p. ex. de uma etiqueta com QR code) para incorporar o dispositivo ao seu próprio projeto

Após a reivindicação, o dispositivo é movido para o projeto do reivindicante e não é mais reivindicável.

Herança de Privilégios

  • Proprietário do projeto — Automaticamente tem controle total sobre todos os dispositivos, grupos, boards e data backends do projeto. Não são necessárias concessões individuais por recurso.
  • Privilégios padrão de membros — Aplicam-se a todos os membros do projeto para um determinado tipo de recurso, salvo se substituídos por uma concessão individual específica.
  • Privilégios de nível de dispositivo são independentes dos privilégios de nível de grupo. A atribuição de privilégios em um grupo não se propaga para as configurações individuais de dispositivos.

Trilha de Auditoria

Cada alteração de privilégio é registrada com:

  • Quem fez a alteração (o concedente)
  • O que mudou (quais permissões foram adicionadas ou removidas)
  • Quem foi afetado (o usuário cujos privilégios foram alterados)
  • Quando a alteração ocorreu

Esta trilha de auditoria temporal está disponível na seção Logs de Auditoria e é útil para revisões de conformidade e investigações de segurança.

Last updated on