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