Как замаскировать (скрыть) определенный столбец в SQL Server 2012? - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу предоставить доступ к базе данных кому-то другому, но я хочу скрыть конфиденциальные данные, такие как номера кредитных карт и адреса электронной почты.Функция Маскировка не работает в SQL Server 2012.

Каков наилучший способ решения этой проблемы?

1 Ответ

0 голосов
/ 28 ноября 2018

Вы не можете использовать новые вещи, такие как динамическое маскирование данных или защита на уровне строк , чтобы ограничить доступ к определенным полям или строкам, поэтому вы можете перейти к старому способу.

Создавайте представления и выставляйте только те поля, которые вам нужно показать.Предоставьте доступ только к этим представлениям.

Не расстраивайтесь из-за динамического маскирования данных.Это не функция безопасности, и существуют различные способы раскрытия информации.

Попробуйте что-то вроде этого:

CREATE VIEW [dbo].[vw_SenstiveData]
AS
SELECT [UserID]
      ,'XXXXXXXX' AS [UserName]
      ,LEFT([SocialID], 4) + '-XXX-XXX-XXXXXXX-' + RIGHT([SocialID], 3) AS [SocialID]
FROM [dbo].[Users]
...