1. 基本概念
Account
Account就是某个服务提供方或者组织机构的服务对象,受众客户。很多User可以共存在一个Account之中。
Domain
Account可以通过Domain来分组,Domain通常由很多Account组成,Domain维护了Account相互之间的逻辑关系,并且授权委派了一些Administrator来管理这个Domain和其Subdomain。
每一个Account在创建的过程中,CloudStack的安装过程将创建三种不同类型的Account:root
administrator, domain administrator, user。
User
User就像Account的账户别名一样。在相同的Account下管理的User彼此之间不会隔离,但他们和其他Account下的User是进行隔离的。
大多数安装不需要全部定义所有User的概观,它们往往只需要每个Account中有一个User即可,相同的User不能同时隶属于多个Account之中。
在Domain中的Account下的Username是绝对唯一的,相同的Username可以存在于不同的Domain之中,包括其Subdomain。Domain的名称仅在root的全路径不同时可以重复,例如root/d1、root/foo/d1、root/sales/d1
Administrator
Account是在系统拥有特殊权限的账户。一个系统中可以拥有多个Administrator。Administrator可以创建或者删除其他Administrator,以及修改系统中任何用户的口令密码。
Domain Administrator
Domain
Administrator作为域管理员角色,可以授权给隶属于该Domain中User进行相关的管理员操作行为。但是物理机资源和其他Domain的资源对于该Domain下的Domain
Administrator角色是不可见的。
Root Administrator
Root Administrator可以全面地管理系统,包括管理模版文件、服务供给、管理员配置和域。
综述,资源是隶属于Account管理,Account中没有独立的User。例如,计费、资源限制等等,都是由Account所维护,而不是被User维护。一个User是否可以操作资源取决与它所在Account的角色权限。
2. 使用LDAP为用户授权
可以使用一个外部的LDAP服务器为CloudStack终端用户进行授权管理,例如Microsoft Active
Directory,ApacheDS。仅仅需要CloudStack Account与LDAP
Account通过一组查询过滤器协作即可。查询过滤器通常由特定LDAP的查询语言编写,CloudStack将在指定的基础目录下查找LDAP的目录树,并返回目标用户信息。
在CloudStack设置LDAP授权认证可以使用CloudStack的ldapConfig
API命令,并配置如下操作:
- 主机名称或者IP地址,以及LDAP服务器的监听端口
- 为CloudStack指定的基础目录和查询过滤器
- 查找目标用户证书,已授予了CloudStack权限可以在LDAP服务器上进行查找
- 如有必要,配置SSL密钥对
详细的配置及示例参考http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.1/html/Admin_Guide/LDAPserver-for-user-authentication.html