RBAC 操作与实现

本文介绍了OpenStack中的RBAC策略框架,详细阐述了如何通过RBAC进行网络和QoS策略的共享,包括创建、查看、删除RBAC策略的操作步骤,并探讨了RBAC的数据模型和代码实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 RBAC简介

RBAC(Role-Based Access Control)策略框架使得操作者允许一个或多个项目(租户)访问自己的资源。通过创建rbac_policy,指定action{access_as_share,access_as_external}、target_tenant_id、object_type{network, qos_policy}等参数来完成。

    RBAC可指定网络、qos_policy两种资源类型对其他租户共享。若创建的网络或者qos_policy 是shared,则表示已创建rbac_policy,其target_tenant=*。

使用RBAC,其他项目能够在可访问的网络上创建端口(L版已支持);向可访问的网络或端口绑定QoS策略(M版支持);向网络绑定router gateway(M版支持)。

默认policy.json文件允许普通租户与其他指定的project共享objects。若阻止这种行为,可将create_rbac_policy调整为rule:admin_only.

 

2 RBAC操作命令

2.1网络共享

1.     指定demo项目来访问admin创建的网络net1,在demo项目下指定net1创建端口。

Admin租户下创建网络net1:


创建policy entry,使得demo用户能够访问网络net1.


进入demo用户,执行net-list,并在net1上创建端口


阻止demo用户访问admin下的网络net1.只需删除RBAC policy。注:demo租户下创建的端口必须先删除,才可删除demo访问权限。


2.2 qos_policy 共享

Demo项目可访问admin租户下的QoS policy

Admin 租户下创建 QoS policy qos1


创建rbac策略


在demo租户下执行qos-policy-list,qos-policy-show命令能够看到admin创建的qos policy. Demo租户可使用该qos policy绑定自身的端口或网络,其他租户不能看到和使用。

取消demo租户使用secret-policy,需执行rbac-delete命令。如果demo租户将secret-policy与端口进行绑定操作,需要先取消绑定,才能执行rbac-delete操作。


2.3设置外部网络

Admin 租户下创建非外部网络,demo租户有权访问该网络并设置成外部网络。

Admin租户下创建网络net11-ext:


创建RBAC 策略:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值