DevGuideTK
← Trilha Backend

Autorização (RBAC e ABAC)

Modelos para decidir o que cada usuário pode fazer, por papel ou por atributos.

Autorização é decidir se o usuário, já identificado, pode fazer aquela ação naquele recurso. A autenticação diz quem é; a autorização, o que pode.

A falha mais comum em APIs é simples: o usuário troca o número na URL e vê o pedido de outra pessoa. Testes com um só usuário não a encontram.

  • Por papel (RBAC): cada papel tem um conjunto de permissões.
  • Por atributos (ABAC): a regra olha o usuário, o recurso e o contexto, como "só o dono".
  • A conferência acontece em cada recurso, e não só na entrada da rota.
  • O padrão é negar o que não foi permitido de forma explícita.
  • A política fica num só lugar, e não espalhada pelo código.