ABAC
siglasegurançanuvemgovernança e risco
Significa: Attribute-Based Access Control (NIST SP 800-162)
Controle de Acesso Baseado em Atributos (do inglês Attribute-Based Access Control): a autorização decidida a cada pedido avaliando atributos do sujeito, do objeto, da operação e do ambiente contra uma política, em vez de consultando um papel.
A NIST SP 800-162, Guide to Attribute Based Access Control (ABAC) Definition and Considerations, de Hu, Ferraiolo e Kuhn, do NIST, com Schnitzer, Sandlin, Miller e Scarfone, publicada em janeiro de 2014 e atualizada pela última vez em 2 de agosto de 2019, o define numa frase: o ABAC é uma metodologia lógica de controle de acesso em que a autorização para executar um conjunto de operações é determinada avaliando atributos associados ao sujeito, ao objeto, às operações pedidas e, em alguns casos, a condições de ambiente contra políticas, regras ou relações que descrevem as operações permitidas para um dado conjunto de atributos. Onde um modelo baseado em papéis pergunta que papel quem pede detém, uma política baseada em atributos pergunta pelo departamento e pela habilitação de quem pede, pela classificação e pelo dono do registro, pela operação e por condições como horário, local e dispositivo, e consegue expressar regras como: um clínico pode ler os prontuários dos pacientes da própria ala durante o seu plantão. O preço é que a política, as fontes de atributos e sua atualidade viram o sistema: um atributo desatualizado é uma decisão errada. Na prática ele se sobrepõe aos papéis em vez de substituí-los.
O controle de acesso baseado em atributos responde à pergunta que o controle baseado em papéis não consegue: e se a resposta certa depende de algo sobre este pedido, agora, e não só de quem está pedindo. O guia do NIST sobre o assunto, a Special Publication 800-162, Guide to Attribute Based Access Control (ABAC) Definition and Considerations, escrita por Hu, Ferraiolo e Kuhn, do NIST, com Schnitzer, da Booz Allen Hamilton, Sandlin e Miller, da MITRE, e Scarfone, publicada em janeiro de 2014 e atualizada pela última vez em 2 de agosto de 2019, dá a definição que a área usa: o ABAC é uma metodologia lógica de controle de acesso em que a autorização para executar um conjunto de operações é determinada avaliando atributos associados ao sujeito, ao objeto, às operações pedidas e, em alguns casos, a condições de ambiente contra políticas, regras ou relações que descrevem as operações permitidas para um dado conjunto de atributos.
Cada palavra dessa frase é um componente. Atributos do sujeito descrevem quem pede: departamento, cargo, habilitação, treinamento concluído, situação de vínculo. Atributos do objeto descrevem a coisa pedida: classificação, dono, projeto, a ala em que um paciente está. A operação pedida é ler, escrever, aprovar, apagar. Condições de ambiente são o que é verdadeiro no momento do pedido: hora do dia, a rede de onde o pedido chega, a postura do dispositivo, se um segundo fator foi usado. A política é um conjunto de regras sobre esses atributos, e uma decisão de acesso é a avaliação das regras para um pedido. Nada precisa ser pré-calculado por usuário, e essa é a atração: uma regra como um clínico pode ler os prontuários dos pacientes da ala a que está designado, durante o seu plantão, não precisa de um papel por ala por plantão, só de atributos mantidos atuais.
O custo é que os atributos passam a ser o sistema. Um modelo baseado em papéis falha quando os papéis se multiplicam; um modelo baseado em atributos falha quando um atributo está desatualizado, ausente ou vem de um sistema sem dono, porque um atributo errado produz uma decisão errada e confiante a cada pedido. O título do guia, com a palavra considerações, sinaliza quanto do documento trata de governança: quem é a autoridade por cada atributo, como ele é mantido fresco, como as políticas são escritas, testadas e auditadas e como uma decisão pode ser explicada depois. Auditar é mais difícil do que com papéis, já que não há uma lista estática de quem pode fazer o quê para revisar, só políticas e os valores de atributo que valiam na hora; registrar os atributos usados em cada decisão passa a fazer parte do projeto.
Na prática os dois modelos coexistem. Os papéis carregam o grosso dos direitos de uma organização, porque a maior parte do acesso de fato segue a função, e os atributos acrescentam as condições: este papel, mas só de um dispositivo gerenciado; este papel, mas só em horário comercial; esta permissão, mas só sobre registros de que quem pede é dono. Os motores de controle de acesso à rede trabalham assim há anos sem usar a sigla: a autorização de uma sessão 802.1X ou MAB é decidida a partir da identidade, da postura e do perfil do dispositivo, da localização da porta ou do SSID e da hora, e mudada com um Change of Authorization do RADIUS quando um atributo muda. O verbete RBAC descreve o modelo que este refina, e o verbete de menor privilégio o princípio a que os dois servem.
Também conhecido como: attribute-based access control, attribute based access control, policy-based access control, pbac