Database
 sql >> Base de Dados >  >> RDS >> Database

Abordagens de Segurança em Modelagem de Dados. Parte 4




Este é o quarto de nossa série de várias partes sobre modelagem de dados para segurança da informação, bem como características de dados. Um modelo de dados simples para um site fictício que oferece suporte a organizações de interesse compartilhado (clubes de observação de pássaros etc.) nos forneceu conteúdo para explorar a modelagem de dados do ponto de vista da segurança.

Na peça de Oscar Wilde Fã de Lady Windermere , Lord Darlington rotula um cínico como “alguém que sabe o preço de tudo e o valor de nada”. Infelizmente, as informações em nossos bancos de dados podem ser tratadas inconscientemente da mesma maneira. Uma conta de cliente vale a soma de suas compras? O que sofremos se perdermos quatro horas de dados de marketing durante a temporada de compras de fim de ano?

Nós, modeladores de dados, não faremos essas avaliações, mas devemos armazenar seus dados relevantes em nome das pessoas que farão. Teremos que preencher as lacunas da estrutura de dados implícita. Neste artigo, veremos como adicionar esse importante elemento de segurança ao nosso banco de dados.

Mostre-me o dinheiro!


Quanto devemos proteger cada objeto de dados? Considere-os à luz da Confidencialidade , Integridade e Disponibilidade — as qualidades-chave que determinam a segurança de um sistema de informação. Também devemos considerar a diferença entre essas medidas em uma base “intrínseca” e o quanto esses dados podem afetar a segurança.

Há duas razões para fazer isso. Primeiro, nos ajudará a ver como proteger os dados do banco de dados do nosso clube. Algumas tabelas devem ser criptografadas? Colocar em outros esquemas? Talvez a jusante anexaremos controles de banco de dados privado virtual? Essas informações nos ajudarão a escolher as proteções apropriadas.

Em segundo lugar, ponderaremos os dados de uma perspectiva contábil bruta:Qual é o seu valor total? O que podemos perder em caso de corrupção de dados? Qual é a nossa responsabilidade se os dados pessoais forem divulgados? Quando adicionamos essas informações ao nosso esquema, adicionamos uma métrica crítica aos nossos dados armazenados:dólares e centavos. Isso permite que as pessoas que pagam as contas determinem o que podem pagar pela segurança ––– e, de forma monetária, quanto ela vale.

Todos os relacionamentos são explicados


Vamos recapitular o estado do nosso modelo. A partir do último artigo, a estrutura de dados foi preenchida. Pessoas, clubes, membros, fotos, álbuns e conteúdo estão todos lá. Como eles se unem está lá. Esse esquema está pronto para armazenar dados com os relacionamentos capturados explicitamente, enquanto os relacionamentos implícitos foram eliminados na medida do possível.


Atribuindo valor e sensibilidade


Agora vamos descobrir como colocar números nos dados. Realmente não podemos anexar um único valor para um item de dados nos dizendo o quanto protegê-lo. No entanto, também não podemos – e não precisamos – entrar em uma coleção de métricas. Vamos nos concentrar em quanto um dado pode ganhar para nós e quanto perder ou divulgar esses dados pode nos custar.

Usamos os termos “valor” e “sensibilidade” para isso – uma medida positiva e uma negativa, se você preferir. O valor é muitas vezes considerado em termos de valor futuro ou oportunidade. A sensibilidade é muito defensiva; refere-se a riscos a nível financeiro (sanções regulamentares ou legais) e de perda de reputação ou goodwill.

A avaliação está diretamente relacionada à Integridade e Disponibilidade . Julgaremos isso em termos de quais benefícios os dados podem gerar ou quanto dano será causado se o acesso a eles for perdido. Lidamos com a sensibilidade principalmente em termos de Confidencialidade , que deve ser medido pelo dano ou responsabilidade se for revelado.

A estrutura comum de avaliação e sensibilidade


