天天看点

openstack重要概念

Authentication 确定一个用户身份的过程。用户需要提供一组credentials供Openstack验证。首先,credentials一般是用户名、密码,或用户名和API key。当Openstack验证credentials有效,会返回用户一个authentication token。后续所有的请求,用户必须提供该token。   Credentials 用于核实用户身份的数据。例如用户名+密码,用户名+API key,或者一个 authentication token(注:某一具体服务验证用户的合法性时。例如用户通过token调用barbican服务api,barbican需要通过该token去keystone核实该用户的合法性)。   Domain keystone API v3新增加的概念。Domain是project和user的集合,定义了管理身份实例的管理边界。Domain可以代表个人、公司或其它运营实体。这些实体把管理功能交给系统用户,用户被授予domain的管理员角色。domain管理员可以在domain中创建project、user和group,并将role分配给domain中的user和group。   Endpoint 一个网络可达的地址,通常是一个URL,通过该URL可以访问一个service。( If you are using an extension for templates, you can create an endpoint template that represents the templates of all consumable services that are available across the regions. )   Group keystone API v3新增加的概念。Group是Domain中用户的集合,一个Group所被赋予的role,该group下所有的user都被赋予该role。添加一个user到一个group中,该user被赋予该group的role,移除同理。   OpenStackClient Openstack服务的命令行工具。例如用户可以执行:openstack service create命令来创建一个service。 openstack endpoint create来创建一个endpoint。   Project 将资源或标识对象分组或隔离的容器。根据service的运营者不同,project可能映射到客户、账户、组织或租户。   Region keystone API v3新增加的概念。代表Openstack部署的一般划分。可以将零个或多个sub-regions与一个region关联,从而形成树状层次结构。虽然region没有地理上的含义,但部署时可以用 一个地理地区的名字,例如us-east.   Role 一个标识符,定义了一组特定用户权限和特权来执行一组特定的操作。keystone给user分配token时,同时会包括一个role列表,代表该用户拥有的所有roles。当user调用一个service时,service检查user的role集合,确定是否有权限调用该service。   Service 一个Openstac服务,例如Compute(nova),Object Storage(swift),image service(glance),key management(barbican)。service会提供一个或多个endpoints,用于用户访问该service的资源或命令service执行某种操作。   Token 由字母或数字组成的字符串。访问Openstack APIs时需要提供该token。token可以随时被撤销,并且有过期时间。在这个版本中,keystone支持基于token的身份认证。将来会支持更多的协议。keystone是一个集成服务,它不希望成为一个完整的身份存储和管理解决方案。   User 使用OpenStack云服务的人、系统或服务的数字表示。当user发出访问请求时,keystone要验证user的合法性。user有一个登录名,可以使用分配的token访问资源。用户可以直接分配给一个project,并且表现得像在该项目中一样。       Create and manage services and service users keystone服务允许如下方式定义service:

  • 用模版文件作为catalog服务的后端。Service catalog template. 对于OpenStack其它服务,keystone服务扮演service的endpoint目录。/etc/keystone/default_catalog.templates  模版文件定义了所有services的endpoint。当keystone服务用模版文件作为后端时,任何对于endpoint的修改,都会被缓存,但是不会被持久化,当重启服务或机器后,会还原成原来模版中的内容。
  • 用SQL作为catalog服务的后端。当keystone服务启动后,必须把所有service添加到catalog中。生产环境用SQL作为后端。

auth_token中间件,对于每一个service,支持用shared secret 或 users。(The 

auth_token

 middleware supports the use of either a shared secret or users for each service. )   为了通过keystone验证用户,需要为每一个OpenStack service创建一个service user。例如,为Compute、Block Stone和Networking Service创建对应的service user。   为了用service user配置Openstack service ,为所有的service创建一个project,为每一个service创建对应的user。为每一个service user和project对(service user and project pair )分配admin角色。该角色使service user能够验证token,并对其他用户的请求进行身份验证和授权。

转载于:https://www.cnblogs.com/tian-jiang-ming/p/8718205.html

继续阅读