OpenStack概述

1.概述

1.1 基本概念

  • Keystone 作为 OpenStack 的身份(Identity)、认证(Authentication)及访问管理(授权,Authorization)模块,是所有其他模块都要使用的模块,其重要性不言而喻。

  • 身份: 指的是访问者的身份信息。在 OpenStack 中,身份用用户来表示。这些用户信息可以存在 Keystone 自己的数据库,也可以存在外部。

  • 认证: 指的是对访问者身份的验证(validate),确认访问者是否合法。认证可通过密码或者 Token 进行。

  • 授权: 指的是 OpenStack 通过角色(Role),再结合具体模块(如 Nova)的策略(Policy)机制,来限定访问者可以访问的资源(如查看、新建虚拟机)。

1.1.1 域(Domain)

  • 是项目(租户)、用户及用户组的集合,是为了跟其他项目(租户)、用户及用户组隔离开来而提出来的抽象。这样一来,不同的域就可以有名字相同的租户、用户或用户组而不用担心冲突(不过 UUID 跨域唯一)。例如,一个云可以有多个域,每个域可以代表一个公司,也可以代表一个部门。
  • 因为项目(租户)和域都是角色赋予(assigned on)的实体,因此统称为 Targets。
  • 是可以在单个身份域中定义的项目(租户)和用户的集合。域可以映射到个人、公司或云服务运营商。Keystone API 的版本3 中支持域。如果没有创建域,所有项目和用户都使用default 域。
  • 是Keystone中的一个全局概念,域的名字在Keystone中必须是全局唯一的,Keystone提供一个名为‘Default’的默认域。域可以包括多个Projects(项目/租户),Users(用户),Groups(组),Roles(角色)。

1.1.2 项目(Project/Tenant)

  • 在 Keystone 中,项目(租户)是对资源(如虚拟机、镜像)的集合(group)和隔离(isolate)的抽象(abstraction)。从这个定义,我们可以看出两点:
    • 项目(租户)是一种抽象,它的出现只是为了方便对资源进行管理;
    • 一个项目(租户)表示一个隔离的资源集合,不与其他项目(租户)共享资源;
  • 那谁来使用项目(租户)的资源呢?用户和用户组。通过角色赋予(role assignment),用户或用户组就可以访问或操作项目(租户)的一些资源。具体能访问或操作的资源类型取决于他们被赋予的角色。
  • 用户及其拥有的资源的集合。根据云提供商,这可用于映射客户、帐户或组织单元。OpenStack Platform 附带了两个项目,名为admin 和services。 这两个项目属于default 域。
  • Keystone在v3.0的版本开始将v2.0中的Tenant(租户)改为了Project(项目),这更符合在实际使用中的认知。项目必须属于某个域,所以在域内的项目名称必须是唯一的,但是不同的域内可以有相同名称的项目名。如果项目没有分配指定域,那么会自动分配到默认域中。项目是资源的集合,也就是说可以对项目所能使用的资源进行限制,包括vCPU,Memory,vDisk,Floating IP等等。

1.1.3 用户(Users)和用户组(Groups)(Actor)

  • 用户和用户组是访问由项目(租户)和域隔离开来的资源的实体(entity)。用户组是用户的集合,而用户是最终使用云资源的个体。用户和用户组统称为 Actors,表示它们是被赋予(assigned to)角色的实体。

1.1.4 角色(Role)

  • 角色用于表示授权。一个 Actor 可以有多个角色。
  • 定义一组特权,从而能够对OpenStack 服务执行特定的操作。默认admin 角色提供整个OpenStack 环境的管理特权。
  • 角色也是Keystone中的一个全局的概念。角色可以分配给用户以及组,不同角色的用户拥有不同的API访问权限。

1.1.5 凭证(Credidential)

  • 用户身份的确认数据,例如,用户名和密码,或者是一个由 Identity(身份)服务提供的授权令牌。
  • 是Keystone 验证用户身份时需要的身份验证数据。此信息包含用户名、密码、项目名称、Keystone 端点和地区名称。通过利用此信息,在用户发出访问服务的请求时,Keystone提供身份验证令牌, 让用户能够访问该服务。

1.1.6 令牌(Token)

  • 令牌(Token)用于认证和授权。当用户认证成功后就可以得到一个 Token,接下来的请求就可以直接使用该 Token 而不是用户名密码进行认证;同时,Token 也包含了用户在云上的授权信息(如用户能访问的的租户、域)。一个 Token 拥有一个 ID 和一个载体(payload)。不过,随请求一起发送的一般只有 Token ID,然后 OpenStack 在认证 Token 的时候再把 Token 载体取出来。

1.1.7 服务目录(Service Catalog)

  • 在 OpenStack 服务目录尤其重要,它包含了不同云服务(如 Nova)的 URLs 和端点(Endpoints)。没有服务目录,用户和应用不知道如果路由请求到正确的服务。服务目录可以拆分成端点列表,每一个端点能够进一步拆分成 admin URL,internal URL 和 public URL。这些 URL 可以相同。

1.2 服务架构图

在这里插入图片描述

2.部署

3.镜像制作

4.镜像使用

参考:
http://xiehongfeng100.github.io/2017/06/09/openstack-keystone-introduction-and-basic-concepts/

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@TangXin

路漫漫其修远兮,吾将上下而求索

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值