19.5. 配置共享安全组
当您希望一个或多个 Red Hat OpenStack Platform (RHOSP)项目可以共享数据时,您可以使用 RHOSP Networking 服务(neutron) RBAC 策略功能共享安全组。您可以使用 OpenStack 客户端创建安全组和网络服务基于角色的访问控制(RBAC)策略。
您可以在实例创建过程中直接将安全组应用到实例,或应用到正在运行的实例上的端口。
您无法在实例创建过程中将基于角色的访问控制 (RBAC) 共享安全组直接应用到实例。要将 RBAC 共享安全组应用到实例,您必须首先创建端口,将共享安全组应用到该端口,然后将该端口分配给实例。请参阅向端口添加安全组。
先决条件
- 您至少有两个要共享的 RHOSP 项目。
在其中一个项目中(当前项目),您创建了要与其他项目 (目标项目)共享的安全组。
在本例中,创建了
ping_ssh
安全组:示例
$ openstack security group create ping_ssh
流程
- 登录到包含安全组的当前项目的 overcloud。
获取目标项目的名称或 ID。
$ openstack project list
获取您要在 RHOSP 项目之间共享的安全组的名称或 ID。
$ openstack security group list
使用前面步骤中的标识符,使用
openstack network rbac create
命令创建 RBAC 策略。在本例中,目标项目的 ID 是
32016615de5d43bb88de99e7f2e26a1e
。安全组的 ID 是5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
:示例
$ openstack network rbac create --target-project \ 32016615de5d43bb88de99e7f2e26a1e --action access_as_shared \ --type security_group 5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
--target-project
指定需要访问安全组的项目。
提示您可以使用
--target-all-projects
参数而不是--target-project <target-project>
以在所有项目中共享数据。默认情况下,只有 admin 用户具有此特权。--action access_as_shared
- 指定项目被允许执行的操作。
--type
- 表示目标对象是安全组。
5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
- 是被授予访问权限的特定安全组的 ID。
除了能够绑定到其端口外,目标项目也可以在运行 OpenStack 客户端 安全组
命令时访问安全组。其他用户(除管理员和所有者以外的)都无法访问安全组。
要删除目标项目的访问权限,请使用 openstack network rbac delete
命令删除允许该策略的 RBAC 策略。
其他资源
- 创建和管理实例指南中的 创建安全组
- 命令行界面参考中的 security group create
- 命令行界面参考中的 network rbac create