将零信任原则应用于 Azure 存储

摘要:若要将零信任原则应用于 Azure 存储,必须保护数据(静态数据、传输中的数据和使用中的数据),验证用户和控制访问权限,使用网络控制分离关键数据,并使用 Defender for Storage 进行自动威胁检测和保护

本文介绍了将零信任原则应用于 Azure 存储的步骤:

零信任原则 定义 满足者
显式验证 始终根据所有可用的数据点进行身份验证和授权。 验证用户凭据和访问权限。
使用最低权限访问 使用实时和恰好足够的访问权限 (JIT/JEA)、基于风险的自适应策略和数据保护,来限制用户访问。 使用最低权限控制对存储数据的访问。
假定数据泄露 最大限度地减少影响范围,并对访问进行分段。 验证端对端加密并使用分析来获取可见性、驱动威胁检测并改善防御。 保护静态数据、传输中的数据以及使用中的数据。 使用网络控制分隔关键数据。 使用 Defender for Storage 进行自动威胁检测并实施保护。

本文是系列文章中的一篇,旨在演示如何在 Azure 环境中应用零信任原则,该环境包括 Azure 存储服务以支持 IaaS 工作负载。 有关概述,请参阅将零信任原则应用于 Azure 基础结构

Azure 中的存储体系结构

你可对整个体系结构中的 Azure 存储应用零信任原则,从租户和目录级别一直到数据层的存储容器。

下图显示了逻辑体系结构组件。

此图显示将零信任应用于 Azure 存储的逻辑体系结构,其中显示了 Microsoft Entra ID 租户中的订阅、资源组和存储帐户。

在图中:

  • 参考体系结构的存储帐户包含在专用资源组中。 你可将每个存储帐户隔离在不同的资源组中,以实现更精细的基于角色的访问控制 (RBAC)。 你可以在资源组或资源组级别分配 RBAC 权限来管理存储帐户,并使用 Microsoft Entra ID 日志记录和 Privileged Identity Management (PIM) 等工具对其进行审核。 如果你在一个 Azure 订阅中使用多个相应存储帐户运行多个应用程序或工作负载,则将每个存储帐户的 RBAC 权限限制为其相应的所有者、数据保管人、控制器等是很重要的。
  • 此关系图的 Azure 存储服务包含在专用存储帐户中。 每种类型的存储工作负载都可以有一个存储帐户。
  • 要更广泛地了解参考体系结构,请参阅将零信任原则应用于 Azure IaaS 概述

该关系图不包括 Azure 队列和 Azure 表。 使用本文中的相同的指南来保护这些资源。

本文包含哪些内容?

本文将介绍在参考体系结构中应用零信任原则的步骤。

步长 任务 已应用零信任原则
1 保护静态数据、传输中的数据和正在使用的数据这三种模式下的数据。 假定数据泄露
2 验证用户并使用最低权限控制对存储数据的访问。 显式验证
使用最低权限访问
3 使用网络控制从逻辑上分离或隔离关键数据。 假定数据泄露
4 使用 Defender for Storage 进行自动威胁检测并实施保护。 假定数据泄露

步骤 1:保护静态数据、传输中的数据和正在使用的数据这三种模式下的数据

创建存储帐户时,你可配置大部分用于保护静态数据、传输中的数据和正在使用的数据的设置。 使用以下建议来确保你配置了这些保护。 此外,请考虑启用 Microsoft Defender for Cloud,以根据 Microsoft 云安全基准自动评估你的存储帐户,该基准概述了每个 Azure 服务的安全基线。

有关这些存储安全控制的详细信息,请参阅此处

使用传输中加密

通过在 Azure 与客户端之间启用传输级别安全性,可确保数据保持安全。 始终使用 HTTPS 来保护通过公共 Internet 的通信。 调用 REST API 以访问存储帐户中的对象时,可以通过要求存储帐户的安全传输要求强制使用 HTTPS。 来自不安全连接的任何请求都会被拒绝。

默认情况下,部署新的 Azure 存储帐户时会启用此配置(默认为安全)。

请考虑应用策略以拒绝为 Azure 存储部署不安全的连接(设计安全)。

此配置还需使用加密 SMB 3.0。

防止匿名公共读取访问

