Em
ciência da computação,
controle de acesso obrigatório, do inglês
mandatory access control (
MAC), refere-se a um tipo de
controle de acesso pelo qual o
sistema operacional restringe a capacidade de um
sujeito ou
iniciador de acessar ou geralmente realizar algum tipo de operação em um
objeto ou
destino. Na prática, um
sujeito é normalmente um
processo ou
thread e
objetos são construções como arquivos, diretórios, portas
TCP/
UDP, segmentos de memória compartilhada, dispositivos de ES etc. Sujeitos e objetos possuem um conjunto de atributos de segurança. Sempre que um sujeito tenta acessar um objeto, uma regra de autorização imposta pelo
kernel do sistema operacional examina esses atributos de segurança e decide se o acesso pode ocorrer. Qualquer operação por qualquer sujeito sobre qualquer objeto é testada com o conjunto de regras de altorização (também conhecidas como
políticas -
policy) para determinar se a operação é permitida. Um
sistema de gerenciamento de banco de dados, em seu mecanismo de controle de acesso, pode também aplicar controle de acesso obrigatório, o que neste caso, os objetos serão tabelas, visões, procedimentos etc.