你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

保护 Azure 机密账本部署

Azure 机密账本(ACL)是一种高度安全的不可变数据存储,用于管理具有可跟踪性、可审核性和完整性的敏感数据记录。 该服务在 Azure 机密计算内的硬件支持的安全飞地上运行,为需要强完整性保证的关键数据提供防篡改且篡改可见的解决方案。

本文提供了有关如何最好地保护 Azure 机密账本部署的指导。

网络安全

Azure 机密账本专门在硬件支持的安全 enclave 上运行,提供隔离的运行时环境来保护数据免受外部威胁。 该服务利用安全通信通道和极简的受信任计算基础(TCB)来维护数据完整性。

  • 在交换数据之前验证账本真实性:在建立连接之前始终对账本节点进行身份验证,以确保与合法的 ACL 节点通信。 此验证有助于防止复杂的中间人攻击,并确保数据流向预期位置。 有关详细信息,请参阅 对 Azure 机密账本节点进行身份验证

  • 了解 TLS 连接安全性:Azure 机密账本支持用于客户端连接的 TLS 1.2 和 1.3 协议,连接在硬件支持的安全 enclave 内终止。 此方法可防止中间人攻击,因为 Azure 管理员和其他人都无法访问安全 enclave 中的数据。 有关详细信息,请参阅 Azure 机密账本常见问题解答

  • 验证节点引号以建立信任:使用 verify_quote.sh 脚本(随 CCF Python 包一起安装)验证应用程序连接到的节点是否在合法的 Intel SGX enclave 中运行受信任的代码。 此验证确认节点标识公钥的加密哈希与 SGX 报告数据匹配。 有关详细信息,请参阅 在 Azure 机密账本上建立信任

标识管理

Azure 机密账本支持可靠的标识和访问管理选项,允许实现适用于工作负荷的安全身份验证方法。

  • 使用 Microsoft Entra ID 进行身份验证:Microsoft Entra ID 是 Azure 机密账本的建议身份验证方法。 此方法可确保目录凭据不会暴露给机密账本服务,并利用 Microsoft 的安全标识平台。 有关详细信息,请参阅 包含 Microsoft Entra ID 的 Azure 机密账本身份验证

  • 使用 Microsoft Entra ID 正确注册应用程序:若要使用 Microsoft Entra 身份验证,请将应用程序注册到相应的配置设置,包括重定向 URI 和权限。 正确注册的应用程序在应用与Microsoft标识平台之间建立信任关系。 有关详细步骤,请参阅 如何使用 Microsoft Entra ID 注册 Azure 机密账本应用程序

  • 使用基于证书的身份验证实现其他安全性:对于高安全性方案或非交互式应用程序,请实现基于证书的身份验证。 此方法使用加密证书来建立标识,而不是用户名/密码组合,从而提高安全性。 确保使用具有适当密钥长度和算法的安全方法创建证书。 有关指南 ,请参阅“创建客户端证书 ”。

特权访问

管理访问权限对于维护 Azure 机密账本的安全状况至关重要。 与其他 Azure 服务不同,ACL 用户管理在账本本身中进行本地化,从而提供额外的安全层。

  • 对基于角色的控件应用最低特权原则:使用 ACL 的内置角色为用户分配最低必要权限:读取者(只读)、参与者(读取和写入),以及管理员(读取、写入和管理用户)。 如果帐户凭据遭到入侵,此方法将限制潜在的损害。 有关详细信息,请参阅 “管理Microsoft基于令牌的用户管理基于证书的用户

  • 仔细管理管理员帐户:将具有管理员角色的用户数限制为仅那些绝对需要管理其他用户或执行管理功能的用户。 请记住,创建账本后,Microsoft无法帮助管理用户,因此请保持对管理员帐户的适当访问权限。 有关详细信息,请参阅 Azure 机密账本常见问题解答

  • 实现适当的用户生命周期管理:定期查看和审核对账本的用户访问权限,删除不再需要它的用户的访问权限。 添加新用户时,请遵循最低权限原则,从读取者访问权限开始,并在必要时仅提升权限。 有关实现详细信息,请参阅 管理 Microsoft Entra 基于令牌的用户

数据完整性和保护

Azure 机密账本旨在通过其不可变的、仅追加的体系结构和加密验证机制提供强大的数据完整性保证。

  • 为数据敏感度选择适当的账本类型:创建机密账本时,请根据安全要求在专用(加密)或公共(纯文本)账本类型之间进行选择。 专用账本通过加密提供增强的保密性,而公共账本提供透明度。 创建账本后无法更改此决定。 有关详细信息,请参阅 Azure 机密账本概述

  • 使用收据验证事务完整性:对于关键事务,检索和存储事务收据,其中包含事务正确提交到账本的加密证明。 这些收据使你能够验证事务完整性,而无需维护账本数据的副本。 有关实现详细信息,请参阅 Azure 机密账本写入事务收据

  • 为高价值事务实施收据验证:建立一个过程,验证高价值或关键数据的事务收据,确保记录已正确提交到账本,并且未被篡改。 可以使用可用的验证实用工具或通过直接实现验证算法来执行此验证。 有关详细信息,请参阅验证 Azure 机密账本写入事务收据

  • 使用集合 ID 进行高效的数据组织:使用集合 ID(也称为子分类 ID)组织账本数据,以提高数据管理和查询效率。 此方法有助于在不同类型的数据之间保持逻辑分离,同时有助于更轻松地检索特定数据集。 有关详细信息,请参阅 Azure 机密账本概述

  • 考虑与其他 Azure 数据存储集成,以便进行全面的保护:对于需要端到端完整性保证的关系数据或 Blob 数据,请将数据存储与 Azure 机密账本集成。 将 Azure SQL 数据库的账本功能与 ACL 用作受信任的摘要存储,或使用 Azure 市场应用程序来保护 Blob 存储完整性。 有关集成方案 ,请参阅Microsoft Azure 机密账本概述

复原能力和监控

Azure 机密账本的设计具有复原功能,以确保高可用性和业务连续性。

  • 了解复原体系结构:Azure 机密账本节点部署在 Azure 可用性区域(AZ)中,以提供针对区域故障的复原能力。 网络在区域范围的服务中断期间自动自我愈合,帮助维护服务可用性。 有关详细信息,请参阅 Azure 机密账本体系结构

  • 规划业务连续性:Azure 机密账本会自动将账本文件定期复制到辅助存储,以支持灾难恢复。 了解持续监视用于观察实例运行状况,并在需要时自动启动恢复过程。 有关详细信息,请参阅 Azure 机密账本概述

  • 请注意删除影响:删除账本时,Azure 机密账本使用“硬删除”,这意味着数据在删除后将无法恢复。 请仔细考虑删除机密账本的任何决定,因为此作是永久性的。 有关详细信息,请参阅 Azure 机密账本概述

后续步骤