数据安全实现与管理指南
立即解锁
发布时间: 2025-08-21 01:27:15 阅读量: 3 订阅数: 18 


Azure数据工程与处理实战指南
### 数据安全实现与管理指南
在当今数字化的时代,数据安全至关重要。本文将深入探讨数据安全的多个方面,包括数据访问权限的授予、数据掩码的实现、身份管理以及如何使用 Azure Key Vault 和托管标识来保护凭据等内容。
#### 1. 授予用户列级访问权限
为了确保数据的安全性,我们可以通过 SQL 命令仅授予用户对特定列的访问权限。例如,使用以下 SQL 命令授予用户 `brainjammer` 对 `SUBJECTS` 表中特定列的 `SELECT` 权限:
```sql
GRANT SELECT ON SUBJECTS
(ID, FIRSTNAME, LASTNAME, EMAIL, COUNTRY, CREATE_DATE) TO brainjammer
```
从此时起,当用户 `brainjammer` 访问 `SQLPool` 数据库并从 `SUBJECTS` 表中检索数据时,只能检索到被授予权限的列。以下是相应的 SQL 查询及输出示例:
```sql
SELECT ID, FIRSTNAME, LASTNAME, EMAIL, COUNTRY, CREATE_DATE FROM dbo.SUBJECTS
```
输出结果如下:
```plaintext
+-----+-----------+----------+-----------------------+------+---------------------+
| ID | FIRSTNAME | LASTNAME | EMAIL | | CREATE_DATE |
+-----+-----------+----------+-----------------------+------+---------------------+
| 48 | MARY | PERKINS | [email protected] | USA | 2022-10-16 00:00:00 |
| 60 | BENJAMIN | PERKINS | [email protected] | USA | 2022-10-12 00:00:00 |
| 120 | RUAL | PERKINS | [email protected] | USA | 2022-10-12 00:00:00 |
+-----+-----------+----------+-----------------------+------+---------------------+
```
为了降低成本,在不使用专用 SQL 池时,应始终将其关闭。
#### 2. 实现数据掩码
列级安全和动态数据掩码的主要区别在于,列级安全会完全阻止对列的检索。例如,如果用户对名为 `BIRTHDATE` 的列没有权限,而他们尝试检索该列时,会返回权限被拒绝的异常。而数据掩码则允许检索列数据,但数据会被部分隐藏。
以下是配置动态数据掩码的具体步骤:
1. 登录 Azure 门户(https://portal.azure.com),导航到之前创建的 Azure Synapse Analytics 工作区,选择 SQL 池导航菜单链接,选择专用 SQL 池,启动 SQL 池。
2. 当 SQL 池运行后,选择“动态数据掩码”刀片,选择“+ 添加掩码”菜单项,按照图 8.39 进行配置,然后点击“添加”按钮。
3. 点击“保存”按钮,使用在之前练习中创建的凭据,通过 Azure Data Studio 登录专用 SQL 池,然后执行以下 SQL 查询:
```sql
SELECT ID, FIRSTNAME, LASTNAME, EMAIL, COUNTRY, CREATE_DATE FROM dbo.SUBJECTS
```
4. 注意 `EMAIL` 列中的数据已应用了在步骤 1 中配置的掩码。最后停止专用 SQL 池。
执行上述查询后,结果如下:
```plaintext
+-----+-----------+----------+---------------+---------+---------------------+
| ID | FIRSTNAME | LASTNAME | EMAIL | COUNTRY | CREATE_DATE |
+-----+-----------+----------+---------------+---------+---------------------+
| 48 | MARY | PERKINS | [email protected] | USA | 2022-10-16 00:00:00 |
| 60 | BENJAMIN | PERKINS | [email protected] | USA | 2022-10-12 00:00:00 |
| 120 | RUAL | PERKINS | [email protected] | USA | 2022-10-12 00:00:00 |
+-----+-----------+----------+---------------+---------+---------------------+
```
除了使用预配置的掩码,还可以配置自定义掩码。这需要提供要显示的起始字符数、填充字符串(例如 `xxxxx.`)以及要显示的结尾字符数。例如,对 `EMAIL` 列使用前缀和后缀值为 3 并进行填充,结果可能是 `benxxxxx.net`,这比默认掩码更有用。
#### 3. 跨不同数据平台技术管理身份、密钥和机密
保护凭据一直是一项极具挑战性的任务。随着组织的复杂性和规模不断增长,很容易失去对谁拥有哪些凭据的控制。为了解决凭据泄露的问题,我们可以结合使用 Azure
0
0
复制全文
相关推荐









