1.4. 身份管理
1.4.1. OpenStack Identity (keystone)
OpenStack Identity 为所有 OpenStack 组件提供用户身份验证和授权。身份支持多种身份验证机制,包括用户名和密码凭据、基于令牌的系统和 AWS 样式的日志。
默认情况下,身份服务使用 MariaDB 后端作为令牌、目录、策略和身份信息。对于开发环境,建议使用此后端,或者验证较小的用户集。您还可以同时使用多个身份后端,如 LDAP 和 SQL。您还可以使用 memcache 或 Redis 进行令牌持久性。
身份支持与 SAML 的联邦。联邦身份在身份提供程序(IdP)和为最终用户提供的服务之间建立信任。
联邦身份和并发多个后端需要 Identity API v3 和 Apache HTTPD 部署,而不是 Eventlet 部署。
OpenStack Identity 的优点包括:
- 用户帐户管理,包括名称和密码等相关信息。除了自定义用户外,还必须为每个目录服务定义一个用户。例如,必须为 Image 服务定义 glance 用户。
- 租户或项目管理。租户可以是用户组、项目或组织。
- 角色管理。角色决定了用户权限。例如,某个角色可能会区分销售代表和经理的权限。
- 域管理.域决定了 Identity 服务实体的管理边界,并支持多租户,其中域代表一组用户、组和租户。一个域可以有多个租户,如果您使用多个并发身份提供程序,则每个供应商都有一个域。
组件 | 描述 |
---|---|
openstack-keystone | 提供 Identity 服务,以及管理和公共 API。支持 Identity API v2 和 API v3。 |
keystone | 用于访问身份 API 的命令行客户端。 |
下图显示了 Identity 用来对与其他 OpenStack 组件验证用户身份的基本身份验证流程。