Organização e controle de acesso baseado em funções: Como desenhar o seu modelo de autorização para o seu produto
Este artigo fornece um guia detalhado sobre como desenhar um modelo de autorização para organização e controle de acesso baseado em funções, 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 utilizadores (identidades) e pode representar as equipas, clientes empresariais e empresas parceiras que podem aceder à sua aplicação.
A organização é particularmente eficaz em contextos business-to-business (B2B). Em contraste com consumidores individuais, os clientes empresariais frequentemente consistem em equipas, organizações ou empresas inteiras, em vez de apenas uma pessoa. A introdução de uma organização como entidade é importante, pois não só agrupa utilizadores, mas também fornece um contexto para a isolação do inquilino em aplicações multi-inquilino.
Casos de uso da organização
Com este elemento fundamental, agora pode criar as funcionalidades essenciais para os seus produtos B2B:
- Construa uma arquitetura multi-inquilino para isolar os dados e recursos dos clientes.
- Os níveis de acesso à aplicação são definidos por funções atribuídas aos membros da organização.
- Aprovisionamento de membros numa base de convite e just-in-time.
- Cada organização pode ter uma experiência de autenticação de sign-on único (SSO).
O que é o controle de acesso baseado em funções?
Definição de controle de acesso baseado em funções
O Controle de Acesso Baseado em Funções (RBAC) é um método de atribuição de permissões aos utilizadores com base nas suas funções. O controle de acesso baseado em funções é um mecanismo de controle de acesso neutro em termos de políticas, definido em torno de funções e privilégios. Os componentes do RBAC, como permissões de função, relação utilizador-função, e relações função-função, tornam simples as atribuições de utilizadores. Um estudo do NIST demonstrou que o RBAC aborda muitas necessidades das organizações comerciais e governamentais.
Casos de uso do controle de acesso baseado em funções
Anteriormente, desenvolvemos vários guias para ajudá-lo a usar o RBAC para atender às suas necessidades empresariais. Dê uma olhada nestes tutoriais fáceis de seguir para começar rapidamente.
🔐 Controle de Acesso Baseado em Funções (RBAC) | Documentação da Logto
Usando diferentes modelos de autorização no Logto para as melhores práticas
O controle de acesso baseado em funções e organização são componentes chave das funcionalidades de autorização da Logto. Como uma plataforma completa de gerenciamento de identidade, a Logto oferece soluções personalizadas para diversos cenários e camadas, atendendo desenvolvedores e empresas para arquiteturas de produto diversificadas.
Controle de acesso baseado em funções para API
Para proteger recursos gerais de API que não são específicos de qualquer organização e não precisam de restrições de contexto, a funcionalidade API RBAC é ideal.
Basta registrar a API e atribuir permissões a cada recurso. Em seguida, controle o acesso através da relação entre funções e utilizadores.
Os recursos de API, funções, e permissões aqui são "democratizados" sob um sistema de identidade unificado. Isto é bastante comum no produto B2C com menos hierarquia e não necessita de um nível muito profundo de isolamento de dados.
Controle de acesso baseado em funções para organização
Em ambientes B2B e multi-inquilino, a isolação do inquilino é necessária. Para alcançar isso, as organizações são usadas como um contexto para isolação, significando que o RBAC é efetivo apenas quando um utilizador pertence a uma organização específica.
O RBAC de organização foca no controle de acesso ao nível da organização, em vez do nível da API. Isto proporciona uma flexibilidade significativa para a auto-gestão ao nível da organização a longo prazo, mas ainda dentro de um sistema de identidade unificado.
Uma característica chave do RBAC de organização é que as funções e as permissões são geralmente as mesmas em todas as organizações por padrão, o que torna o “modelo de organização” da Logto extremamente significativo para melhorar a eficiência do desenvolvimento.
Isto alinha-se com a filosofia compartilhada das aplicações multi-inquilino, onde as políticas de controle de acesso e as identidades são componentes comuns de infraestrutura em todos os inquilinos (inquilinos da aplicação), uma prática comum em produtos SaaS.
Escolhendo e desenhando o modelo de autorização apropriado
Ao selecionar o modelo de autorização correto, considere estas perguntas:
- Está a desenvolver um produto B2C, B2B ou uma combinação de ambos os tipos? As identidades são consideradas como identidades empresariais?
- A sua aplicação precisa de uma arquitetura multi-inquilino?
- Existe a necessidade de um certo nível de isolamento na sua aplicação, determinado pela unidade de negócios?
- Quais permissões e funções precisam ser definidas no contexto da organização, e quais não?
Uma aplicação B2C
Vamos usar um exemplo de aplicação web: BookHarber, uma livraria online. BookHarber oferece uma ampla gama de funcionalidades para clientes e funcionários, garantindo uma experiência de compra contínua e segura.
Principais funcionalidades do BookHarber incluem:
- Navegação e Compra de Livros: Os utilizadores podem facilmente pesquisar e comprar livros de uma coleção diversificada, abrangendo vários géneros e autores.
- Gestão de Pedidos e Acompanhamento Logístico: Clientes registados podem gerir os seus pedidos, acompanhar o envio, e receber atualizações sobre as suas compras.
- Ofertas Especiais e Atividades de Férias: BookHarber fornece descontos exclusivos e promoções durante eventos especiais e feriados para envolver e recompensar a sua base de clientes.
- Apoio ao Cliente: Os clientes podem abrir tickets de suporte para resolver quaisquer preocupações ou problemas que possam encontrar, recebendo assistência rápida da equipa do BookHarber.
- Gestão de Clientes: Os membros da equipa com diferentes funções têm a capacidade de gerir vários aspetos da plataforma, como contas de clientes, processamento de pedidos, e resolução de problemas.
Funções
No ecossistema do BookHarber, podemos identificar várias funções chave de utilizador, tais como:
- Convidado: Utilizadores não registados que podem navegar no website, pesquisar livros, e ver ofertas especiais.
- Cliente: Utilizadores registados que podem comprar livros, gerir pedidos, acompanhar logística, e abrir tickets de suporte.
- Administrador da Loja: Membros da equipa responsáveis por supervisionar a gestão e operações gerais da plataforma. Com acesso total.
- Gestor de Livros: Membros da equipa encarregados da gestão de livros e categorias.
- Agente de Serviço ao Cliente: Membros da equipa responsáveis por responder a tickets de suporte.
- Fornecedor de Logística de Terceiros: Parceiros externos responsáveis por gerir e acompanhar o envio e a entrega de pedidos.
- Equipe de Marketing: Membros da equipa responsáveis por promover o BookHarber, gerindo ofertas especiais e eventos.
Anteriormente, desenvolvemos vários guias para ajudá-lo a usar o RBAC para atender às necessidades do seu negócio. Dê uma olhada nestes tutoriais fáceis de seguir para começar rapidamente.
Dominando o RBAC na Logto: Um Exemplo Completo do Mundo Real
Aplicação B2B
As aplicações multi-inquilino frequentemente encontram o seu lugar em soluções business-to-business (B2B) como ferramentas de produtividade, sistemas de planeamento de recursos empresariais (ERP), e outros produtos de software como serviço (SaaS). Neste contexto, cada "inquilino" tipicamente representa um cliente empresarial, que poderia ter múltiplos utilizadores (seus funcionários). Além disso, um cliente empresarial pode ter múltiplos inquilinos para representar organizações ou divisões empresariais distintas.
Criar algumas organizações
Definir o modelo de organização para controle de acesso ao nível da organização
Aplicação híbrida B2B & B2C
As aplicações B2B vão além dos produtos SaaS e frequentemente envolvem o uso de aplicações multi-inquilino. Em contextos B2B, essas aplicações servem como uma plataforma comum para várias equipas, clientes empresariais, e empresas parceiras acederem às suas aplicações.
Por exemplo, considere uma empresa de partilha de viagens que fornece tanto aplicações B2C quanto B2B. As aplicações B2B servem múltiplos clientes empresariais, e empregar uma arquitetura multi-inquilino pode ajudar na gestão dos seus funcionários e recursos. Para ilustrar, se a empresa deseja manter um sistema de identidade de utilizador unificado, pode desenhar 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 partilha de viagens como passageira e também trabalha como motorista nas suas horas vagas. No seu papel profissional, ela também gere o seu próprio negócio pessoal e usa esta identidade empresarial para ser parceira do Negócio 1.
Entidades configuradas no Logto
Mapa de identidade e função de um utilizador
Definir recursos de API, funções de utilizador
Configurar organizações
Perfil de Sarah
Construa a sua autorização hoje.
A Logto oferece tanto funcionalidades de Controle de Acesso Baseado em Funções (RBAC) quanto de Organização para atender aos seus requisitos de autorização. Estas funcionalidades são projetadas para serem facilmente integradas em várias partes do seu produto. Para mais informações, dê uma olhada nas nossas secções sobre organizações e RBAC, ou experimente a Logto agora.