允许在密钥对名称中包含 @ 和 . (点) 字符

https://blueprints.launchpad.net/nova/+spec/allow-special-characters-in-keypair-name

问题描述

密钥对名称当前仅允许数字、ASCII 字母、短划线、下划线和空格。

当用户尝试插入任何其他字符时,会收到错误消息:“密钥对名称包含不安全的字符”。

允许在密钥对名称中使用 @ (at) 和 . (点) 字符,可以实现使用 user.name@host.name 格式。

更多上下文

检查由 https://opendev.org/openstack/nova/src/commit/5ea4f712c583c87a24eb6aafb6d3835d534a171c/nova/compute/api.py#L6422 进行

它由 https://opendev.org/openstack/nova/commit/c8b0a9a3be7ca276d91d470a629fdd0209812993 引入,以解决 https://bugs.launchpad.net/nova/+bug/937408

自那时起,只修改了一次,以在 https://opendev.org/openstack/nova/commit/ec0a65d81fd11d26be77b45827a4dd7c77711675 中包含空格

用例

一些最终用户习惯在密钥对名称中使用 user.name@host.name 格式,这可能是因为它是 ssh-keygen 生成的默认注释。

提议的变更

修改安全字符列表,以添加 @ (at) 和 . (点)。

备选方案

数据模型影响

REST API 影响

现有的微版本应继续禁止这些字符。新的微版本将允许这些字符。

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

升级影响

实现

负责人

主要负责人

nautik

其他贡献者

功能联络人

需要联络人

工作项

依赖项

测试

添加单元测试应该足以测试这些特殊字符。

文档影响

API 参考文档应说明允许密钥对名称使用哪些字符。请参阅 https://docs.openstack.org/api-ref/compute/?expanded=create-or-import-keypair-detail#create-or-import-keypair

参考资料

关于需要新的 API 微版本的 IRC 讨论:http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2021-03-19.log.html#t2021-03-19T10:02:01

历史

修订版

发布名称

描述

Xena

引入