Реализация динамического маскирования данных в хранилище данных Synapse
Область применения:✅ конечная точка аналитики SQL и хранилище в Microsoft Fabric
Динамическое маскирование данных — это передовые технологии защиты данных, которые помогают организациям защищать конфиденциальную информацию в своих базах данных. Он позволяет определять правила маскирования для определенных столбцов, гарантируя, что только авторизованные пользователи видят исходные данные при скрытии их для других пользователей. Динамическое маскирование данных обеспечивает дополнительный уровень безопасности, динамически изменяя данные, представленные пользователям, на основе разрешений на доступ.
Дополнительные сведения см. в статье "Динамическое маскирование данных" в хранилище данных Fabric.
Необходимые компоненты
Прежде чем начать, убедитесь, что у вас есть следующее:
- Рабочая область Microsoft Fabric с активной емкостью или пробной емкостью.
- Склад.
- Динамическое маскирование данных работает в конечной точке аналитики SQL. Маски можно добавить в существующие столбцы, как
ALTER TABLE ... ALTER COLUMN
показано далее в этой статье. - В этом упражнении используется хранилище.
- Динамическое маскирование данных работает в конечной точке аналитики SQL. Маски можно добавить в существующие столбцы, как
- Для администрирования пользователь с правами администратора, участника или участника в рабочей области или повышенными разрешениями на хранилище.
- В этом руководстве используется учетная запись администратора.
- Для тестирования пользователь без прав администратора, участника или участника в рабочей области и без повышенных разрешений на хранилище.
- В этом руководстве используется тестовый пользователь.
1. Подключение
- Откройте рабочую область Fabric и перейдите к хранилищу, к которому необходимо применить динамическое маскирование данных.
- Войдите с помощью учетной записи с повышенным доступом в хранилище, роль администратора или участника или участника в рабочей области или разрешения управления в хранилище.
2. Настройка динамического маскирования данных
Войдите на портал Fabric с учетной записью администратора.
В рабочей области Fabric перейдите к хранилищу.
Выберите параметр "Создать SQL-запрос" и в разделе "Пустой" выберите "Создать SQL-запрос".
В скрипте SQL определите правила динамического
MASKED WITH FUNCTION
маскирования данных с помощью предложения. Например:CREATE TABLE dbo.EmployeeData ( EmployeeID INT ,FirstName VARCHAR(50) MASKED WITH (FUNCTION = 'partial(1,"-",2)') NULL ,LastName VARCHAR(50) MASKED WITH (FUNCTION = 'default()') NULL ,SSN CHAR(11) MASKED WITH (FUNCTION = 'partial(0,"XXX-XX-",4)') NULL ,email VARCHAR(256) NULL ); GO INSERT INTO dbo.EmployeeData VALUES (1, 'TestFirstName', 'TestLastName', '123-45-6789','[email protected]'); GO INSERT INTO dbo.EmployeeData VALUES (2, 'First_Name', 'Last_Name', '000-00-0000','[email protected]'); GO
- В
FirstName
столбце отображаются только первые и последние два символа строки с-
серединой. - В столбце
LastName
показаноXXXX
. - В
SSN
столбце показаныXXX-XX-
последние четыре символа строки.
- В
Нажмите кнопку "Выполнить", чтобы выполнить скрипт.
Подтвердите выполнение скрипта.
Скрипт будет применять указанные правила динамического маскирования данных к указанным столбцам в таблице.
3. Тестирование динамической маскировки данных
После применения правил динамического маскирования данных можно протестировать маскирование, запросить таблицу с тестовой пользователем, у которого нет прав администратора, участника или участника в рабочей области, или повышенных разрешений на хранилище.
- Войдите в средство, например Azure Data Studio или SQL Server Management Studio в качестве тестового пользователя[email protected]
- В качестве тестового пользователя выполните запрос к таблице. Маскированные данные отображаются в соответствии с заданными правилами.
SELECT * FROM dbo.EmployeeData;
- С учетной записью администратора предоставьте
UNMASK
разрешение тестового пользователя.GRANT UNMASK ON dbo.EmployeeData TO [[email protected]];
- В качестве тестового пользователя убедитесь, что пользователь вошел в систему, как [email protected] можно увидеть незамеченные данные.
SELECT * FROM dbo.EmployeeData;
- С учетной записью администратора отмените
UNMASK
разрешение тестового пользователя.REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
- Убедитесь, что тестовый пользователь не может видеть незамаскированные данные, только маскированные данные.
SELECT * FROM dbo.EmployeeData;
- С учетной записью администратора вы можете предоставить и отозвать
UNMASK
разрешение на роль.GRANT UNMASK ON dbo.EmployeeData TO [TestRole]; REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
4. Управление и изменение правил динамического маскирования данных
Чтобы управлять или изменять существующие правила динамического маскирования данных, создайте новый скрипт SQL.
Маску можно добавить в существующий столбец с помощью
MASKED WITH FUNCTION
предложения:ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()'); GO
ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] DROP MASKED;
5. Очистка
- Чтобы очистить эту таблицу тестирования, выполните указанные ниже действия.
DROP TABLE dbo.EmployeeData;