Как замаскировать конкретного пользователя в SQL Server

#sql-server

#sql-сервер

Вопрос:

 ALTER TABLE tblExample
    ALTER COLUMN xxx ADD MASKED WITH(FUNCTION='default()')
  

Это делает маскировку для каждого пользователя, кроме администратора.

 GRANT/DENY UNMASK TO USERONE
  

Я хочу замаскировать только для 1 пользователя. Я не хочу маскировать всех пользователей -> отбрасывать маски для всех пользователей, кроме этого конкретного

Есть ли какой-нибудь способ сделать это возможным?

Ответ №1:

С точки зрения безопасности это вообще не очень хорошая практика … однако, если вы хотите, чтобы все текущие и будущие пользователи БД могли снимать маску, а один пользователь — нет, тогда вы можете предоставить демаскировку public и запретить ее «pooruser» (запрет заменяет предоставление)

 grant unmask to public;
deny unmask to pooruser;