小编给大家分享一下openstack中如何实现policy鉴权,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
鉴权简介:
keystone用于认证,看用户是否是系统的合法用户,政策鉴权用于检查用户的操作是否被允许,openstack每个项目都有各自对应的政策鉴权。对应都有一个policy文件,叫policy.json,里面定义了鉴权用的rules。
以cinder为例,policy文件的位置在:/etc/cinder/policy.json,下面先来看几条rules,了解其基本含义:
语法规则为:rule:[result]
rule:定义此规则的行为操作,通常对应一个action,以类似scope:action的形式给出,scope表示作用范围,action表示执行哪种操作
result: 表示这条rule的判定结果或者如何进行判定,比如 "volume_extension:quotas:delete": "is_admin:True",如果执行此操作的用户具有admin角色(role),则这条结果的判定结果就是True。
还有嵌套式规则的,比如"volume:delete_volume_metadata": "rule:admin_or_owner",表示volume:delete_volume_metadata这条规则得到的结果为admin_or_owner这条规则的结果,而admin_or_owner规则是这样的: "admin_or_owner": "is_admin:True or project_id:%(project_id)s",
如果调用这个操作的用户的角色是admin,就返回True,或者返回用户所属的project_id.
以上是“openstack中如何实现policy鉴权”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。