首页>教程>Azure>Azure 存储安全

Azure 存储安全

内容纲要

Azure 存储安全分为五个主要领域。

管理平面安全

管理平面是指影响存储帐户本身的操作。我们控制对影响存储帐户的服务的访问的方式是使用 Azure 活动目录。

基于角色的访问控制

  • 正如我们所知,每个 Azure 订阅都有一个关联的 Azure 活动目录。Azure 活动目录包含用户、组和应用程序。对他们来说,我们可以提供在 Azure 订阅中管理资源的访问权限。该资源可以是存储帐户,我们控制对存储帐户的访问级别的方式是为用户分配适当的角色。所以我们可以有一个我们可以定义的所有者角色或贡献者角色或读者角色。

要记住的关键点:

  • 在分配角色时,我们可以控制对用于管理存储帐户的操作的访问,但不能控制对帐户中数据对象的访问。
  • 但是,我们可以通过提供读取存储帐户密钥的权限来授予对数据对象的访问权限,因为存储帐户密钥使用户能够访问数据对象。
  • 每个角色都有一个操作列表。
  • 有一些可用的标准角色,例如所有者、读者、贡献者等。
  • 我们可以通过从可用操作列表中选择一组操作来定义新的自定义角色。

数据平面安全

它指的是用于保护存储帐户内的数据对象(blob、队列、表和文件)的方法。

您可以通过三种方式控制对存储帐户中数据的访问

  • Azure Active Directory授权访问容器和队列。Azure Active Directory 提供了优于其他授权方法的优势,包括无需在代码中存储机密。
  • 存储帐户密钥提供对存储帐户中所有数据对象的全面访问。
  • 共享访问签名,如果我们想提供对某些服务的访问,例如 - 仅对 blob、仅对队列或它们的组合。而且,如果我们想控制访问级别,例如 - 只读、更新、删除,我们还希望提供限时访问。因此,我们只想提供一年的访问权限,一年后,出于安全原因,我们生成另一个 SAS 并将其呈现给他们。在这种情况下,我们使用共享访问签名。

我们可以通过相应地设置保存 blob 的容器的访问级别来允许公开访问我们的 blob。

传输中的加密

使用 HTTPS 的传输级加密

  • 在使用 REST API 或访问存储中的对象时始终使用 HTTPS。
  • 如果我们使用 SAS,我们可以指定只应用 HTTPS。

对 Azure 文件共享使用传输中加密

  • 1 不支持加密,所以只允许在同一区域内进行连接。
  • 0支持加密,允许跨地域访问。

客户端加密

  • 在传输到 Azure 存储之前加密数据
  • 从 Azure 中检索数据时,数据在客户端收到后会被解密。

静态加密

客户端加密

  • 在传输到 Azure 存储之前加密数据。
  • 从 Azure 中检索数据时,数据在客户端收到后会被解密。

存储服务加密 (SSE)

这就是我们通常用来加密 REST 数据的方式,即 Azure 存储

  • 它为所有存储帐户启用,并且无法禁用。
  • 它会自动加密所有性能层(标准和高级)、所有部署模型(Azure 资源管理器和经典)以及所有 Azure 存储服务(Blob、队列、表和文件)中的数据。因此,它是跨所有 Azure 存储的全面加密。
  • 我们可以使用 Microsoft 管理的密钥或您的自定义密钥来加密数据。

Azure 磁盘加密

这是 Microsoft 推荐的加密磁盘的方法,尤其是使用 Azure 磁盘

  • 加密 IaaS 虚拟机使用的操作系统和数据磁盘
  • 您可以在现有 IaaS 虚拟机上启用加密
  • 您可以使用客户提供的加密密钥

CORS(跨域资源共享)

  • 当 Web 浏览器对来自不同域的资源发出 HTTP 请求时,这称为跨域 HTTP 请求。
  • Azure 存储允许我们启用 CORS。对于每个存储帐户,我们可以指定可以访问该存储帐户中资源的域。例如,在 mystorage.blob.core.windows.net 存储帐户上启用 CORS 并将其配置为允许访问 mywebsite.com。
  • CORS 允许访问但不提供身份验证,这意味着我们仍然需要使用 SAS 密钥来访问非公共存储资源。
  • 默认情况下,所有服务都禁用 CORS。我们可以使用 Azure 门户或 Power Shell 启用它,并且我们可以指定请求将来自的域以访问存储帐户中的数据。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索