OSSN/OSSN-0055
< OSSN
服务帐户可能具有云管理员权限
总结
OpenStack 服务(例如 Nova 和 Glance)通常在 Keystone 中使用服务帐户来执行操作。在某些情况下,此服务帐户具有完全的管理员权限,因此可以对您的云执行任何操作,应适当保护。
受影响的服务 / 软件
大多数 OpenStack 服务 / 所有版本
讨论
在许多情况下,OpenStack 服务需要一个 OpenStack 帐户来执行 API 操作,例如验证 Keystone 令牌。一些部署工具会授予这些服务帐户管理级访问权限,从而使这些帐户非常强大。
具有管理员访问权限的服务帐户可用于
- 销毁/修改/访问数据
- 创建或销毁管理员帐户
- 可能升级到 undercloud 访问权限
- 登录到 Horizon
建议的操作
服务帐户可以使用“service”角色,而不是 admin 角色。您可以通过执行以下步骤来检查服务帐户具有的角色
1. 列出角色
openstack role list
2. 检查相关服务用户的角色分配
openstack role assignment list --user <service_user>
3. 将步骤 2 中“role”列中列出的 ID 与步骤 1 中列出的角色 ID 进行比较。如果角色显示为“admin”,则服务帐户在云上具有完全的管理员权限。
可以为某些帐户更改角色为“service”,但这可能会对 Nova 和 Neutron 等服务产生意外后果,因此不建议经验不足的管理员这样做。
如果服务帐户确实具有管理员权限,建议密切监控该用户的登录事件,以确保其未被意外使用。特别是,请注意使用服务帐户的异常 IP。
联系方式 / 参考文献
- 作者:Travis McPeak, HPE
- 作者:Brant Knudson, IBM
- 此 OSSN:https://wiki.openstack.org/wiki/OSSN/OSSN-0055
- 原始 LaunchPad Bug:https://bugs.launchpad.net/ossn/+bug/1464750
- OpenStack Security ML:openstack-security@lists.openstack.org
- OpenStack Security Group:https://launchpad.net/~openstack-ossg