Cenário: ExampleHMO usando controle de acesso de linha e coluna-Usuários e funções do banco de dados

Neste cenário, várias pessoas diferentes criam, protegem e usam dados do ExampleHMO Essas pessoas têm direitos de usuários diferentes e autoridades de banco de dados.

ExampleHMO implementou sua estratégia de segurança para classificar a maneira como os dados são acessados do banco de dados. O acesso interno e externo aos dados baseia-se na separação de deveres para os usuários que acessam os dados e seus privilégios de acesso a dados. ExampleHMO criou as seguintes funções do banco de dados para separar essas funções:
PARTIC
Para os médicos de cuidados primários.
DROGAR_PESQUISA
Para pesquisadores.
ACCOUNTING
Para contadores.
ASSOCIAÇÃO
Para os membros que adicionam pacientes para opt-in e opt-out.
Paciente
Para os pacientes.
As pessoas a seguir criam, protegem e usam dados ExampleHMO :
Alex
ExampleHMO Administrador de Segurança Principal Ele detém a autoridade SECADM.
Peter
ExampleHMO Administrador do banco de dados Ele detém a autoridade DBADM.
Paul
ExampleHMO Desenvolvedor de banco de dados Ele tem os privilégios para criar triggers e funções definidas pelo usuário.
Dr. Lee
ExampleHMO Ele pertence ao papel PCP.
Jane
Pesquisador de medicamentos na empresa farmacêutica inovadora, um parceiro ExampleHMO . Ela pertence ao papel DRO_RESEARCH.
João
ExampleHMO Departamento de contabilidade. Ele pertence ao papel CONTABILIDADE.
Tom
ExampleHMO Responsável pela Associação Ele pertence à função SÓCIOS.
Bob
ExampleHMO Paciente Ele pertence ao papel PACIENTE.

Se você deseja tentar qualquer uma das instruções SQL de exemplo e comandos apresentados neste cenário, crie estes IDs de usuários com suas autoridades listadas.

As instruções SQL de exemplo a seguir supõem que os usuários foram criados no sistema. As instruções SQL criam cada função e concedem permissões SELECT e INSERT para as várias tabelas no banco de dados ExampleHMO para os usuários:

--Creating roles and granting authority

CREATE ROLE PCP;

CREATE ROLE DRUG_RESEARCH;

CREATE ROLE ACCOUNTING;

CREATE ROLE MEMBERSHIP;

CREATE ROLE PATIENT;

GRANT ROLE PCP TO USER LEE;
GRANT ROLE DRUG_RESEARCH TO USER JANE;
GRANT ROLE ACCOUNTING  TO USER JOHN;
GRANT ROLE MEMBERSHIP TO USER TOM;
GRANT ROLE PATIENT TO USER BOB;