1. AWS

Amazon云平台的数据管理是通过 Amazon Simple Storage Service(S3)提供的可靠网络存储服务,通过S3,个人用户可以将自己的数据放到云平台上去,并进行访问和管理。S3将每个数据对象(object)存储在称为桶(bucket)的容器中进行管理。Amazon不仅控制用户对 object 的操作(读、写、删),也会控制用户对 bucket 的操作(罗列对象、增加、移除对象等)。Amazon 访问控制方式有 4 种:

1) IAM(Identity and Access Management): 通过在 Amazon 账户之下创建多个用户,分配相应的安全凭证给用户以及管理他们的权限。http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/access.html
2) ACL(Access Control List): 账户层次的访问控制策略。即访问权限是基于资源的权限。以对象和桶为中心,定义了哪些Amazon 账户能够访问对象和桶。
3) Bucket Policy: 兼具用户层次和账户层次的控制策略。桶策略不仅可以控制访问桶的用户,还可以控制特定源 IP 地址的访问。另外,Bucket Policy可以实现让其他账户上载对象到桶中,以实现跨账户的权限控制。
4) 查询字符串身份认证。该机制利用 URL 与其他用户共享数据对象,通过在 URL中附加签名和有效期来访问共享数据。

2. Windows Azure

微软云Windows Azure定义了 3 种数据存储方式:Blob,Table 和 Queue。其中,Blob 用来存储大数据(如图片、视频等),Table 提供维护服务状态的结构化存储,Queue 提供异步任务数据的分发。Windows Azure 的访问控制管理主要有两个方面:

1) 共享访问签名。在特定时间间隔内,对 3 种数据存储方式进行受限访问权限,通过 URL 与其附加签名和有效期来访问共享数据.
2) Blob policy。使用 Blob 容器级别的访问策略可从服务器方面提供对共享访问签名的额外控制级别。容器级别的访问策略可将共享访问签名分组,并进一步限制策略所约束的签名。用户可使用容器级别的访问策略改变签名的启动时间、到期时间或许可证,或者在发布签名后予以撤回。
https://azure.microsoft.com/en-us/documentation/articles/active-directory-whatis/?rnd=1
http://blogs.msdn.com/b/azchina/archive/2014/03/14/roles-based-access-control-in-mobile-services-and-azure-active-directory.aspx

3. Google App Engine

Google 云的访问控制技术为每个用户提供一个唯一的用户 ID,此 ID 用来识别每个用户在 Google 云的活动记录。通过用户 ID,Google 云平台给分配相应的权限。数据容器桶是 Google 云存储中存放数据的最基本容器,所有数据都必须存放在桶中,Google 利用桶来组织数据。Google 存储提供了两种访问控制机制:

1) ACL。在 Google 云的访问控制列表机制中,主要有读、写、完全控制 3 种级别的权限,在桶和对象的拥有者未指定桶和对象的 ACL 时,系统会使用默认的 ACL 来控制用户访问 .所有桶默认其拥有者具有完全控制权限,拥有者可以通过修改和更新 ACL 来控制其他用户的不同权限.
2) 签名的 URL(查询字符串认证)。不需要 Google 账号就能访问数据,该机制类似于 Amazon 查询字符串认证,也是通过在 URL中附加签名和有效期来访问共享数据

4. Baidu

百度云云存储(BCS)服务目前支持两种方式对存储资源进行访问控制:

1) URL 签名 :通过对 URL 进行签名来识别访问者的身份,从而实现用户身份验证.百度云存储的开发者可根据 Access Key 和 Secure Key 对本次请求进行签名 ,BCS 根据签名来判断当前发起请求的用户的身份.
2) ACL: 通过 ACL 来管理 bucket 和 object 的访问控制权限,管理方式即设置 bucket policy 和 object policy.通过设置 policy,可允许云存储用户将资源(bucket 和 object)的访问和控制权限开放给其他用户.

5. VMware

使用用户、组、角色和权限可控制哪些用户可以访问 vSphere 受管对象以及他们可以执行哪些操作。vCenter Server 和 ESX/ESXi 主机根据分配给用户的权限确定用户的访问级别。vCenter Server 和 ESX/ESXi 主机凭借用户名、密码和权限组合这一机制对用户的访问权限进行验证并授予其执行操作的权限。服务器和主机将维护授权用户及分配给每个用户的权限的列表。
http://www.storageonline.com.cn/virtualtech/vmware/vmware-vcenter-access-control/

6. 对比分析

云服务提供商访问控制技术对比

CloudOpenstackCloudStackEucalyptus
访问控制组件 认证授权组件 Keystone: 提供了认证和管理用户、帐号和角色信息、授权服务。2. 网络组件 Neutron:管理安全组、虚拟机和网络访问 . 没有专用访问控制组件; 2. 资源域 (zone)管理用户、安全组、虚拟 机和网络访问,资源域之间可以实现完 全物理隔离的,硬件 资源、网络配置、虚拟机都是独立的. 没有专用访问控制组件; 2. 云控制器(CLC)处理身份认证、用户管理; 3. 集中控制器(CC)管理安全组、虚拟机和网络访问.
用户级别区分 分为Use和 tenant (project),User通过 tenant 对云平台进行操作,每个 tenant都有admin 级别和普通级别, 两者权限不同,不同的tenant 资源隔离. 1.分为 Domain\Account\User,树状结构,Account 属于Domain, User是 Account的别名 ,不同 Account的资源相互隔离. 分为 Account\User 两级结构,User 分为 admin 级别和普通级别,两者权限不同 admin 级别可以进行Group编辑.不同 Account的资源相互隔离.
虚拟机和网络访问 对网络组件 Neutron 中的 port 设置进入规则和流 出规则来实施访问控制,每个tenant默认一个安全组,允许 tenant的虚拟机之间内部通信; 2. 网络隔离主要通过VLAN,Flat或者 FlatDHCP模式实现. 对一组(个)IP或同一安全组的所有VM 设置进入规则和流出规则来实施访问控制,每个User初始默认一个安全组,一个User可以创建多个安全组,可同时应用多个安全组在一个虚拟机上; 2. 网络隔离主要通过 VLAN实现. 为虚拟机提供 3 层网络的防火墙服务,对同一安全组的所有VM设置进入规则和流出规则来实施访问控制 ,每个 User默认一个安全 组, 允许tenant 的虚拟机之间内部通信; 2. 网络隔离主要 通过V L A N或者ebtable实现.
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