Azure 存储安全性17 Mar 2025 | 4 分钟阅读 Azure存储安全分为五个主要领域。 管理平面安全管理平面是指影响存储帐户本身的操作。我们控制对影响存储帐户的服务的访问的方式是使用Azure Active Directory。  基于角色的访问控制 - 我们知道,每个Azure订阅都关联一个Azure Active Directory。Azure Active Directory包含用户、组和应用程序。我们可以向他们提供访问权限,以管理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虚拟机使用的OS和数据磁盘
- 您可以在现有的IaaS VM上启用加密
- 您可以使用客户提供的加密密钥
CORS(跨域资源共享)- 当Web浏览器从其他域发出对资源的HTTP请求时,这称为跨域HTTP请求。
- Azure存储允许我们启用CORS。对于每个存储帐户,我们可以指定可以访问该存储帐户中的资源的域。例如,在mystorage.blob.core.windows.net存储帐户上启用CORS,并将其配置为允许访问mywebsite.com。
- CORS允许访问,但不提供身份验证,这意味着我们仍然需要使用SAS密钥来访问非公共存储资源。
- 默认情况下,所有服务都禁用CORS。我们可以使用Azure门户或Power Shell启用它,并且可以指定请求将来自的域,以访问存储帐户中的数据。

|