【Azure 架构师学习笔记】-Azure Storage Account(7)- 权限控制

本文属于【Azure 架构师学习笔记】系列

本文属于【Azure Storage Account】系列。

接上文 【Azure 架构师学习笔记】-Azure Storage Account(6)- File Layer

前言

存储帐户作为其中一个数据终端存储,对安全性的要求非常高,不管在云还是本地环境中,基于角色的权限定义(RBAC: Role-based Access Control)变得越来越普及。

RBAC通过预设或者自定义一些通用角色,然后分配常规权限,用户只需要于这些角色进行关联就可以获得对应的权限。 这种方式不是新东西,但是在云环境这种大规模,多租户的情况下,很好地降低了权限管理的难度和工作量。

每个资源几乎有自己的一套RBAC, 关于存储帐户也有,但是在讨论权限时,还要区分两个概念:Data Plane和Control Plane。

RBAC - Control Plane

简单来说,Control Plane就是控制RBAC 在Azure 资源层面的权限,没有数据操作。如果只给了Reader角色,那么没法访问上面的数据,因为还有额外的ACL和Data Plane的RBAC 需要授权。所以在允许用户、程序访问数据时, 更好的方式是授予Control Plane上的RBAC, 然后搭配文件和文件夹层面的ACL。

RBAC - Data Plane

Data Plane一旦使用,那么其他ACL 就会被覆盖,和Control Plane作用在资源层面不同, Data Plane可以作用在更低级别, 对于Blob Storage 来说,常用的有下面三种:

  • Storage Blob Data Owner: 用于Azure Data Lake Storage Gen2类型,可以配置所有权和管理POSIX访问。
  • Storage Blob Data Contributor: 可以在Blob Storage 上的资源进行read/write/delete 。
  • Storage Blob Data Reader: 对Blob Storage 只有 read-only 。

除了上面的RBAC, 还可以对文件夹及文件级别进行细粒度的配置,俗称ACL 。ACL 也有两种类型:

  • Access ACLs:控制对文件和文件夹的访问。
  • Default ACLs:在子文件夹及文件中继承于Access ACLs

数据加密

除了访问控制,对数据本身的加密也是权限控制或者说安全控制方面极其重要的一环,毕竟你没法保证最大权限的账号,Key永不丢失。

默认情况下,ADLS 已经对存储在上面的数据进行了加密,可以是微软托管的加密,也可以是使用用户自定义的密钥进行加密。

如果使用微软托管的加密,会存储哎Azure Key Vault中。如果是用户自定义密钥,则需要额外存储。

对于传输中的数据,则通过TLS 1.2进行加解密。

网络配置

云服务中,PaaS默认都是公网访问,这显然不合适绝大多数的商业环境,这个时候对PaaS的改造就很有必要,首先先限制网络接入,通过对下图的【Enabled from selected virtual networks and IP addresses】来仅允许特定网络的资源可以对其进行访问从而收紧外部入口。

Private Endpoint

PaaS 服务是没有公网IP 的,那么当需要把网络访问收紧,进行site-to-point访问时则会遇到困难,其中一个办法就是让PaaS暴露出一个私网IP, 这个就是endpoint的作用。

Private Endpoint通过在资源所在的VNet上选定一个私有IP (如果在subnet上则需要使用service endpoint),然后通过private link使得特定VNet或者已用VPN, ExpressRoute等配对的外部网络可以访问这个通常被拒绝访问的私有资源。

一旦开启了Private Endpoint, 则其优先级会比上面提到的Selected Network和Firewall上的准入IP 优先级高。

对于企业级应用来说,Selected Network可以把网络从允许公网访问变成只允许特定网络访问,然后搭配Private Endpoint使得访问更加私有。

相关推荐
编码者卢布17 小时前
【Azure Container App】容器应用的维护窗口设置
python·azure
热爱学习的小翁同学20 小时前
Power Automate调用Azure Foundry智能体
microsoft·azure
编码者卢布2 天前
【Azure 应用服务】WEBSITE_DISABLE_CROSS_STAMP_SCALE 配置的作用说明
microsoft·azure
ChinaAI小童鞋5 天前
cc-switch 配置:Claude Code 连接 Azure OpenAI
aigc·azure
编码者卢布10 天前
【Azure App Service】为什么 Web App 上的文件会被“锁死“?
microsoft·azure·web app
weixin_3077791311 天前
云计算大数据Azure服务分类详解
大数据·分类·自动化·云计算·azure
Lucky_Turtle12 天前
【Linux】debain13开启bbr
服务器·azure
编码者卢布13 天前
【Azure Container App】使用 yaml 部署 Container App 时遇见 400 Bad Request 错误
microsoft·azure
Leinwin15 天前
微软与OpenAI合作松绑:企业如何选择合规、稳定的AI服务?
microsoft·azure
宝桥南山22 天前
Azure - 尝试一下使用Azure Developer CLI去部署应用程序
microsoft·ai·微软·c#·aigc·azure