אִישׁ עַל דִּגְלוֹ בְאֹתֹת ish al diglo ve'otot · cada um junto à sua bandeira e insígnia · Bamidbar 2:2

Blog/Artigos · Segurança

RBAC: cada um junto à sua bandeira

Papel, permissão e atribuição, a explosão de papéis, role mining a partir do uso e RBAC como código.

Por Juliano Vince de Campos · · 5 min de leitura · 4 seções · 4 figuras

דִּגְלוֹ ISH · BAMIDBAR 2:2

No livro de Bamidbar, o acampamento de Israel se organiza por bandeiras: cada um junto ao seu estandarte, cada tribo em posição definida, e o todo se move em ordem. RBAC é esse acampamento aplicado ao acesso. Ninguém recebe permissão avulsa; a pessoa entra numa tribo, o papel, e herda o acesso daquela posição. Bem desenhado, é o modelo mais legível que existe. Mal desenhado, vira mil bandeiras para mil pessoas, e a ordem que ele prometia some.

Papel, permissão e atribuição

RBAC tem três peças. Permissão é o direito atômico, ler um bucket, aprovar um pagamento. Papel é o conjunto de permissões que uma função exige, agrupadas por quem faz o trabalho. Atribuição é ligar a pessoa ao papel. A força do modelo está em conceder acesso à posição, não à pessoa: muda a pessoa, o papel fica; muda o trabalho, o papel muda para todos de uma vez.

Essa indireção é o que torna o acesso auditável. Perguntar o que um analista de pagamentos pode fazer se responde olhando um papel, não vinte concessões avulsas. E revogar o acesso de uma função inteira é mudar um papel, não caçar permissão pessoa por pessoa. É a diferença entre um acampamento com bandeiras e uma multidão sem formação.

Figura 1As três peças do RBAC e como o acesso chega à pessoa
  1. 01Permissãoo direito atômico sobre um recurso, ex.: aprovar pagamento
  2. 02Papelo conjunto de permissões que uma função exige
  3. 03Atribuiçãoa pessoa é ligada ao papel, não à permissão solta
  4. 04Acesso efetivoa pessoa herda o acesso da posição que ocupa

Muda a função, muda o papel, e o acesso acompanha todos de uma vez. É a indireção que torna o acesso auditável e revogável em bloco.

Conceder ao papel e não à pessoa é o que faz o RBAC responder, em uma consulta, o que cada função pode fazer.

A explosão de papéis

O modelo é elegante no diagrama e vira um problema em escala. Cada exceção pede um papel novo: o analista que também aprova, o gerente de uma região específica, o contratado com acesso temporário. Sem disciplina, o número de papéis se aproxima do número de pessoas, e o RBAC perde exatamente o que o justificava, a legibilidade. É a role explosion.

A causa raiz costuma ser papel granular demais ou hierarquia mal pensada. Uma boa hierarquia de papéis, com papéis base herdados por papéis mais específicos, controla a explosão: o papel de gerente herda o de analista e adiciona o que a gerência exige, em vez de recriar tudo. Poucos papéis largos com hierarquia clara envelhecem melhor que muitos papéis estreitos.

Figura 2Quando RBAC organiza e quando ele vira ruído
Legibilidade do modelo
Acampamento em ordempoucos papéis largos, hierarquia clara, cada função reconhecível
Rígido demaispapéis largos sem exceção tratada, gente pedindo acesso avulso por fora
Sob controlepapéis específicos, mas governados e revisados com dono
Explosão de papéisquase um papel por pessoa, ninguém entende mais o modelo
Número de papéis por pessoa
O objetivo é o canto de poucos papéis com alta legibilidade. A explosão de papéis é o RBAC negando a si mesmo: complexidade de exceção sem a clareza que o justificava.

Role mining: descobrir o papel a partir do uso

Desenhar papéis no quadro branco a partir do organograma quase sempre erra, porque o trabalho real não respeita o cargo. Role mining faz o caminho inverso: parte do acesso que as pessoas de fato exercem e agrupa padrões que se repetem em papéis candidatos. Quem usa o mesmo conjunto de permissões provavelmente exerce a mesma função, e ali há um papel esperando para ser nomeado.

