O que é RBAC?
O controle de acesso baseado em função (RBAC) é uma metodologia de segurança baseada no gerenciamento do acesso do usuário para proteger recursos, inclusive dados, aplicativos e sistemas, contra acesso, modificação, adição ou exclusão indevidos. O RBAC concede acesso com base nas necessidades de um usuário, de acordo com sua posição. As funções e os privilégios associados são definidos, e as permissões são atribuídas para controlar o acesso (ou seja, o que um usuário pode ver), o escopo das operações aprovadas (ou seja, o que um usuário pode fazer, como visualizar, criar ou modificar) e o tempo de sessão (ou seja, por quanto tempo um usuário pode ter acesso).
Três princípios comuns do RBAC
Com o controle de acesso baseado em função, as permissões são baseadas exclusivamente em funções, o que simplifica a administração. Quando a posição de um usuário muda, inclusive se ele romper relações com a organização, os administradores simplesmente mudam de função, e as permissões são atualizadas automaticamente. Usando o RBAC, os usuários podem receber várias funções.
- A atribuição de função de usuário define os direitos de permissão ou acesso dos usuários com base em uma função ou tarefa.
- A autorização de função de usuário confirma que um usuário está aprovado para uma função e para desempenhar funções correlatas.
- A permissão da função do usuário e os direitos de acesso definem especificamente o que um usuário pode e não pode fazer.
Permissões de RBAC
Com o controle de acesso baseado em função, é importante lembrar que as permissões seguem as funções, e não o contrário. Determine o que cada função deve fazer e aplique as permissões de acordo. A seguir estão alguns aspectos que devem ser considerados ao definir permissões de RBAC para especificar o que os usuários podem acessar e o que podem fazer no sistema:
Acesso
- Quais usuários podem abrir um item específico, como um arquivo, aplicativo ou banco de dados?
- Quais usuários devem estar cientes da existência de certos ativos?
- Que limitações devem ser colocadas em evidência?
Modificação
- Quais usuários podem fazer alterações em itens específicos?
- Quais aprovações são necessárias para fazer alterações?
Compartilhamento
- Quais usuários podem baixar um documento?
- Quais usuários podem compartilhar um documento?
Melhores práticas de RBAC
As práticas recomendadas para a empresa considerar ao implementar o controle de acesso baseado em função são:
- Analisar os usuários, inclusive seus fluxos de trabalho e os recursos de que precisam.
- Realizar auditorias das funções de forma contínua para mantê-las atualizadas e alinhá-las com os requisitos atuais.
- Criar uma função básica que inclua o acesso de que cada usuário precisa.
- Determinar quais funções têm um conjunto comum de requisitos de acesso.
- Garantir que o RBAC esteja integrado em todos os sistemas da organização.
- Estabelecer um processo para lidar com mudanças de função, inclusive a configuração e o descomissionamento de usuários.
- Identificar os recursos que requerem controle de acesso.
- Incluir os princípios do RBAC e como ele funciona nos programas de treinamento de funcionários.
- Tenha cuidado para não criar funções em excesso.
Tipos de controle de acesso baseado em função
Os quatro tipos de controle de acesso sob o padrão RBAC são central, hierárquico, simétrico e restrito.
Núcleo do RBAC
O controle de acesso baseado em função principal detalha os principais componentes do sistema. Ele pode funcionar de modo autônomo ou ser usado como base para RBAC hierárquico e restrito. O núcleo do RBAC é composto por cinco elementos estáticos: usuários, funções, permissões, operações e objetos. As permissões são compostas pelas operações, que são aplicadas aos objetos.
RBAC hierárquico
O controle de acesso baseado em função hierárquico usa uma hierarquia dentro da estrutura de função para estabelecer relações entre funções (por exemplo, sênior, de nível médio, júnior). Com o RBAC hierárquico, os usuários com funções mais graduadas recebem todas as permissões que seus subordinados recebem mais aquelas específicas de suas necessidades.
RBAC simétrico
O controle de acesso baseado em função simétrico permite que os administradores executem revisões de função de permissão e função de usuário para avaliar as permissões atribuídas às funções existentes.
RBAC restrito
O controle de acesso baseado em função restrito aumenta o RBAC principal com a separação de tarefas (SOD), que pode ser estática ou dinâmica. Com a separação estática de tarefas (SSD), nenhum usuário pode exercer funções mutuamente exclusivas. Por exemplo, um usuário não pode fazer e aprovar uma proposta. A separação dinâmica de tarefas (DSD) permite que os usuários tenham funções conflitantes, mas não podem atuar em ambas as funções durante a mesma sessão.
Tipos adicionais de controles de acesso
Controle de acesso baseado em atributo (ABAC)
O controle de acesso baseado em atributo é uma solução de autorização de usuário que avalia os atributos ou características dos usuários, em vez de funções, para determinar os privilégios de acesso com base nas políticas de segurança de uma organização. Com o ABAC, as regras de acesso podem ser hipergranulares.
Lista de controle de acesso (ACL)
Uma lista de controle de acesso é uma tabela que lista as permissões associadas a um recurso. Para cada usuário, há uma entrada que detalha os atributos de segurança de cada objeto.
Uma ACL permite que o sistema operacional saiba quais usuários podem acessar um objeto e quais ações estão autorizadas a executar. O acesso é concedido ou negado em duas categorias: rede e sistemas de arquivos. Com a rede, a ACL é aplicada a roteadores e switches para avaliar o tráfego.
A ACL também avalia as atividades e se elas são permitidas através da rede. Os sistemas de arquivos usam a ACL para filtrar e gerenciar o acesso a arquivos e diretórios por meio do sistema operacional.
Controle de acesso discricionário (DAC)
O controle de acesso discricionário concede ou restringe o acesso a um objeto de acordo com a política determinada pelo grupo ou sujeitos proprietários de um objeto. O DAC oferece aos usuários controle total sobre seus recursos, tornando-o menos restritivo do que outras opções de controle de acesso.
Com o DAC, se um sujeito receber permissão para acessar um objeto, ele poderá:
- Permitir que os usuários compartilhem seus privilégios com outros sujeitos.
- Alterar os atributos de segurança.
- Escolher os atributos de segurança que devem ser associados a objetos novos ou atualizados.
- Modificar as regras que regem o controle de acesso.
- Compartilhar informações de atributo com outros sujeitos ou objetos.
Controle de acesso obrigatório (MAC)
O controle de acesso obrigatório limita o acesso aos recursos de acordo com a sensibilidade das informações e o nível de permissões dos usuários. Os administradores definem critérios para o MAC. A aplicação do MAC é tratada pelo sistema operacional ou por um kernel de segurança, que os usuários não podem alterar.
RBAC comparado à lista de controle de acesso (ACL)
O controle de acesso baseado em função e a ACL servem a diferentes propósitos. Por exemplo, o RBAC é considerado a melhor opção para gerenciar aplicativos de negócios e acesso a dados. Por outro lado, acredita-se que a ACL seja melhor para lidar com a segurança no nível de cada usuário e para dados de baixo nível. Além disso, o RBAC é uma boa opção para a segurança em toda a organização, ao passo que a ACL funciona bem para conceder acesso a um arquivo específico.
Controle de acesso baseado em atributo (ABAC) comparado a RBAC
A principal diferença entre o controle de acesso baseado em função e o ABAC é como o acesso é concedido. O RBAC concede acesso com base nas funções e responsabilidades dos usuários. Com o ABAC, o acesso é concedido com base em atributos ou características, como:
Tipos de usuário
- Autorizações de segurança
- Nome de usuário
- Idade
- Cargo
- Departamento
Horário
- Bloquear o acesso aos recursos durante a noite
- Limitar as edições durante os momentos em que um usuário não está sob supervisão
- Restringir o acesso a materiais nos fins de semana
Local
- Restringir o acesso a uma área específica (por exemplo, escritório, campus, país)
- Negar acesso a dispositivos específicos (por exemplo, telefones celulares, laptops com Wi-Fi)
Geralmente, as organizações usam o RBAC para controle de acesso de granulação grossa, ao passo que o ABAC é usado para controle de acesso de granulação fina.
Implementação do RBAC
É obrigatório ter uma abordagem metódica ao implementar um sistema de controle de acesso baseado em função. Deve-se dedicar tempo para analisar os detalhes para garantir que o sistema atenda aos requisitos de segurança. A seguir estão enumeradas as etapas específicas que devem ser seguidas ao implementar o RBAC.
Etapas de implementação de RBAC
- Elaborar um inventário exaustivo de todos os recursos, incluindo aplicativos (locais e na nuvem), servidores, documentos, arquivos, servidores de arquivos, bancos de dados e outros registros que exigem segurança.
- Trabalhar com gerentes e recursos humanos para identificar funções.
- Revisar todas as funções e determinar quantas funções devem ser incluídas e quais podem ser reunidas em grupos combinados.
- Solicitar feedback sobre as funções e informações sobre os níveis de permissão dos gerentes e outros participantes importantes.
- Atribuir permissões de acesso para as funções.
- Desenvolver um cronograma de integração que inclua o desenvolvimento do sistema, assim como comunicações aos usuários e treinamento.
- Implementar o plano observando atentamente eventuais falhas e fazendo correções e ajustes conforme necessário.
Melhores práticas para gerenciar a implementação de RBAC
- Ter uma política por escrito sobre como deve ser usado o sistema de controle de acesso baseado em função, que inclua o detalhamento do processo para fazer alterações.
- Receber as contribuições de gerentes e usuários sobre como o sistema RBAC pode ser otimizado e fazer alterações relevantes conforme o necessário.
- Avaliar continuamente as funções e o status de segurança.
- Considerar o motivo e as implicações da solicitação de qualquer alteração nas permissões dos usuários antes de implementar alterações.
- Aplicar protocolos de segurança relacionados a permissões.
Exemplos de RBAC
Exemplos de designações de RBAC
As designações comuns em um sistema RBAC são:
- Atribuição de função de gerenciamento, que conecta uma função a um grupo de funções
- Grupo de funções de gerenciamento, ao qual os membros podem ser adicionados ou removidos
- Escopo da função de gerenciamento, que coloca limites sobre quais objetos são gerenciados por um grupo de funções
Exemplos de funções de RBAC
Com o controle de acesso baseado em função, dentro de um aplicativo podem ser designadas várias funções aos usuários. Essas funções diferem com base no tipo de aplicativo. A seguir estão alguns exemplos de funções de RBAC.
Elementos de atribuição de função RBAC do Kubernetes
- Role: especifica as permissões no nível do namespace
- ClusterRole: especifica permissões no nível do cluster ou para namespaces em todo o ambiente
- Subject: descreve uma conta de usuário, grupo ou serviço
- RoleBinding: lista os sujeitos e suas funções atribuídas para vincular as funções às entidades no nível do namespace
- ClusterRoleBinding: lista assuntos e funções atribuídas no nível do cluster para cada namespace no cluster
Elementos de atribuição de função RBAC do Microsoft Azure
- Principal: um usuário, grupo, principal de serviço ou identidade gerenciada que solicita um recurso e recebe acesso
- Role definition: um conjunto de permissões que definem o que uma entidade em uma determinada função pode fazer em um recurso
- Scope: define os recursos acessíveis às funções e os níveis de permissão
Exemplos de permissões de RBAC
As permissões de controle de acesso baseado em função são concedidas com base em funções e requisitos de acesso. As funções e permissões estão alinhadas com a posição de um usuário em uma organização, como administrador, usuário especializado ou usuário final. São exemplos de permissões de RBAC:
- Administração: para usuários que executam funções administrativas
- Faturamento: para que um usuário final acesse uma conta de faturamento
- Primária: para o contato principal de uma conta ou função específica
- Técnica: para usuários que executam tarefas técnicas
Com o RBAC, as permissões de acesso dos usuários estão vinculadas às responsabilidades e necessidades comuns de um grupo, como recursos humanos, vendas ou finanças. Cada função recebe um conjunto de permissões, conforme mostrado aqui:
Função | CRM | BD de cliente | Registros de empregados | Rede corporativa | |
---|---|---|---|---|---|
Usuário final | Sim | Não | Não | Não | Sim |
Técnico / desenvolvedor | Sim | Não | Não | Não | Sim |
Recursos humanos | Sim | Não | Não | Sim | Sim |
Administrador de sistemas de TI | Sim | Sim | Sim | Sim | Sim |
Consultor de vendas | Sim | Sim | Sim | Não | Não |
Benefícios do RBAC
Possibilitar a separação de funções
Como as funções são separadas, em teoria, nenhum usuário pode causar uma violação significativa, pois um hacker estaria limitado aos recursos que a conta tivesse permissão para acessar.
Melhorar a eficiência operacional
O controle de acesso baseado em função simplifica a administração e aumenta a eficiência operacional, fornecendo uma abordagem simplificada para atribuir e gerenciar permissões de acesso. O RBAC também permite que os administradores adicionem e alterem funções com rapidez e as implementem em sistemas operacionais, plataformas e aplicativos em todo o mundo. Isso pode ser realizado para usuários internos e de terceiros, inclusive aqueles que exigem apenas acesso temporário.
Melhorar a conformidade
O controle de acesso baseado em função ajuda as organizações a aderirem aos requisitos de proteção de dados e privacidade estabelecidos em inúmeros regulamentos por meio da restrição do acesso aos recursos.
A automação de acesso com base em funções também apoia a conformidade, reduzindo erros humanos que podem expor inadvertidamente dados confidenciais a usuários não autorizados.
O RBAC também fornece suporte para auditoria, o que ajuda a atender aos requisitos de conformidade.
Liberar tempo administrativo valioso
Com a redução da quantidade de tempo que os administradores devem gastar em permissões de usuário, o controle de acesso baseado em função permite que eles trabalhem em tarefas mais importantes e de maior valor. Além disso, com a limitação do acesso a certos processos e aplicativos, as organizações podem otimizar o uso de recursos, como largura de banda de rede, memória e armazenamento.
Aumentar a visibilidade
O controle de acesso baseado em função oferece aos administradores e gerentes de rede mais visibilidade e supervisão das operações e atividades dos usuários. Além disso, permite que eles vejam quais recursos os usuários podem acessar para garantir a conformidade e a adesão aos protocolos de segurança.
Obtenha segurança de confiança zero
O controle de acesso baseado em função permite a implementação e a aplicação do princípio do privilégio mínimo, um princípio fundamental da segurança de confiança zero. Com a limitação de permissões de acesso a um usuário com base em suas funções e naquelas necessárias para realizar tarefas associadas à sua função, o RBAC reduz significativamente o risco de violações e vazamento de dados.
RBAC para gerenciamento avançado de privilégios de usuário
Uma solução comprovada para a segurança centrada no usuário, o controle de acesso baseado em função é o ideal para os administradores. É fácil de usar e confiável. O RBAC protege os recursos e permite que as organizações cumpram os padrões de segurança e privacidade incluídos em muitos regulamentos.