浏览账本

已完成

账本 在数据库中提供篡改证据功能。 你能够以加密方式向其他方(如审核员或其他业务参与方)证明你的数据未篡改。

工作原理

加密和区块链已经开始出现在影响深远的技术领域,并取得了不同程度的成功。 证明有用和有益的一个地方是用作账本背后的技术。 账本在数据库中提供篡改证据功能。 使用此功能,你可以向审核员、业务合作伙伴或任何感兴趣的参与方提供具体证明,这些数据已被更改或篡改。

传统账本被定义为特定类型的帐户集合,这正是你的环境中 Azure SQL 数据库账本功能所提供的内容。 它对数据提供透明保护,使其免受恶意行动者的攻击,包括但不限于攻击者,甚至是数据库或云管理员。 它在保持 Azure SQL 数据库的功能、灵活性和性能的同时,提供加密数据完整性的保证。

账本表体系结构示意图。

数据库接收的每个事务都会进行加密哈希处理 (SHA-256)。 函数以加密方式将所有事务链接在一起,类似于区块链。

组件

账本函数目前存在两种形式的表:可更新账本表和仅追加账本表。

可更新账本表

可更新账本表可用于发出更新、删除和插入的应用程序。 它还适用于记录应用程序系统和事务系统,在这些系统中需要保存和审核事实记录。 可更新账本表跟踪对任何行的更改历史记录,并使用内置的系统版本控制来创建一个历史记录表,其中存储该行的上一个版本,以便在任何更新或删除时保存完整的历史记录。

仅追加账本表

仅追加账本表与仅插入应用程序(例如仍需要审核或安全信息和事件管理 (SIEM) 应用程序的会计系统)配合良好。 仅追加账本表会阻止 API 级别的所有更新和删除,因此它不仅提供确定性,还有助于管理。

好处

账本提供多个优势:

简化审核 - 经常制定审核,确保适当的安全控制措施到位,以减少潜在攻击,根据需要备份和还原做法,并实施完备的灾难恢复过程。 账本提供在审核过程中未更改数据的记录证明。

增加信任 - 账本还有助于在多方业务流程之间建立信任,避免因网络共识带来的复杂性和性能影响。

数据完整性 - 在不牺牲性能的情况下查询区块链网络上的数据可能是一个严峻的挑战。 账本为区块链网络的链外存储提供数据完整性,这有助于确保整个系统完全信任数据。

在 SQL 数据库上启用账本

只能在数据库创建过程中启用账本功能。 创建数据库后,无法对其进行修改。

  1. 在 dababase 创建过程中,在 Azure 门户中的“创建 SQL 数据库”页的“安全”选项卡下选择“账本”。

  2. 选择“ 配置账本 ”链接。 在 “配置账本 ”页上,选中 “为此数据库中的所有未来表启用 ”复选框。 提供为数据库摘要创建新存储的信息。 选择“应用”。

    显示如何为 Azure SQL 数据库启用账本功能的屏幕截图。

注意

此设置确保数据库中未来的所有表都是账本表。 为此,数据库中的所有数据都将显示任何篡改证据。 默认情况下,即使你没有在 LEDGER = ON 语句中指定 CREATE TABLE,新表也将被创建为可更新的账本表。

也可以不选择此选项。 使用 SQL Transact-SQL 创建新表时,需要在每个表的基础上启用账本功能。