3.6. 使用身份服务迭代
联合身份是一种在身份提供商和服务提供程序(SP)之间建立信任的机制。在本例中,服务提供程序是由 OpenStack 云提供的服务。
对于身份验证和授权服务,OpenStack 身份模型将外部身份验证数据库视为单独的 Keystone 域。每个联合认证机制都与 keystone 域关联,支持多个共存域。您可以使用角色向外部域中的用户授予对云中资源的访问权限;这种方法也可以在跨域多项目部署中工作。这种方法还对每组件策略造成影响,因为并非所有 OpenStack 角色都可以映射到外部经过身份验证的用户。例如,如果外部身份验证数据库中的用户要求管理访问权限与 admin 域中的
用户类似,则通常会有其他配置和考虑。
admin
联合身份提供了一种使用现有凭证的方式,通过一组凭证在多个授权云中提供的多个端点(如服务器、卷和数据库)访问云资源,而无需多次置备额外的身份或登录。该凭据由用户的身份提供程序维护。
身份服务可以在 SQL 数据库中存储用户凭据,也可以使用与 LDAP 兼容的目录服务器。Identity 数据库可能与其他 OpenStack 服务使用的数据库分开,以减少被存储凭证的破坏的风险。
当您使用用户名和密码进行身份验证时,身份不会对密码强度、过期或失败的身份验证尝试强制执行策略。要强制使用更强大的密码策略的组织应考虑使用身份扩展或外部身份验证服务。
LDAP 简化了将身份身份验证集成到组织的现有目录服务和用户帐户管理流程中。OpenStack 中的身份验证和授权策略可能会委派给其他服务。典型的用例是寻求部署私有云的组织,已在 LDAP 系统中拥有员工和用户的数据库。使用此作为身份验证授权机构,对身份服务的请求被委派给 LDAP 系统,然后根据其策略授权或拒绝。身份验证成功后,身份服务会生成令牌,用于访问授权服务。
请注意,如果 LDAP 系统为用户定义了属性,如 admin、finance、HR 等用户,则必须将它们映射到身份中的角色和组,以供各种 OpenStack 服务使用。/var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf
文件将 LDAP 属性映射到身份属性。