Zapobiegaj zmianie przez użytkownika rozszerzonych właściwości

0

Pytanie:

Domyślnie użytkownik może zmieniać własne rozszerzone właściwości. Czy następujący kod jest odpowiedni, aby uniemożliwić użytkownikowi zmianę atrybutów właściwości rozszerzonych?

USE [CustomerAccessDatabase];
GO
DENY SELECT ON sys.extended_properties to [Customer_Access_Role];
GO
USE [master];
GO
DENY EXEC ON sys.sp_addextendedproperty to [public];
GO
DENY EXEC ON sys.sp_dropextendedproperty to [public];
GO
DENY EXEC ON sys.sp_updateextendedproperty to [public];
GO
Max xaM
źródło

Odpowiedzi:

0

Jestem przekonany, że rozwiązałem ten problem i odpowiednio go zabezpieczyłem.

Odmowa wyboru na sys.extended_properties nie jest opcją, ponieważ uniemożliwia wybór we wszystkich tabelach.

Jednak samo odmawianie wykonania procedur systemowych w systemie jest wystarczające. Użytkownik może zobaczyć rozszerzone właściwości, ale nie może ich zmienić. Próba zmiany rozszerzonych właściwości za pośrednictwem interfejsu SSMS również kończy się niepowodzeniem, ponieważ zaplecze wywołuje te same systemowe procedury składowane.

Max xaM
źródło
Jeśli ktoś ma sposób na odmowę rozszerzonych edycji właściwości określonego obiektu (np. Użytkownika), zmienię zaakceptowaną odpowiedź.
Max xaM