Eu sou relativamente novo nisso (Banco de dados, problemas gerais de segurança), então posso estar complicando demais isso. Eu tenho um banco de dados contendo as notas dos alunos. Quero criar uma visão na qual restrinja o acesso a cada aluno. Posso pensar em 3 maneiras de fazer isso: concedendo permissões no banco de dados mestre, usando listas de controle de acesso, talvez criando grupos no AD e atribuindo funções, embora isso pareça exigir uma função para cada aluno, o que parece muito trabalhoso. Alguém pode me orientar por favor? Obrigado.
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
Se você deseja que todos os alunos tenham acesso apenas às linhas que protegem esse aluno, você pode fazer isso adicionando mais um campo à sua tabela de alunos, onde para cada aluno você armazenará sua conta do AD e, em seguida, crie uma visualização que unirá todos vocês precisa incluir sua tabela de alunos e usar um filtro como este
Assim, cada aluno terá acesso apenas às suas linhas. Aqui USER é uma função T-SQL integrada que retornará a conta AD do aluno. Certamente você deve criar logins para seus alunos usando a autenticação do Windows; você não precisa mapeá-los individualmente, será suficiente adicionar um grupo de janelas seuDom\ALUNOS onde cada aluno é membro de seuDom\ALUNOS