Agora vamos considerar a avaliação e a sensibilidade em relação ao nosso banco de dados. Ao vermos o modelo de dados novamente, descobrimos que essas qualidades são relativas apenas a um clube ou a uma pessoa. Um clube ou uma pessoa se beneficia do valor de algo e sofre quando algo sensível é tornado público. Portanto, cada uma dessas avaliações é capturada em relação a um clube ou a uma pessoa. ao olharmos para nossas entidades de dados, garantiremos que cada uma que tenha um valor (benefício) também tenha uma sensibilidade (risco) e vice-versa. Assim, cada entidade envolvida terá campos separados de Avaliação e Sensibilidade. Eles serão opcionais ou padronizados na maioria dos casos. Além disso, ambos serão pesados ​​em termos de dinheiro:um valor de moeda, com precisão de centésimos de dólar americano. (Por uma questão de clareza, usaremos apenas uma moeda.) Comemore ou lamente, o dinheiro é nossa única métrica utilizável para ambos. Para alavancar essa semelhança, chamaremos isso de “Importância”.

Como modeladores de dados, não podemos realmente colocar números nisso. Mesmo como operador de site ou banco de dados, não sabemos o suficiente para atribuir esses valores; além disso, os dados não são totalmente nossos. Para dados específicos de um clube, precisamos permitir que esse clube atribua suas próprias níveis de importância e suas regras para usar esses níveis. Em seguida, aplicamos suas regras aos seus dados.

Vamos começar com os tipos de entidades que os clubes podem atribuir.

Dados do clube


As entidades do Clube são:
  • Clube
  • Club_Office
  • Diretor
  • Membro
  • Álbum
  • Album_Photo
  • Foto

Adicionaremos Valuation e Sensitivity colunas para cada um deles. Como essas colunas estão anexadas ao Clube , seus nomes são específicos – por exemplo, club_sensitivity .

Aqui está nosso conjunto de tabelas de foco para o Clube , incluindo Pessoa :


Dados pessoais


Agora precisamos endereçar a Person entidade. Novamente, não atribuímos os valores aqui – isso é prerrogativa da pessoa. Naturalmente, precisamos adicionar colunas de Importância a Person . Mas para apoiar melhor a privacidade pessoal, vamos dividir melhor essa entidade. Afinal, a privacidade é a chave para a confidencialidade dos dados.

Primeiro, adicionaremos uma nova coluna chamada monicker que é como um nome de usuário ou alias. Os membros do clube podem usar isso para identificação em vez de seus nomes reais. Forneceremos um par de colunas de avaliação/sensibilidade para a associação nome-monitor. Estes serão person_name_valuation e person_name_sensitivity . O resto dos campos são controlados por esses dois pares.

Uma Pessoa A atividade do clube de 's é tanto de seu interesse quanto do Clube 's. Portanto, adicionaremos os mesmos campos de Importância a Membro e Diretor .

Agora podemos adicionar person_importance campos para a Foto entidade, mas veja o photo_content coluna. Uma foto pode envolver várias pessoas, e isso faz parte do que armazenamos em photo_content. Portanto, colocaremos os campos de importância em photo_content. em vez de na Foto.

O modelo “sensibilizado”


Modificamos nosso modelo de dados para atribuir valor de dados e sensibilidade de dados em todos os lugares necessários. O seguinte é o nosso esquema final.

Tivemos o cuidado de evitar distorcer o esquema original com relacionamentos ou restrições adicionais. Isso é fundamental porque estamos considerando esse esquema como uma análise precisa dos dados reais com regras de negócios reais.




Anexar qualquer tipo de importância inerente aos seus dados é difícil. É pior se você estiver tentando aplicá-lo a um banco de dados sem suporte no modelo ou esquema. Este artigo demonstra uma técnica para anexar essas informações de uma forma que não distorça as partes intrínsecas de negócios do modelo.

A flexibilidade e a possibilidade de modificação de Value e Sensibilidade são os principais objetivos aqui. Ao começar a aplicar valores reais a esses atributos, você descobrirá que precisa modificá-los e revisar sua abordagem. Essa é uma razão para anexar individualmente esses valores às próprias tabelas, em vez de tê-los fora do quadro. A desvantagem é que fica bastante complicado, devido às muitas localizações para esses valores. Isso pode até aparecer na forma como o modelo é usado. Abordaremos a questão multifacetada do gerenciamento da complexidade na segurança da informação em nosso próximo artigo.

Por favor, deixe quaisquer comentários ou críticas em nosso combox.