OpenStack执行flavor create命令返回403权限错误如何解决
OpenStack flavor创建403权限错误解决方案
该报错Policy doesn't allow os_compute_api:os-flavor-manage:create to be performed. (HTTP 403)属于Nova服务的策略权限拦截问题,与执行命令的shell环境无关,因此切换pipenv shell无法解决问题,可按以下方案逐一排查处理:
方案1:使用admin权限账号执行操作
OpenStack默认仅持有admin角色的用户拥有flavor管理权限,操作步骤如下:
- 加载admin账号的认证环境变量(文件路径根据你的实际部署调整,通常为部署节点的
admin-openrc.sh):source /path/to/admin-openrc.sh - 重新执行flavor创建命令:
openstack flavor create --ram 2048 --disk 20 --vcpus 1 csirtmu.tiny1x2
方案2:给当前用户授予flavor管理权限
如果需要使用非admin账号执行flavor创建操作,可通过admin账号给对应用户授权:
- 授予全量admin权限(操作简单,适合测试环境):
openstack role add --user <当前用户名> --project <用户所属项目名> admin - 仅授予flavor创建权限(适合生产环境,权限最小化):
编辑Nova服务的策略配置文件,默认路径为
/etc/nova/policy.yaml,如果该文件不存在,可先通过oslopolicy-policy-generator --namespace nova > /etc/nova/policy.yaml生成默认策略文件
在policy.yaml中添加/修改如下规则:"os_compute_api:os-flavor-manage:create": "rule:admin_or_owner"
保存后重启nova-api服务生效:- Systemd裸机部署:
systemctl restart openstack-nova-api - K8s容器化部署:
kubectl rollout restart deployment nova-api -n openstack
- Systemd裸机部署:
方案3:临时放开全局flavor创建权限(仅测试环境推荐)
如果是本地开发测试环境,不需要严格权限管控,可直接修改nova配置放开限制:
- 编辑
/etc/nova/nova.conf,在[oslo_policy]配置段添加:policy_default_rule = admin_or_owner - 重启nova-api服务后生效,该操作会放开所有Nova接口的默认admin权限限制,生产环境禁止使用。
内容的提问来源于stack exchange,提问作者appleuser
相关产品推荐
相关产品推荐

