![Openstack 项目的任何成员都可以从仪表板删除任何内容吗?](https://linux22.com/image/763834/Openstack%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E4%BB%BB%E4%BD%95%E6%88%90%E5%91%98%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%E4%BB%AA%E8%A1%A8%E6%9D%BF%E5%88%A0%E9%99%A4%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E5%90%97%EF%BC%9F.png)
刚刚安装了 Openstack victoria。之前使用的是旧版本。出于某种原因,我在网上搜索这个问题时遇到了一些麻烦。
要点:具有项目“成员”角色的用户可以删除该项目中的任何内容,包括管理员角色添加的项目(例如路由器,网络,一览图像)。
更多详细信息:我创建了一个项目“myproject”和用户“myuser”。我将“myuser”添加到角色“成员”并登录到 Horizon 仪表板。此用户可以启动实例,一切正常。但是,我后来意识到,无意中,该用户可以删除路由器、网络、glance 图像以及项目中的任何内容。这不是我想要的行为。
我不确定这是我之前安装的 openstack 的默认行为,但现在我该如何阻止这种行为(例如我想将用户添加到项目中,并让他们能够启动实例,但是不是能够删除 Glance 图像、网络、路由器等。出于某种原因,我在网上很难找到这个。
注:我刚刚发现这个旧条目其中概述了如何防止用户 1 删除用户 2 的实例。但那只是实例。
答案1
这个答案真的要感谢 Berndbausch,他为我指明了正确的方向:
在评论中,berndbausch 提到Nova 配置指南。与大多数 Openstack 文档一样,它实际上已经过时了,正如顶部的警告所示。在该页面上,有一个简短的政策部分,它还会将您引导至政策概念页面(我已将两个 URL 更改为指向 Victoria,因为默认情况下 openstack 在 URL 中有“latest”,这确实不是指向最新版本)。
政策概念页面是链接在这里。
本质上,解决方案是你仍然可以编写策略文件,正如 berndbausch 指出的那样,nova 在安装时会生成一个默认策略文件,位于此处。请注意,在该页面的顶部,该策略也以 json 形式提供。
可以在该文件中修改策略,或者阅读我上面链接的概念页面,实际上可以使用一些内置的系统阅读器和成员阅读器角色,但我不能 100% 确定如何在运行中在角色之间切换,但是,修改策略可以让我到达我想要去的地方。