Controle de Acesso Baseado em Papéis - RBAC

Slides:



Advertisements
Apresentações semelhantes
Controles Gerais Prof.: Cheila Bombana. Controles Gerais Prof.: Cheila Bombana.
Advertisements

ADMINISTRAÇÃO DE SISTEMA DE INFORMAÇÃO
Engenharia de Software
Evolução dos SGBD’s (2ª Parte).
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
O Processo Praxis 3.0 Processos de Software 25/03/2017
Identificando requisitos
Cesf 3º Período Organização, Sistema e Métodos – OSM Julio Morais
SISTEMAS DE INFORMAÇÃO
Maurício Edgar Stivanello
Centrado na arquitetura
Interação Cliente Servidor
Introdução ao paradigma de programação: Orientado a Objetos
Desenvolvimento organizacional
Daniel Paulo Conceitos de Banco de Dados - Processamento de Transações de Dados - Gerenciamento de dados OLAP/OLTP - Alto desempenho.
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Análise e Projeto de Sistemas
Threads.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Configuração de manutenção
Engenharia de Software e Sistemas de Informação e Gestão
Fundamentos de Segurança da Informação
Princípios do SCO.
Usuário de SGBD Álvaro Vinícius de Souza Coêlho
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Gerenciamento de Dados
INTRODUÇÃO ÁS BASES DE DADOS
Gestão de Segurança em Comércio Eletrônico
Segurança de Dados Eduardo Mazza Batista Agosto
Conteúdo Processos e threads Partes do processo
Sentinel: um engenho Java para controle de acesso RBAC
IDEF0/IDEF3 Alexsander Muraro da Silva Rodrigo Castro Gil
SISTEMAS DISTRIBUIDOS Aula 4
Sistemas Operacionais
A abordagem de banco de dados para gerenciamento de dados
Porque um novo ambiente?. Interação inter-grupos  A maioria das ferramentas existentes provê interação dentro do grupo. Na concepção adotada nessa proposta.
Sistemas Operacionais
Introdução à Computação em Grade Porto Alegre, Maio/2006 Centro Nacional de Supercomputação CESUP/RS Realização: Projeto GradeUFRGS Material pertencente.
Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF.
Prof. Dr. Marcos Ricardo Rosa Georges
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Introdução a Banco de Dados Aula 04
Princípios Fundamentais e Secundários
METODOLOGIA, MÉTODOS E FERRAMENTAS
Laboratório de Programação
Prof.°: João Henrique Disciplina: SOR II
Planejamento e estratégia
Modelos de Acesso Modelo discricionário (baseado em identidade)
Generalização e herança Agregação e composição
Projeto de Banco de Dados Prof.Ms.Rodrigo Luiz Comitante Leão.
Estruturas Organizacionais
Ultimos recursos Jobson Ronan
DI-UFPE1 Sistemas CASE Interfaces Públicas de Ferramentas (PTI’s)
Active Directory Services Serviço de Diretório Ativo
GESTÃO DE PESSOAS - Aula 02_2012
Daniel Paulo Login e Usuário Login – é um objeto que tem a finalidade de acessar a instância do SQL Usuário – Associado ao login.
Escola de Engenharia de Piracicaba Administração Sistema de Comunicação de Dados Aula 1 – Introdução Alberto Martins Júnior Flávio I. Callegari.
Gerenciamento de Configuração de Software
Controle de Acesso Introdução Controle de acesso discricionário
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
TÉCNICAS DE ESTIMATIVAS
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Autorizar Programas para Usuários. 1. Deve – se cadastrar os funcionários no sistema. ( RH > Funcionário > Cadastro de Funcionário). 2. Na tela Autorizar.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
UNIEURO CENTRO UNIVERSITÁRIO Disciplina PROJETO INTEGRADOR II Professora Responsável SELMA MORAES GESTÃO DE PROJETOS.
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
Felipe do Espírito Santo Análise de sistemas - AS Conceito de Engenharia de Sistemas.
Técnicas de Avaliação de Interfaces Prof. Jorge Cavalcanti.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Controle de Acesso Baseado em Papéis - RBAC Laboratório de Banco de Dados Kelly Rosa Braghetto kellyrb@ime.usp.br

Controle de Acesso Autorização relaciona-se com os modos através dos quais usuários podem acessar recursos em um sistema computacional. Os primeiros artigos relacionados à definição e a modelagem do Controle de Acesso surgiram na década de 1970. Os esforços no sentido de padronização se iniciaram na década de 80.

Autorização X Autenticação Autenticação é o processo que determina se uma identificação fornecida por um usuário é legítima. O modo mais comum de autenticação é por senha. Formas menos comuns são biometrias e smart cards. Autorização é uma decisão “sim” ou “não” para uma pergunta do tipo: “o usuário X pode acessar o recurso Y do sistema?”. Para implementar um processo de autorização, um sistema de informação precisa manter algum relacionamento entre identificadores de usuários e recursos do sistema.