O resultado do mining não é verdade final, é ponto de partida para o dono da função revisar. O padrão descoberto pode misturar duas funções que por acaso compartilham acesso, ou separar uma função em duas por causa de uma ferramenta específica. O valor está em começar do real e refinar com quem conhece o trabalho, não em automatizar a decisão.

Figura 3Do acesso observado ao papel candidato
Padrão observadoPessoasPermissões comunsPapel candidato
Conciliação e caixa14ler extrato, lançar conciliação, exportar relatórioAnalista financeiro
Conciliação, caixa e aprovação3as acima mais aprovar lançamentoSupervisor financeiro
Só leitura de relatório22ler relatório, exportarConsulta gerencial
Acesso raro e disperso5sem padrão estávelrevisar caso a caso
As três primeiras linhas viram papéis nomeáveis; a última fica de fora do mining e vai para revisão manual. Minerar do uso encontra o papel que o organograma não descreve.

Segregação de deveres e os limites do RBAC

Sobre os papéis vive uma regra que nenhum papel isolado expressa: a segregação de deveres. A mesma pessoa não pode acumular funções que se controlam, como criar um fornecedor e aprovar o pagamento a ele. A segregação é uma restrição entre papéis, e declará-la explicitamente é o que impede a fraude que a combinação de dois acessos legítimos permitiria.

RBAC também tem um teto: ele decide pela função, não pelo contexto. Ele não sabe expressar acesso apenas no horário comercial, apenas da rede corporativa, apenas ao dado da própria região. Quando a decisão depende de atributos da requisição, e não só de quem pede, o RBAC precisa do complemento do ABAC. Conhecer esse limite é o que evita torturar papéis para simular condições que eles não foram feitos para carregar.

Figura 4Papel e restrição de segregação de deveres como código
papeis:
  analista_financeiro:
    permissoes: [extrato:ler, conciliacao:lancar, relatorio:exportar]
  aprovador_pagamento:
    permissoes: [pagamento:aprovar]

segregacao_de_deveres:
  - nome: criar-e-aprovar-pagamento
    conflito: [conciliacao:lancar, pagamento:aprovar]
    severidade: alta
    acao: bloquear_atribuicao

testes:
  - dado: pessoa com analista_financeiro
    quando: atribuir aprovador_pagamento
    entao: negar por segregacao criar-e-aprovar-pagamento
Os papéis dizem o que cada função pode; a segregação diz o que nenhuma pessoa pode acumular. O teste garante que a regra é verificada a cada atribuição, não só documentada.

Para levar

RBAC é o acampamento em ordem: acesso concedido à posição, não à pessoa, legível e revogável em bloco. Ele se sustenta enquanto os papéis são poucos, largos e minerados do uso real, com a segregação de deveres declarada por cima e o contexto delegado ao ABAC onde o papel não alcança. A IA agrupa, nomeia e encontra conflito; nomear a bandeira de cada tribo continua sendo decisão de quem conhece o trabalho.

Tags

  • #julianovincedecampos
  • #RBAC
  • #Autorização
  • #IAM
  • #RoleMining
  • #SoD
  • #GovernançaDeAcesso

Onde eu estudei, me certifiquei e trabalhei

  • University of Cambridge
  • PUC Minas
  • PUC-RS
  • PUC Goiás
  • Pontificia Universidad Católica del Perú
  • Amazon Web Services
  • Google
  • IBM
  • Oracle
  • COBIT 5 Foundation
  • ITIL v3 Foundation
  • Exemplar Global
  • Red Team Leaders
  • Infosec
  • Salesforce
  • Flowgrammers
  • ISO/IEC 27001
  • NIST Cybersecurity Framework
  • Compass UOL
  • Luby
  • Creditas
  • PicPay
  • PagoNxt, Santander
  • Mercado Pago
  • Itaú Unibanco
  • Foursys
  • Soluti Certificação Digital