默认情况下,禁止使用公共 Blob 访问,但具有适当权限的用户可配置可访问的资源。 为防止匿名访问导致数据泄露,应指定具体人员有权访问你的数据。 在存储帐户级别阻止此操作可防止用户在容器或 Blob 级别启用此访问。

有关详细信息,请参阅阻止对容器和 Blob 的匿名公共读取访问

防止共享密钥授权

此配置强制存储帐户拒绝使用共享密钥发出的所有请求,并改为需要 Microsoft Entra 授权。 Microsoft Entra ID 是一种更安全的选择,因为你可以使用基于风险的访问机制来强化对数据层的访问。 有关详细信息,请参阅阻止对 Azure 存储帐户进行共享密钥授权

你可从存储帐户的配置设置中为全部三种模式配置数据保护,如下所示。

为存储帐户的所有三种模式配置数据保护的屏幕截图。

创建存储帐户后,这些设置无法更改。

强制实施传输层安全性 (TLS) 的最低要求版本

当前支持的最高版本的 Azure 存储为 TLS 1.2。 强制实施最低 TLS 版本会拒绝来自使用旧版本的客户端的请求。 有关详细信息,请参阅针对发送到存储帐户的请求强制实施必需的最低版本的 TLS

定义复制操作的范围

定义复制操作的范围,将复制操作限制为来自同一 Microsoft Entra 租户内的源存储帐户或与目标存储帐户具有到相同虚拟网络 (VNet) 的专用链接的源存储帐户的复制操作。

将复制操作限制为具有专用终结点的源存储帐户是最严格的选项,并要求源存储帐户已启用专用终结点。

你可从存储帐户的配置设置中配置复制操作的范围,如下所示。

定义存储帐户复制操作范围的屏幕截图。

了解静态加密工作原理

所有写入 Azure 存储的数据都由存储服务加密 (SSE) 和 256 位高级加密标准 AES 密码自动加密。 将数据写入 Azure 存储时,SSE 自动加密数据。 从 Azure 存储中读取数据时,Azure 存储会在返回数据之前对其进行解密。 此过程不会产生额外费用,也不会降低性能。 使用客户管理的密钥 (CMK) 可提供附加功能来控制密钥加密密钥的轮换或以加密方式擦除数据。

创建存储帐户时,请从加密边栏选项卡启用 CMK,如下所示。

为存储帐户启用 CMK 的屏幕截图。

你还可启用基础结构加密,该加密在服务和基础结构级别提供双重加密。 创建存储帐户后,无法更改此设置。

注意

若要使用客户管理的密钥进行存储帐户加密,你必须在帐户创建期间启用 CMK,并且应具有一个密钥保管库,其中包含已预配的具有适当权限的密钥和托管标识。 另外,可在 Azure 存储基础结构级别启用 256 位 AES 加密。

步骤 2:验证用户并使用最低权限控制对存储数据的访问

首先,使用 Microsoft Entra ID 控制对存储帐户的访问。 使用具有存储帐户的基于角色的访问控制,你可使用 OAuth 2.0 精细地定义基于访问的作业函数。 可以令精细访问与条件访问策略保持一致。

请务必注意,必须在管理级别或数据级别分配存储帐户的角色。 因此,如果你使用 Microsoft Entra ID 作为身份验证和授权方法,则应为用户分配适当的角色组合,以便为用户提供完成其工作职能所需的最少权限。

有关用于精细访问的存储帐户角色列表,请参阅用于存储的 Azure 内置角色。 RBAC 分配是通过存储帐户上的访问控制选项完成的,可在各种范围内进行分配。

你可从存储帐户的访问控制 (IAM) 设置配置访问控制,如下所示。

为存储帐户配置访问控制的屏幕截图。

可以检查用户、组、服务主体或托管标识的访问级别,并添加角色分配。

提供有时限的权限的另一种方法是使用共享访问签名 (SAS)。 在高级别使用 SAS 时的最佳实践如下:

  • 请始终使用 HTTPS。 如果你已为 Azure 登陆区域部署建议的 Azure 策略,则将审核通过 HTTPS 进行的安全传输。
  • 制定撤销计划。
  • 配置 SAS 到期策略。
  • 验证权限。
  • 尽可能使用用户委托 SAS。 此 SAS 使用 Microsoft Entra ID 凭据进行签名。

