探讨 Azure 存储安全功能
Contoso 严重依赖于 Azure 存储中的海量数据。 他们的许多应用程序都依赖于 blob、非结构化表存储、Azure Data Lake 和基于服务器消息块 (SMB) 的文件共享。
Contoso 的竞争对手发生数据泄露后,Contoso 要求网络管理员检查组织的数据安全性。 作为 Contoso 的数据顾问,向网络管理员保证 Azure 存储帐户为云中的数据提供了多种高级安全性优势:
- 保护静态数据
- 保护传输中的数据
- 支持浏览器跨域访问
- 控制可以访问数据的人员
- 审核存储的访问权限
静态加密
所有写入 Azure 存储的数据都由存储服务加密 (SSE) 和 256 位高级加密标准 AES 密码自动加密,且符合 FIPS 140-2。 将数据写入 Azure 存储时,SSE 自动加密数据。 从 Azure 存储中读取数据时,Azure 存储会在返回数据之前对其进行解密。 此过程不会产生额外费用,也不会降低性能。 无法禁用该过程。
对于虚拟机 (VM),Azure 可以使用 Azure 磁盘加密来加密虚拟硬盘 (VHD)。 对于 Windows 映像,此加密使用 BitLocker;对于 Linux,此加密使用 dm-crypt。
Azure Key Vault 会自动存储密钥,以帮助你控制和管理磁盘加密密钥和机密。 因此,即使有人访问 VHD 图像并将其下载,他们也无法访问 VHD 上的数据。
传输中加密
通过在 Azure 与客户端之间启用传输级别安全性,可确保数据保持安全。 始终使用 HTTPS 来保护通过公共 Internet 的通信。 调用 REST API 以访问存储帐户中的对象时,可以通过要求对存储帐户进行 安全传输 来强制使用 HTTPS。 启用安全传输后,系统将拒绝使用 HTTP 的连接。 此标志还将通过要求 SMB 3.0 用于所有文件共享安装,以强制保护通过 SMB 的传输。
CORS 支持
Contoso 在 Azure 存储中存储多个网站资产类型。 这些类型包括图像和视频。 为了保护浏览器应用,Contoso 将 GET 请求锁定到特定域。
Azure 存储支持通过跨域资源共享 (CORS) 进行跨域访问。 CORS 使用 HTTP 标头,以便让在一个域中运行的 Web 应用程序可以从不同域的服务器访问资源。 通过使用 CORS,Web 应用可以确保其仅从授权源加载授权内容。
CORS 支持是可以在存储帐户上启用的可选标志。 使用 HTTP GET 请求从存储帐户检索资源时,该标志会添加相应的标头。
基于角色的访问控制
要访问存储帐户中的数据,客户端需通过 HTTP 或 HTTPS 发出请求。 必须授权对保护资源的每个请求。 该服务可确保客户端具有访问数据所需的权限。 可以从多个访问选项中进行选择。 可以说,最灵活的选项是基于角色的访问。
Azure 存储支持将 Microsoft Entra ID 和基于角色的访问控制 (RBAC) 用于资源管理和数据操作。 对于安全主体,可以分配作用域为存储帐户的 RBAC 角色。 可使用 Active Directory 授权资源管理操作,例如配置。 Blob 和队列存储上的数据操作支持 Active Directory。
对于 Azure 资源的安全主体或托管标识,可分配范围设为订阅、资源组、存储帐户或单个容器/队列的 RBAC 角色。
审核访问
审核是控制访问的另一个部分。 通过使用内置的存储分析服务,可以审核 Azure 存储访问。
存储分析实时记录每项操作,并且你可以在存储分析日志中搜索特定请求。 可根据身份验证机制、成功的操作或已访问的资源进行筛选。