【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使得访问更加私有。

相关推荐
雪球小梦8 天前
AI x 长寿:OpenAI开发出逆龄AI GPT-4b micro
人工智能·microsoft·ai·openai·azure
向阳121810 天前
doris:Azure Storage导入数据
microsoft·flask·doris·azure
shelby_loo11 天前
Azure学生订阅上手实操:快速搭建Docker+WordPress环境
microsoft·docker·azure
山猪打不过家猪15 天前
Azure面试
microsoft·azure
發糞塗牆15 天前
【Azure 架构师学习笔记】- Azure Function (2) --实操1
azure·azure function
petunsecn16 天前
将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(1)
elasticsearch·azure
petunsecn16 天前
将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(3 纯python的经济方案)
python·elasticsearch·microsoft·azure
明 庭17 天前
Azure 100 学生订阅下,使用 Docker 在 Ubuntu VPS 上部署 Misskey 的详细教程
ubuntu·docker·azure
weixin_3077791317 天前
Azure Synapse Dedicated SQL Pool执行计划的步骤对应于查询优化器执行给定SQL查询的部分和优化策略
云计算·azure
weixin_3077791317 天前
Azure Synapse Dedicated SQL Pool通过配置选项和参数优化性能
云计算·azure