Matriz de Controle de Acesso Introduzida por Lampson (1972) e extendida por Harrison, Ruzzo e Ullman (1976-8), a matriz de controle de acessos é estruturada da seguinte forma: Colunas são indexadas por objetos (recursos do sistema); Linhas são indexadas por subjects (representação do usuário dentro do sistema ); As entradas da matriz são operações de acessos (ou conjunto delas). Esse tipo de matriz fundamenta muitos modelos teóricos de segurança.

Matriz de Controle de Acesso arq.txt cmd.exe win.ico Jason {r,w} {r} Laila {r,w,x} {w} Problemas: não é adequada para a implementação direta, pois a matriz pode ser muito esparsa. Além disso, seu custo de manutenção a torna ineficiente. Uma ACL (Access Control List) corresponde a uma coluna da matriz de acessos. Se foca nos objetos e tipicamente são implementadas no nível do sistema operacional. Uma CL (Capability List) corresponde a uma linha da matriz de acessos. Se foca nos subjects e tipicamente são implementadas em serviços e aplicações. Aplicações de Banco de Dados utilizam as CPs para implementar o controle de permissões sobre tabelas e consultas de forma bem granular.

Role-Based Access Control (RBAC) É uma família de modelos de referência na qual privilégios são associados a papéis e papéis são associados a usuários. Seu conceito começou a ser desenvolvido nos anos 70. Na abordagem orientada a objetos: papéis  objetos privilégios  direitos de acesso a seus métodos Motivação: Funcionários de uma organização mudam de posição mais freqüentemente que as obrigações (responsabilidades) relacionadas a uma posição.

RBAC - Características Pode ser configurado para apoiar vários métodos de controle de acesso diferentes, como MAC (Mandatory Access Control) e o tradicional DAC (Discretionary Access Control). MAC: baseia-se na atribuição de “rótulos” de segurança a subjects (usuários) e objetos. DAC: baseia-se em permissões atribuídas por um usuário individual (tipicamente, o dono do objeto) a outros usuários. Utilizado tanto em aplicações stand-alone como em aplicações distribuídas.

RBAC – Pergunta Freqüente Qual a diferença entre Grupos e Papéis? Grupos são tipicamente tratados como uma coleção de usuários (e não uma coleção de permissões). Um papel é uma coleção de usuários associada a uma coleção de permissões. n n Usuários Permissões n n Usuários Papel Permissões

Padrões RBAC Privilégios atribuídos a papéis são derivados a partir das responsabilidades pertencentes aos trabalhos associados a eles. Papéis e privilégios são atribuídos e gerenciados por administradores. Podemos atribuir mais de um papel a um mesmo usuário. A um papel, estão associados vários usuários. Uma permissão pode ser atribuída a um ou mais papéis. A um papel, podem estar associadas uma ou mais permissões.

Padrões RBAC É possível utilizar o conceito de hierarquia de cargos (herança e herança múltipla) na definição dos papéis. Por convenção, papéis mais “poderosos” aparecem no topo do diagrama, enquanto que os mais “fracos” aparecem na base. Project Supervisor Test Engineer Programmer Project Member

RBAC - Conceitos User: é uma pessoa interagindo com o sistema. Role: é uma coleção de funções que um usuário ou um grupo de usuários pode executar dentro do contexto de uma organização. Subject: é a representação do usuário dentro do sistema. Pode-se entender o conceito de sujeito como o de um processo no sistema aliado a um conjunto de credenciais de acesso que associam aquele processo a um usuário da base do sistema.

RBAC - Conceitos Object: qualquer recurso acessível num sistema, incluindo arquivos, periféricos, bancos de dados, ou entidades mais granulares (como campos individuais de um banco de dados). Objetos são tradicionalmente vistos como entidades passivas, que contêm ou recebem informação. Operation: é um processo ativo invocado por um subject. O tipo das operações e dos objetos que RBAC gerencia são dependentes do tipo do sistema no qual ele está implementado.

RBAC - Conceitos Constraints: predicados que podem operar sobre a autorização de um acesso, negando-o ou permitindo-o com base em critérios mais complexos do que o envolvido em operações simples. Exemplo: um constraint comum é o de separação de privilégios, no qual um mesmo usuário não pode pertencer a dois papéis que poderiam dar um poder excessivo ao mesmo – como um mesmo usuário participando dos papéis de “gerente de contas” e “auditor”.

Modelos RBAC do NIST RBAC ganhou gradualmente mais apoio da comunidade acadêmica e comercial, com diversas implementações aparecendo no mercado. Inexistência de um modelo padronizado para RBAC resultava em incerteza e ineficiência sobre seu significado e utilidade. Resultado: modelo RBAC do NIST – National Institute of Standards and Technology (padrão atual da RBAC), em 2001.

Visão geral do modelo RBAC é um conceito muito rico. Vai de controles simples a controles complexos. Um único molde definitivo ou iria incluir demais ou excluir demais. Solução adotada: o modelo RBAC foi organizado em quatro níveis de recursos e funcionalidades crescentes. Estes níveis foram definidos e formalizados em um conjunto de artigos (ver Referências).