步骤 3:使用网络控制从逻辑上分离或隔离关键数据

在此步骤中,使用建议的控制措施来保护 Azure 存储服务的网络连接。

下图突出显示了与参考体系结构中 Azure 存储服务的网络连接。

此图显示将零信任应用于 Azure 存储的参考体系结构,其中突出显示了 Azure IaaS 参考体系结构中与 Azure 存储服务的网络连接。

任务 说明
防止公共访问,使用专用终结点和专用链接创建网络分段。 通过专用终结点,可以使用 Azure 专用链接 在 VNet 上使用单个专用 IP 地址连接到服务。
  • 启用专用终结点后,Azure 平台可验证网络连接,并仅允许对专用链接资源具有显式访问权限的连接访问后续资源。
  • Azure 存储帐户上的每个服务都需要单独的专用终结点。
  • 使用 Azure 专用链接 使用 Azure 专用链接通过 VNet 中的专用终结点访问 Azure 存储。 根据需要,使用审批工作流自动批准或手动批准请求。
    使用服务终结点阻止对数据源进行公共访问 你可使用服务终结点执行网络分段,方法是在 VNet 中启用专用 IP 地址访问终结点,而无需使用公共 IP 地址。

    从存储帐户的网络设置配置专用终结点,如下所示。

    为存储帐户配置专用终结点的屏幕截图。

    步骤 4:使用 Defender for Storage 进行自动威胁检测并实施保护

    Microsoft Defender for Storage 提供了额外的智能级别,可检测利用存储服务的异常和潜在的有害尝试行为。 Microsoft Defender for Storage 已内置于 Microsoft Defender for Cloud 中。

    Defender for Storage 检测异常访问模式警报,例如:

    • 来自异常位置的访问
    • 应用程序异常
    • 匿名访问
    • 异常提取/上传警报
    • 数据外泄
    • 意外删除
    • 上传 Azure 云服务包
    • 可疑存储活动警报
    • 访问权限更改
    • 访问检查
    • 数据浏览

    有关跨参考体系结构的威胁防护的详细信息,请参阅将零信任原则应用于 Azure IaaS 概述

    启用后,Defender for Storage 会向你通知安全警报和建议,以改进 Azure 存储帐户的安全状况。

    下面是存储帐户的安全警报示例,其中突出显示了警报和预防措施的说明。

    存储帐户的示例安全警报的屏幕截图。

    配置存储安全性

    培训 配置存储安全性
    了解如何配置常见的 Azure 存储安全功能,例如存储访问签名。
    在本模块中,你将了解如何:
  • 配置共享访问签名 (SAS),包括统一资源标识符 (URI) 和 SAS 参数。
  • 配置 Azure 存储加密。
  • 实现客户管理的密钥。
  • 建议提高 Azure 存储安全的机会。
  • 有关 Azure 安全性的更多培训,请参阅 Microsoft 目录中的以下资源:
    Azure 的安全性 | Microsoft Learn

    后续步骤

    请参阅以下有关将零信任原则应用于 Azure 的其他文章:

    技术插图

    此海报提供 Azure IaaS 组件的单页概览视图作为参考体系结构和逻辑体系结构,以及确保对这些组件应用了零信任模型的“永不信任,始终验证”原则所需的步骤。

    说明
    将零信任应用于 Azure IaaS 基础结构海报的缩略图。
    PDF | Visio
    更新时间:2024 年 3 月
    将此图与以下文章一起使用:将零信任原则应用于 Azure IaaS 概述

    相关解决方案指南

    此海报提供适用于 Azure IaaS 的零信任单独组件的参考和逻辑体系结构以及详细配置。 将此海报的各页面用于单独的 IT 部门或专业,或者与 Microsoft Visio 版本的文件一起使用,针对基础结构自定义关系图。

    说明
    将零信任应用于 Azure IaaS 基础结构海报的关系图缩略图。
    PDF | Visio
    更新时间:2024 年 3 月
    将这些关系图与从此处开始的文章一起使用:将零信任原则应用于 Azure IaaS 概述

    相关解决方案指南

    有关其他技术插图,请单击此处

    参考

    请参阅以下链接,了解本文中提及的各项服务和技术。