SQL Server: direitos explícitos ao esquema?

4

Ao conceder permissões para determinado esquema no SQL Server, quero negar algumas operações de determinados usuários. Preciso negar explicitamente isso ou é para que, quando o usuário obtiver permissão para esse esquema, os direitos desse esquema sejam automaticamente negados para outros usuários?

    
por atricapilla 06.09.2010 / 13:36

2 respostas

3

Por padrão, os direitos dos objetos no esquema não são concedidos a um usuário. No entanto, existem algumas maneiras em que um usuário pode obter os direitos para o objeto. Por exemplo, os direitos podem ser concedidos explicitamente ao usuário e / ou a um grupo no qual o usuário é membro.

O comando DENY nega direitos ao usuário ou ao grupo, mesmo que o usuário tenha recebido direitos sobre o objeto. Por exemplo, suponha que o usuário A seja um membro do grupo MyGroup e o grupo tenha recebido o direito de acessar a tabela MyTable. Todos os usuários do MyGroup podem consultar o MyTable. Agora, você pode negar acesso ao MyTable para o usuário A. O usuário A não poderá consultar o MyTable, mas o restante dos membros do grupo ainda poderá consultar a tabela.

Portanto, é melhor negar explicitamente os direitos dos usuários que não devem ter acesso ao esquema.

    
por 06.09.2010 / 19:04
0

Pense no esquema em SQL como uma árvore. Quanto mais voltarmos à raiz do esquema que um usuário tem um direito permitido, maior será o tronco e os ramos que o usuário manterá e permitirão até você negar. Se o usuário A tiver permissões para executar procs armazenados em um banco de dados, eles terão direitos para acessar todos os procs armazenados nesse banco de dados e, se você não quiser que eles tenham direitos para executar um único, será necessário marcá-lo como negar. O mesmo acontece com os direitos de leitura, gravação, atualização, etc. Se o usuário tiver esses direitos em um nível mais alto, sim, você precisará negar implicitamente. Não consigo pensar em nada (incluindo login) que um usuário tenha direitos para fazer, a menos que você conceda a eles o acesso em primeiro lugar. Tendo em mente, claro, alguns destes podem ser concedidos após a criação do usuário.

A última coisa que vou dizer é que nunca é demais ter certeza. Muitas vezes, especifico permitir ou negar itens que são mais sensíveis à segurança, embora eu saiba que já deveria ser assim.

    
por 06.09.2010 / 19:05