深挖Openstack keystone - 源码分析(1)

一.  Policy策略

Policy机制就是用来控制某一个User在某个Tenant中某个操作的权限。对于Keystone服务来说,policy就是一个json文件,默认是/etc/keystone/policy.json。

{
    "admin_required": "role:admin",
    "cloud_admin": "rule:admin_required and domain_id:admin_domain_id",
    "service_role": "role:service",
    "service_or_admin": "rule:admin_required or rule:service_role",
    "owner": "user_id:%(user_id)s or user_id:%(target.token.user_id)s",
    "admin_or_owner": "(rule:admin_required and domain_id:%(target.token.user.domain.id)s) or rule:owner",
    "admin_or_cloud_admin": "rule:admin_required or rule:cloud_admin",
    "admin_and_matching_domain_id": "rule:admin_required and domain_id:%(domain_id)s",
    "service_admin_or_owner": "rule:service_or_admin or rule:owner",
}

通过配置这个文件&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenStack Swift 是一个开源的分布式对象存储系统,它是 OpenStack 项目中的一部分,用于提供大规模、冗余且高可用的存储服务。Swift 的设计目标是作为云存储平台的核心组件,支持在线备份、文件共享和大规模数据存储。 Swift 的理论部分主要包括以下几个关键概念: 1. **三重复制(Three-Tier Architecture)**:Swift 使用一个对象服务器(Object Server)、一个代理服务器(Swift Proxy)和一个帐户区域(Account Container Object)的概念,每个对象都有三份副本分布在不同的节点上,以保证数据的持久性和容错性。 2. **分散式存储**:数据被分成小块并分布在整个集群中,这使得数据可以在多个节点之间进行负载均衡,同时也增强了系统的可扩展性。 3. **数据一致性模型**:Swift 使用版本控制和时间戳,确保在多个节点之间对数据的一致性,即使在网络故障或硬件故障的情况下也能保证数据的正确读取。 4. **冗余和故障转移**:通过冗余设计,Swift 可以自动检测和修复故障,同时当某个节点失效时,系统会自动将数据从失效节点迁移到其他正常节点,保证服务的持续性。 5. **API 安全性**:Swift 提供了安全的身份验证和授权机制,通过使用Keystone服务来管理用户和项目访问权限。 相关问题: 1. Swift的主要组成部分是什么? 2. 三重复制如何提高存储系统的可用性? 3. Swift如何处理数据一致性问题? 4. Swift中的Swift Proxy服务器起到什么作用? 5. OpenStack Swift在云计算中的应用场景有哪些?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值