4.6. 令牌
用户通过身份验证后,会生成一个令牌,以便授权和访问 OpenStack 环境。令牌可以具有变量生命周期,但到期的默认值是一小时。推荐的到期值应设置为较低的值,允许有足够的时间让内部服务完成任务。如果令牌在任务完成前过期,云可能会变得无响应或停止提供服务。计算服务使用期间的加快时间示例将是将磁盘镜像传输到 hypervisor 以便进行本地缓存所需的时间。
令牌通常在身份服务响应的更大上下文结构中传递。这些响应也提供各种 OpenStack 服务目录。每一服务均列出其名称、内部访问端点、管理和公共访问。身份服务支持令牌撤销。此清单作为 API 撤销令牌,列出已撤销的令牌和单独的 OpenStack 服务,以便缓存令牌来查询已撤销的令牌,并将它们从缓存中移除,并将相同的功能附加到已缓存的已撤销令牌列表中。Fernet 令牌是 Red Hat OpenStack Platform 13 中唯一支持的令牌。
4.6.1. Fernet 令牌 复制链接链接已复制到粘贴板!
Fernet 令牌现在是默认的令牌提供程序。Fernet 是明确设计为在 API 令牌中使用的安全消息传递格式。Fernet 令牌是非持久性(无需持久存于数据库)、轻量级(在 180 到 240 字节)并且减少了运行云所需的操作开销。身份验证和授权元数据捆绑到消息打包的载荷中,然后作为 Fernet 令牌进行加密并签名(在 180 到 240 字节)。
与 UUID、PKI 和 PKIZ 令牌不同,Fernet 令牌不需要持久性。keystone 令牌数据库不再受到身份验证的副作用。在使用 Fernet 令牌时,不再需要从令牌数据库修剪已过期的令牌。由于 Fernet 令牌是非持久性的,因此不必复制它们。只要每个 keystone 节点共享相同的存储库,就可以在节点间立即创建和验证 Fernet 令牌。
与 PKI 和 PKIZ 令牌相比,Fernet 令牌的大小较小;通常保持在 250 字节限值下。对于 PKI 和 PKIZ 令牌,较大的服务目录将导致令牌长度较长。Fernet 令牌没有此模式,因为加密载荷的内容保持为最小值。
有关 Fernet 令牌和轮转 Fernet 密钥的详情,请参考 https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/13/html-single/deploy_fernet_on_the_overcloud/。