Organização e controle de acesso baseado em função: Como projetar seu modelo de autorização para seu produto
Este artigo fornece um guia detalhado sobre como projetar um modelo de autorização para controle de acesso baseado em organização e função, e oferece as melhores práticas para diferentes modelos de autorização na plataforma Logto.
O que é organização?
Definição de organização
A organização é um grupo de usuários (identidades) e pode representar equipes, clientes empresariais e empresas parceiras que podem acessar seu aplicativo.
Organização é particularmente eficaz em ambientes business-to-business (B2B). Ao contrário dos consumidores individuais, os clientes empresariais geralmente consistem em equipes, organizações ou empresas inteiras, em vez de apenas uma pessoa. A introdução de uma organização como entidade é importante, pois não apenas agrupa usuários, mas também fornece um contexto para isolamento de inquilinos em aplicativos multi-inquilino.
Casos de uso de organização
Com este elemento fundamental, você pode agora construir os recursos indispensáveis para seus produtos B2B:
- Construa uma arquitetura multi-inquilino para isolar dados e recursos dos clientes.
- Os níveis de acesso ao aplicativo são definidos por funções atribuídas aos membros da organização.
- Provisão de membros em uma base de convite e em tempo hábil.
- Cada organização pode ter uma experiência de autenticação de logon único (SSO).
O que é controle de acesso baseado em função?
Definição de controle de acesso baseado em função
Controle de Acesso Baseado em Função (RBAC) é um método de atribuir permissões a usuários com base em suas funções. O controle de acesso baseado em função é um mecanismo de controle de acesso neutro em relação à política, definido em torno de funções e privilégios. Os componentes do RBAC, como permissões de função, papel-usuário e relações entre papéis, tornam simples a realização de atribuições de usuário. Um estudo da NIST demonstrou que o RBAC atende a muitas necessidades de organizações comerciais e governamentais.
Casos de uso de controle de acesso baseado em função
Anteriormente, desenvolvemos vários guias para ajudá-lo a usar o RBAC para atender aos seus requisitos de negócios. Dê uma olhada nestes tutoriais fáceis de seguir para começar rapidamente.
🔐 Controle de Acesso Baseado em Função (RBAC) | Documentos Logto
Usando diferentes modelos de autorização no Logto para melhores práticas
O controle de acesso baseado em função e organização são componentes-chave das funcionalidades de autorização do Logto. Como uma plataforma abrangente de gestão de identidade, o Logto oferece soluções adaptadas para diversos cenários e camadas, atendendo desenvolvedores e empresas para arquiteturas de produtos diversificadas.
Controle de acesso baseado em função para a API
Para proteger recursos gerais da API que não são específicos de nenhuma organização e não precisam de restrições de contexto, o recurso API RBAC é ideal.
Basta registrar a API e atribuir permissões a cada recurso. Em seguida, controle o acesso por meio do relacionamento entre funções e usuários.
Recursos de API, funções e permissões aqui são "democratizados" sob um sistema de identidade unificado. Isso é bastante comum no produto B2C com menos hierarquia e não precisa de um nível muito profundo de isolamento de dados.
Controle de acesso baseado em função de organização
No ambiente B2B e multi-inquilino, o isolamento de inquilinos é necessário. Para conseguir isso, organizações são usadas como um contexto para isolamento, significando que RBAC é efetivo apenas quando um usuário pertence a uma organização específica.
O RBAC de organização foca em controlar o acesso no nível da organização em vez do nível da API. Isso fornece flexibilidade significativa para autogestão a nível de organização no longo prazo, mas ainda dentro de um sistema de identidade unificado.
Uma característica chave do RBAC de organização é que funções e permissões são geralmente as mesmas em todas as organizações por padrão, o que torna o "modelo de organização" do Logto extremamente significativo para melhorar a eficiência de desenvolvimento.
Isso se alinha à filosofia compartilhada de apps multi-inquilino, onde políticas de controle de acesso e identidades são componentes de infraestrutura comuns em todos os inquilinos (inquilinos de app), uma prática comum em produtos SaaS.
Escolhendo e projetando o modelo de autorização apropriado
Ao selecionar o modelo de autorização certo, considere estas perguntas:
- Você está desenvolvendo um produto B2C, B2B ou uma combinação de ambos os tipos? As identidades são consideradas identidades empresariais?
- Seu aplicativo precisa de uma arquitetura multi-inquilino?
- Há necessidade de um certo nível de isolamento em seu app, conforme determinado pela unidade de negócios?
- Quais permissões e funções precisam ser definidas no contexto da organização e quais não?
Um aplicativo B2C
Vamos usar um exemplo de aplicativo web: BookHarber, uma livraria online. BookHarber oferece uma ampla gama de recursos para clientes e funcionários, garantindo uma experiência de compra segura e contínua.
Os principais recursos do BookHarber incluem:
- Navegação e Compra de Livros: Usuários podem facilmente procurar e comprar livros de uma coleção diversificada, abrangendo vários gêneros e autores.
- Gerenciamento de Pedidos e Rastreamento Logístico: Clientes registrados podem gerenciar seus pedidos, acompanhar remessas e receber atualizações sobre suas compras.
- Ofertas Especiais e Atividades de Feriado: BookHarber oferece descontos exclusivos e promoções durante eventos especiais e feriados para envolver e recompensar sua base de clientes.
- Suporte ao Cliente: Clientes podem abrir tickets de suporte para tratar de quaisquer dúvidas ou questões que possam encontrar, recebendo assistência rápida dos funcionários do BookHarber.
- Gerenciamento de Clientes: Membros da equipe com diferentes funções têm a capacidade de gerenciar vários aspectos da plataforma, como contas de clientes, processamento de pedidos e resolução de problemas.
Funções
No ecossistema BookHarber, podemos identificar várias funções de usuário chave, tais como:
- Convidado: Usuários não registrados que podem navegar no site, procurar livros e ver ofertas especiais.
- Cliente: Usuários registrados que podem comprar livros, gerenciar pedidos, acompanhar logística e abrir tickets de suporte.
- Administrador da Loja: Funcionários responsáveis por supervisionar o gerenciamento geral e as operações da plataforma. Com acesso total.
- Gerente de Livros: Funcionários encarregados do gerenciamento de livros e categorias.
- Agente de Atendimento ao Cliente: Funcionários encarregados de responder aos tickets de suporte.
- Provedor Logístico de Terceiros: Parceiros externos responsáveis por gerenciar e rastrear o envio e entrega de pedidos.
- Equipe de Marketing: Funcionários responsáveis por promover o BookHarber, responsáveis por gerenciar ofertas especiais e eventos.
Anteriormente, desenvolvemos vários guias para ajudá-lo a usar o RBAC para atender aos seus requisitos de negócios. Dê uma olhada nestes tutoriais fáceis de seguir para começar rapidamente.
Dominando o RBAC no Logto: Um Exemplo Real de Mundo Real
Aplicativo B2B
Apps multi-inquilino geralmente encontram seu lugar em soluções business-to-business (B2B) como ferramentas de produtividade, sistemas de planejamento de recursos empresariais (ERP) e outros produtos de software como serviço (SaaS). Neste contexto, cada "inquilino" representa tipicamente um cliente empresarial, que pode ter múltiplos usuários (seus funcionários). Além disso, um cliente empresarial pode ter múltiplos inquilinos para representar organizações ou divisões empresariais distintas.
Crie algumas organizações
Defina o modelo de organização para controle de acesso a nível de organização
Aplicativo híbrido B2B & B2C
Aplicativos B2B vão além dos produtos SaaS e frequentemente envolvem o uso de apps multi-inquilino. Em contextos B2B, esses apps servem como uma plataforma comum para várias equipes, clientes empresariais e empresas parceiras acessarem seus aplicativos.
Por exemplo, considere uma empresa de compartilhamento de carona que fornece tanto apps B2C quanto B2B. Os apps B2B atendem a múltiplos clientes empresariais, e empregar uma arquitetura multi-inquilino pode ajudar na gestão de seus funcionários e recursos. Para ilustrar, se a empresa deseja manter um sistema unificado de identidade de usuário, pode projetar uma arquitetura como o exemplo a seguir:
Vamos usar Sarah como exemplo. Sarah tem tanto uma identidade pessoal quanto uma identidade empresarial. Ela usa o serviço de compartilhamento de carona como passageira e também trabalha como motorista em seu tempo livre. Em sua função profissional, ela também gerencia seu próprio negócio pessoal e usa essa identidade empresarial para ser uma parceira com o Negócio 1.
Entidades configuradas no Logto
Mapa de identidade e função de um usuário
Defina recursos de API, funções de usuário
Configurar organizações
Perfil de Sarah
Construa sua autorização hoje.
O Logto oferece tanto controle de acesso baseado em função (RBAC) quanto recursos de organização para atender as suas necessidades de autorização. Esses recursos foram projetados para serem facilmente integrados em várias partes do seu produto. Para mais informações, dê uma olhada em nossas seções de organizações e RBAC, ou você pode experimentar o Logto agora mesmo.