RBAC0: Core RBAC Os recursos requeridos do Core RBAC são obrigatórios a qualquer implementação de RBAC. Este nível prevê apenas usuários, papéis e permissões. Usuários (ou grupos de usuários) e permissões são associados a papéis. (UA) User Assignment (PA) Permission Assignment USERS ROLES OPS OBS Permissions user_sessions session_roles SESSIONS

RBAC0: Core RBAC O RBAC0 define duas relações básicas: a relação entre usuários e papéis (UA – User Assignment), e a relação entre papéis e permissões (PA – Permission Assignment). Tanto a UA quanto a PA são relações many-to-many. O modelo RBAC não discorre sobre revogação de permissões ou de usuários de papéis.

RBAC1: Hierachical RBAC Difere do RBAC0 somente na introdução da hierarquia de papéis - denominada como relação RH. Hierarquias de papéis são uma maneira natural de estruturar papéis de forma a representar as responsabilidades dentro de organizações. (RH) Role Hierarchy (UA) User Assignment (PA) Permission Assignment USERS ROLES OPS OBS Permissions user_sessions session_roles SESSIONS

RBAC2: Constrained RBAC RBAC nível 2 adiciona o recurso de constraints. Constraints podem estar associados às relações usuário – papel e papel – permissão ou à ativação de papéis dentro de sessões de usuário no sistema. O RBAC2 só especifica um tipo de constraint obrigatório a ser apresentado pelo sistema: a separação de deveres, referente ao particionamento de tarefas e privilégios entre diferentes papéis. Mas qualquer outro tipo de constraint pode ser implementado, de acordo com as políticas de cada organização e as características do sistema de controle de acesso.

RBAC2: Constrained RBAC O nível 2 de RBAC do padrão prevê dois tipos de separação de deveres: Separação Estática de Deveres (Static Separation of Duty) Separação Dinâmica de Deveres (Dynamic Separation of Duty) SSD (UA) User Assignment (PA) Permission Assignment USERS ROLES OPS OBS Permissions user_sessions session_roles SESSIONS DSD

RBAC2 - Separação Estática de Deveres Visa diminuir o conflito de interesses em um sistema baseado em papéis ao não permitir que um mesmo usuário pertença a dois papéis considerados mutuamente exclusivos. A separação é estática porque ela sempre está ativa no sistema, agindo na relação usuário – papel. Se um usuário é autorizado como membro de um papel, ele é proibido de ser membro de um papel conflitante. Este tipo de constraints são herdados na hierarquia de papéis.

RBAC2 – Separação Dinâmica de Deveres Esse tipo de separação de deveres fornece a capacidade de tratar situações de conflitos de interesse no momento em que o usuário entra no sistema assumindo um determinado papel. O constraint age sobre o estabelecimento da sessão do usuário dentro do sistema. Permite tratar situações em que um usuário pertença a um conjunto de papéis que não constituem conflito de interesse quando utilizados de modo independente, mas gerem preocupação se utilizados em conjunto.

RBAC – Exemplos de Constraints Na relação papel – permissão: permitir ou negar o acesso em determinados horários, de acordo com uma política estabelecida. Na relação usuário – papel: forçar uma quantidade máxima de pessoas por papel (cardinality constraint). Um exemplo de utilização é no caso do papel de um gerente de projeto (só deve existir uma pessoa exercendo-o). permitir que um marinheiro de baixo escalão (com um papel correspondente) exerça o papel de comandante de navio (um papel com privilégios mais altos) apenas se ele for o último remanescente no barco, em caso de acidente, por exemplo.

RBAC – Exemplos de Constraints No estabelecimento da sessão do usuário: permitir ou negar o acesso quando o usuário utilizar o sistema a partir de algumas origens específicas – de máquinas não confiadas na rede, por exemplo. Na relação usuário – papel ou no estabelecimento da sessão: exclusão mútua: permite a separação de deveres.

RBAC3 – Modelo Consolidado O RBAC3 combina o RBAC1 e RBAC2, suportando tanto as hierarquia de papéis quanto os constraints. SSD (RH) Role Hierarchy (UA) User Assignment (PA) Permission Assignment USERS ROLES OPS OBS Permissions user_sessions session_roles SESSIONS DSD

Referências Sandhu, R., Coyne, E., Feinstein, H., Youman, C. Role-Based Access Control Models, IEEE Computer 29(2), IEEE Press, 1996, Pages 38-47. Sandhu, R., Ferraiolo, D., Gavrila, S., Chandramouli, R. and Kuhn, R. Proposed NIST Standard for Role-based access control. ACM Transactions on Information and System Security, Vol. 4, No. 3, August 2001, Pages 224–274. Sandhu, R., Ferraiolo, D., and Kuhn, R. 2000. The NIST Model for Role-Based Access Control: Towards a Unified Standard. In Proceedings of 5th ACM Workshop on Role-Based Access Control, Berlin, Germany, July 2000. Web Site do RBAC – NIST: http://csrc.nist.gov/rbac